> ## Documentation Index
> Fetch the complete documentation index at: https://docs.polymorfa.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List ban safe health

> Lists present Health, findings counts, and the active Polymorfa restriction for every number in one project. Health is a 0 to 100 estimate from rules v1 or a validated learned model. It remains null until enough fresh evidence is available.

Requires `sessions:read`. Project tokens only access resources in their own project.



## OpenAPI

````yaml api-reference/features/operate.json GET /platform/bansafe/health
openapi: 3.0.3
info:
  title: Operate API methods
  version: 1.0.0
  description: Task-focused operate methods across supported Polymorfa connection types.
servers: []
security: []
paths:
  /platform/bansafe/health:
    get:
      tags:
        - Bansafe
      summary: List ban safe health
      description: >-
        Lists present Health, findings counts, and the active Polymorfa
        restriction for every number in one project. Health is a 0 to 100
        estimate from rules v1 or a validated learned model. It remains null
        until enough fresh evidence is available.


        Requires `sessions:read`. Project tokens only access resources in their
        own project.
      operationId: managementListBanSafeHealth
      parameters:
        - name: projectId
          in: query
          required: false
          schema:
            type: string
          description: Identifier of the Polymorfa project that owns this resource.
        - name: cursor
          in: query
          required: false
          schema:
            type: string
          description: Specifies cursor for this query parameter.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 25
          description: |-
            Specifies limit for this query parameter.

            <!-- polymorfa-input-table -->
            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | Numeric value | `1` through `100` (inclusive) |
      responses:
        '200':
          description: Success
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Stable request correlation identifier.
            Polymorfa-Version:
              schema:
                type: string
              description: API version applied to this response.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/management__BanSafeNumber'
                    description: Structured data carried by this object.
                  page:
                    allOf:
                      - $ref: '#/components/schemas/management__CursorPageMetadata'
                    description: Specifies page for this schema.
                required:
                  - data
                  - page
        '400':
          $ref: '#/components/responses/management__BadRequest'
        '401':
          $ref: '#/components/responses/management__Unauthorized'
        '403':
          $ref: '#/components/responses/management__Forbidden'
        '404':
          $ref: '#/components/responses/management__NotFound'
      security:
        - management__ApiKeyAuth: []
      servers:
        - url: https://api.polymorfa.com
        - url: http://localhost:8080
          description: local dev
components:
  schemas:
    management__BanSafeNumber:
      type: object
      additionalProperties: false
      properties:
        sessionId:
          type: string
          format: uuid
          description: |-
            Identifier of the connected Polymorfa session.

            <!-- polymorfa-input-table -->
            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | Format | `uuid` |
        session:
          type: string
          description: Identifier of the connected Polymorfa session.
        phoneNumber:
          type: string
          description: Phone number in international format.
        projectId:
          type: string
          format: uuid
          description: |-
            Identifier of the Polymorfa project that owns this resource.

            <!-- polymorfa-input-table -->
            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | Format | `uuid` |
        health:
          type: number
          minimum: 0
          maximum: 100
          nullable: true
          description: >-
            Estimate of present account Health. Higher is healthier. Read
            healthSource, healthReliability, and healthFeatureCoverage with it.


            <!-- polymorfa-input-table -->

            **Accepted alternatives**

            | Alternative | Accepted input |

            | --- | --- |

            | Alternative 1 | Type: `number`; Numeric value: `0` through `100`
            (inclusive) |

            | Alternative 2 | `null` |


            **Value constraints**

            | Constraint | Accepted input |

            | --- | --- |

            | Numeric value | `0` through `100` (inclusive) |
        band:
          type: string
          enum:
            - good
            - fair
            - poor
            - failing
            - unknown
          description: |-
            Specifies band for this management ban safe number.

            <!-- polymorfa-input-table -->
            **Allowed values**
            | Value | Meaning |
            | --- | --- |
            | `good` | Good. |
            | `fair` | Fair. |
            | `poor` | Poor. |
            | `failing` | Failing. |
            | `unknown` | Unknown. |
        healthSource:
          type: string
          enum:
            - rules_v1
            - ml_model
            - unavailable
          description: >-
            Estimator family. rules_v1 is deterministic; unavailable carries no
            numeric Health.


            <!-- polymorfa-input-table -->

            **Allowed values**

            | Value | Meaning |

            | --- | --- |

            | `rules_v1` | Rules v1. |

            | `ml_model` | Ml model. |

            | `unavailable` | Unavailable. |
        healthEstimatorVersion:
          type: string
          nullable: true
          description: |-
            Version of the estimator that produced Health.

            <!-- polymorfa-input-table -->
            **Accepted alternatives**
            | Alternative | Accepted input |
            | --- | --- |
            | Alternative 1 | Type: `string` |
            | Alternative 2 | `null` |
        healthModelVersion:
          type: string
          nullable: true
          description: |-
            Learned-model artifact version. Null for rules_v1.

            <!-- polymorfa-input-table -->
            **Accepted alternatives**
            | Alternative | Accepted input |
            | --- | --- |
            | Alternative 1 | Type: `string` |
            | Alternative 2 | `null` |
        healthEvaluatedAt:
          type: string
          format: date-time
          nullable: true
          description: |-
            Timestamp for health evaluated at.

            <!-- polymorfa-input-table -->
            **Accepted alternatives**
            | Alternative | Accepted input |
            | --- | --- |
            | Alternative 1 | Type: `string`; Format: `date-time` |
            | Alternative 2 | `null` |

            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | Format | `date-time` |
        healthFeatureCoverage:
          type: number
          minimum: 0
          maximum: 1
          nullable: true
          description: >-
            Specifies health feature coverage for this management ban safe
            number.


            <!-- polymorfa-input-table -->

            **Accepted alternatives**

            | Alternative | Accepted input |

            | --- | --- |

            | Alternative 1 | Type: `number`; Numeric value: `0` through `1`
            (inclusive) |

            | Alternative 2 | `null` |


            **Value constraints**

            | Constraint | Accepted input |

            | --- | --- |

            | Numeric value | `0` through `1` (inclusive) |
        healthReliability:
          type: string
          enum:
            - rules_based
            - validated
            - unavailable
          description: |-
            Support category, not a confidence score.

            <!-- polymorfa-input-table -->
            **Allowed values**
            | Value | Meaning |
            | --- | --- |
            | `rules_based` | Rules based. |
            | `validated` | Validated. |
            | `unavailable` | Unavailable. |
        healthUnavailableReason:
          type: string
          nullable: true
          enum:
            - no_active_model
            - invalid_active_model
            - insufficient_fresh_features
            - null
          description: >-
            Specifies health unavailable reason for this management ban safe
            number.


            <!-- polymorfa-input-table -->

            **Allowed values**

            | Value | Meaning |

            | --- | --- |

            | `no_active_model` | No active model. |

            | `invalid_active_model` | Invalid active model. |

            | `insufficient_fresh_features` | Insufficient fresh features. |

            | `null` | Null. |


            **Accepted alternatives**

            | Alternative | Accepted input |

            | --- | --- |

            | Alternative 1 | Type: `string`; Value `no_active_model` or
            `invalid_active_model` or `insufficient_fresh_features` |

            | Alternative 2 | `null` |
        healthProbabilities:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/management__BanSafeHealthProbabilities'
          description: >-
            Specifies health probabilities for this management ban safe number.


            <!-- polymorfa-input-table -->

            **Accepted alternatives**

            | Alternative | Accepted input |

            | --- | --- |

            | Alternative 1 | Type: `object`; Required fields: `healthy`,
            `limited`, `restricted`, `banned` |

            | Alternative 2 | `null` |
        mostLikelyHealthState:
          type: string
          enum:
            - healthy
            - limited
            - restricted
            - banned
            - null
          nullable: true
          description: >-
            Specifies most likely health state for this management ban safe
            number.


            <!-- polymorfa-input-table -->

            **Allowed values**

            | Value | Meaning |

            | --- | --- |

            | `healthy` | Healthy. |

            | `limited` | Limited. |

            | `restricted` | Restricted. |

            | `banned` | Banned. |

            | `null` | Null. |


            **Accepted alternatives**

            | Alternative | Accepted input |

            | --- | --- |

            | Alternative 1 | Type: `string`; Value `healthy` or `limited` or
            `restricted` or `banned` |

            | Alternative 2 | `null` |
        healthExplanation:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/management__BanSafeHealthExplanation'
          description: >-
            Specifies health explanation for this management ban safe number.


            <!-- polymorfa-input-table -->

            **Accepted alternatives**

            | Alternative | Accepted input |

            | --- | --- |

            | Alternative 1 | Type: `object`; Required fields: `penalties`,
            `factors`, `measuredGroups`, `missingGroups` |

            | Alternative 2 | `null` |
        observedAccountState:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/management__BanSafeObservedAccountState'
          description: >-
            Specifies observed account state for this management ban safe
            number.


            <!-- polymorfa-input-table -->

            **Accepted alternatives**

            | Alternative | Accepted input |

            | --- | --- |

            | Alternative 1 | Type: `object`; Field `state`: `healthy` or
            `limited` or `restricted` or `banned`; Field `source`:
            `account_check` or `restriction_event`; Required fields: `state`,
            `observedAt`, `source` |

            | Alternative 2 | `null` |
        enforcement:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/management__BanSafeNumberEnforcement'
          description: >-
            Specifies enforcement for this management ban safe number.


            <!-- polymorfa-input-table -->

            **Accepted alternatives**

            | Alternative | Accepted input |

            | --- | --- |

            | Alternative 1 | Type: `object`; Field `rung`: `none` or `notify`
            or `throttle` or `block_cold` or `suspend`; Field `previousRung`:
            `none` or `notify` or `throttle` or `block_cold` or `suspend`; Field
            `organizationFloor`: `none` or `notify` or `throttle` or
            `block_cold` or `suspend`; Field `source`: `automatic` or
            `operator`; Field `appealState`: `none` or `requested` or `granted`
            or `denied`; Field `state`: `applied` or `applying`; Required
            fields: `rung`, `previousRung`, `organizationFloor`, `reason`,
            `source`, `throughputPerMinute`, `blocksUnsolicited`, `suspended`,
            `startedAt`, `eligibleLiftAt`, `exitProgress`, `blockingFindings`,
            `operatorHold`, `appealState`, `state` |

            | Alternative 2 | `null` |
      required:
        - sessionId
        - session
        - phoneNumber
        - projectId
        - health
        - band
        - healthSource
        - healthEstimatorVersion
        - healthModelVersion
        - healthEvaluatedAt
        - healthFeatureCoverage
        - healthReliability
        - healthUnavailableReason
        - healthProbabilities
        - mostLikelyHealthState
        - healthExplanation
        - observedAccountState
        - enforcement
    management__CursorPageMetadata:
      type: object
      additionalProperties: false
      properties:
        nextCursor:
          type: string
          nullable: true
          description: |-
            Specifies next cursor for this management cursor page metadata.

            <!-- polymorfa-input-table -->
            **Accepted alternatives**
            | Alternative | Accepted input |
            | --- | --- |
            | Alternative 1 | Type: `string` |
            | Alternative 2 | `null` |
        hasMore:
          type: boolean
          description: Whether more.
      required:
        - nextCursor
        - hasMore
    management__BanSafeHealthProbabilities:
      type: object
      additionalProperties: false
      properties:
        healthy:
          type: number
          minimum: 0
          maximum: 1
          description: |-
            Specifies healthy for this management ban safe health probability.

            <!-- polymorfa-input-table -->
            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | Numeric value | `0` through `1` (inclusive) |
        limited:
          type: number
          minimum: 0
          maximum: 1
          description: |-
            Specifies limited for this management ban safe health probability.

            <!-- polymorfa-input-table -->
            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | Numeric value | `0` through `1` (inclusive) |
        restricted:
          type: number
          minimum: 0
          maximum: 1
          description: >-
            Specifies restricted for this management ban safe health
            probability.


            <!-- polymorfa-input-table -->

            **Value constraints**

            | Constraint | Accepted input |

            | --- | --- |

            | Numeric value | `0` through `1` (inclusive) |
        banned:
          type: number
          minimum: 0
          maximum: 1
          description: |-
            Specifies banned for this management ban safe health probability.

            <!-- polymorfa-input-table -->
            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | Numeric value | `0` through `1` (inclusive) |
      required:
        - healthy
        - limited
        - restricted
        - banned
    management__BanSafeHealthExplanation:
      type: object
      additionalProperties: false
      description: >-
        Bounded rules-v1 inputs and deductions. It is not a forecast or
        confidence score.
      properties:
        penalties:
          type: object
          additionalProperties: false
          properties:
            conduct:
              type: number
              minimum: 0
              maximum: 100
              description: |-
                Specifies conduct for this penalty.

                <!-- polymorfa-input-table -->
                **Value constraints**
                | Constraint | Accepted input |
                | --- | --- |
                | Numeric value | `0` through `100` (inclusive) |
            delivery:
              type: number
              minimum: 0
              maximum: 100
              description: |-
                Specifies delivery for this penalty.

                <!-- polymorfa-input-table -->
                **Value constraints**
                | Constraint | Accepted input |
                | --- | --- |
                | Numeric value | `0` through `100` (inclusive) |
            connection:
              type: number
              minimum: 0
              maximum: 100
              description: |-
                Specifies connection for this penalty.

                <!-- polymorfa-input-table -->
                **Value constraints**
                | Constraint | Accepted input |
                | --- | --- |
                | Numeric value | `0` through `100` (inclusive) |
            restriction:
              type: number
              minimum: 0
              maximum: 100
              description: |-
                Specifies restriction for this penalty.

                <!-- polymorfa-input-table -->
                **Value constraints**
                | Constraint | Accepted input |
                | --- | --- |
                | Numeric value | `0` through `100` (inclusive) |
            total:
              type: number
              minimum: 0
              maximum: 100
              description: |-
                Final total for this order or price summary.

                <!-- polymorfa-input-table -->
                **Value constraints**
                | Constraint | Accepted input |
                | --- | --- |
                | Numeric value | `0` through `100` (inclusive) |
          required:
            - conduct
            - delivery
            - connection
            - restriction
            - total
          description: >-
            Structured penalties values for this management ban safe health
            explanation.
        factors:
          type: array
          maxItems: 8
          items:
            $ref: '#/components/schemas/management__BanSafeHealthExplanationFactor'
          description: |-
            Factors associated with this management ban safe health explanation.

            <!-- polymorfa-input-table -->
            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | Array size | At most `8` items |
        measuredGroups:
          type: array
          maxItems: 5
          uniqueItems: true
          items:
            type: string
            enum:
              - direct_condition
              - delivery
              - connection
              - conduct
              - cadence
          description: >-
            Measured groups associated with this management ban safe health
            explanation.


            <!-- polymorfa-input-table -->

            **Allowed item values**

            | Item value | Meaning |

            | --- | --- |

            | `direct_condition` | Direct condition. |

            | `delivery` | Delivery. |

            | `connection` | Connection. |

            | `conduct` | Conduct. |

            | `cadence` | Cadence. |


            **Value constraints**

            | Constraint | Accepted input |

            | --- | --- |

            | Array size | At most `5` items |

            | Duplicates | Not accepted; every array item must be unique |
        missingGroups:
          type: array
          maxItems: 5
          uniqueItems: true
          items:
            type: string
            enum:
              - direct_condition
              - delivery
              - connection
              - conduct
              - cadence
          description: >-
            Missing groups associated with this management ban safe health
            explanation.


            <!-- polymorfa-input-table -->

            **Allowed item values**

            | Item value | Meaning |

            | --- | --- |

            | `direct_condition` | Direct condition. |

            | `delivery` | Delivery. |

            | `connection` | Connection. |

            | `conduct` | Conduct. |

            | `cadence` | Cadence. |


            **Value constraints**

            | Constraint | Accepted input |

            | --- | --- |

            | Array size | At most `5` items |

            | Duplicates | Not accepted; every array item must be unique |
      required:
        - penalties
        - factors
        - measuredGroups
        - missingGroups
    management__BanSafeObservedAccountState:
      type: object
      additionalProperties: false
      description: Direct account-state evidence. This is not an ML estimate.
      properties:
        state:
          type: string
          enum:
            - healthy
            - limited
            - restricted
            - banned
          description: |-
            Current lifecycle state of this resource.

            <!-- polymorfa-input-table -->
            **Allowed values**
            | Value | Meaning |
            | --- | --- |
            | `healthy` | Healthy. |
            | `limited` | Limited. |
            | `restricted` | Restricted. |
            | `banned` | Banned. |
        observedAt:
          type: string
          format: date-time
          description: |-
            ISO 8601 timestamp when Polymorfa observed this state.

            <!-- polymorfa-input-table -->
            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | Format | `date-time` |
        source:
          type: string
          enum:
            - account_check
            - restriction_event
          description: >-
            Specifies source for this management ban safe observed account
            state.


            <!-- polymorfa-input-table -->

            **Allowed values**

            | Value | Meaning |

            | --- | --- |

            | `account_check` | Account check. |

            | `restriction_event` | Restriction event. |
      required:
        - state
        - observedAt
        - source
    management__BanSafeNumberEnforcement:
      type: object
      additionalProperties: false
      properties:
        rung:
          type: string
          enum:
            - none
            - notify
            - throttle
            - block_cold
            - suspend
          description: |-
            Specifies rung for this management ban safe number enforcement.

            <!-- polymorfa-input-table -->
            **Allowed values**
            | Value | Meaning |
            | --- | --- |
            | `none` | None. |
            | `notify` | Notify. |
            | `throttle` | Throttle. |
            | `block_cold` | Block cold. |
            | `suspend` | Suspend. |
        previousRung:
          type: string
          enum:
            - none
            - notify
            - throttle
            - block_cold
            - suspend
          description: >-
            Specifies previous rung for this management ban safe number
            enforcement.


            <!-- polymorfa-input-table -->

            **Allowed values**

            | Value | Meaning |

            | --- | --- |

            | `none` | None. |

            | `notify` | Notify. |

            | `throttle` | Throttle. |

            | `block_cold` | Block cold. |

            | `suspend` | Suspend. |
        organizationFloor:
          type: string
          enum:
            - none
            - notify
            - throttle
            - block_cold
            - suspend
          description: |-
            The lowest restriction every number in this workspace is held to.

            <!-- polymorfa-input-table -->
            **Allowed values**
            | Value | Meaning |
            | --- | --- |
            | `none` | None. |
            | `notify` | Notify. |
            | `throttle` | Throttle. |
            | `block_cold` | Block cold. |
            | `suspend` | Suspend. |
        reason:
          type: string
          description: Reason for the reported state or outcome.
        source:
          type: string
          enum:
            - automatic
            - operator
          description: |-
            Specifies source for this management ban safe number enforcement.

            <!-- polymorfa-input-table -->
            **Allowed values**
            | Value | Meaning |
            | --- | --- |
            | `automatic` | Automatic. |
            | `operator` | Operator. |
        throughputPerMinute:
          type: number
          nullable: true
          description: >-
            Messages per minute this number is paced to, or null when it is not
            paced.


            <!-- polymorfa-input-table -->

            **Accepted alternatives**

            | Alternative | Accepted input |

            | --- | --- |

            | Alternative 1 | Type: `number` |

            | Alternative 2 | `null` |
        blocksUnsolicited:
          type: boolean
          description: >-
            First messages to people who never wrote to this number are refused
            outside Campaigns.
        suspended:
          type: boolean
          description: >-
            This number cannot originate a message. It still receives, reads,
            and shows presence.
        startedAt:
          type: string
          format: date-time
          description: |-
            Timestamp for started at.

            <!-- polymorfa-input-table -->
            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | Format | `date-time` |
        eligibleLiftAt:
          type: string
          format: date-time
          nullable: true
          description: |-
            Timestamp for eligible lift at.

            <!-- polymorfa-input-table -->
            **Accepted alternatives**
            | Alternative | Accepted input |
            | --- | --- |
            | Alternative 1 | Type: `string`; Format: `date-time` |
            | Alternative 2 | `null` |

            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | Format | `date-time` |
        exitProgress:
          type: integer
          minimum: 0
          description: |-
            Consecutive checks already passed toward lifting.

            <!-- polymorfa-input-table -->
            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | Numeric value | `0` or greater |
        blockingFindings:
          type: array
          items:
            type: string
          description: >-
            Blocking findings associated with this management ban safe number
            enforcement.
        operatorHold:
          type: boolean
          description: Whether operator hold.
        appealState:
          type: string
          enum:
            - none
            - requested
            - granted
            - denied
          description: >-
            Specifies appeal state for this management ban safe number
            enforcement.


            <!-- polymorfa-input-table -->

            **Allowed values**

            | Value | Meaning |

            | --- | --- |

            | `none` | None. |

            | `requested` | Requested. |

            | `granted` | Granted. |

            | `denied` | Denied. |
        state:
          type: string
          enum:
            - applied
            - applying
          description: |-
            `applying` while the number has not confirmed the restriction.

            <!-- polymorfa-input-table -->
            **Allowed values**
            | Value | Meaning |
            | --- | --- |
            | `applied` | Applied. |
            | `applying` | Applying. |
      required:
        - rung
        - previousRung
        - organizationFloor
        - reason
        - source
        - throughputPerMinute
        - blocksUnsolicited
        - suspended
        - startedAt
        - eligibleLiftAt
        - exitProgress
        - blockingFindings
        - operatorHold
        - appealState
        - state
    management__ErrorEnvelope:
      type: object
      required:
        - error
        - data
        - docs
      properties:
        error:
          type: object
          required:
            - type
            - code
            - message
            - param
          properties:
            type:
              type: string
              enum:
                - invalid_request_error
                - authentication_error
                - permission_error
                - conflict_error
                - rate_limit_error
                - api_error
                - upstream_error
              description: |-
                Type discriminator for this object.

                <!-- polymorfa-input-table -->
                **Allowed values**
                | Value | Meaning |
                | --- | --- |
                | `invalid_request_error` | Invalid request error. |
                | `authentication_error` | Authentication error. |
                | `permission_error` | Permission error. |
                | `conflict_error` | Conflict error. |
                | `rate_limit_error` | Rate limit error. |
                | `api_error` | Api error. |
                | `upstream_error` | Upstream error. |
            code:
              type: string
              description: Stable failure code. Use this value for programmatic handling.
            message:
              type: string
              description: Safe explanation of the failure.
            param:
              type: string
              nullable: true
              description: |-
                Invalid request field, or null when no field applies.

                <!-- polymorfa-input-table -->
                **Accepted alternatives**
                | Alternative | Accepted input |
                | --- | --- |
                | Alternative 1 | Type: `string` |
                | Alternative 2 | `null` |
          description: Error details returned when the operation fails.
        data:
          type: string
          nullable: true
          enum:
            - null
          description: |-
            Always null for a failed request.

            <!-- polymorfa-input-table -->
            **Allowed values**
            | Value | Meaning |
            | --- | --- |
            | `null` | Null. |

            **Accepted alternatives**
            | Alternative | Accepted input |
            | --- | --- |
            | Alternative 1 | Type: `string` |
            | Alternative 2 | `null` |
        docs:
          type: string
          format: uri
          description: |-
            Documentation link to this failure code.

            <!-- polymorfa-input-table -->
            **Value constraints**
            | Constraint | Accepted input |
            | --- | --- |
            | Format | `uri` |
    management__BanSafeHealthExplanationFactor:
      type: object
      additionalProperties: false
      description: >-
        One factual rules-v1 input. penalty is the number of Health points this
        input subtracts.
      properties:
        group:
          type: string
          enum:
            - direct_condition
            - delivery
            - connection
            - conduct
            - cadence
          description: >-
            Specifies group for this management ban safe health explanation
            factor.


            <!-- polymorfa-input-table -->

            **Allowed values**

            | Value | Meaning |

            | --- | --- |

            | `direct_condition` | Direct condition. |

            | `delivery` | Delivery. |

            | `connection` | Connection. |

            | `conduct` | Conduct. |

            | `cadence` | Cadence. |
        key:
          type: string
          enum:
            - observed_limited
            - observed_restricted
            - observed_banned
            - send_failures
            - receipt_errors
            - server_ack_tail
            - connection_failures
            - connection_churn
            - connection_disconnected
            - auto_reconnect_errors
            - keep_alive_errors
            - unanswered_first_contacts
            - unsolicited_sends
            - send_burst
            - fixed_send_rhythm
          description: >-
            Specifies key for this management ban safe health explanation
            factor.


            <!-- polymorfa-input-table -->

            **Allowed values**

            | Value | Meaning |

            | --- | --- |

            | `observed_limited` | Observed limited. |

            | `observed_restricted` | Observed restricted. |

            | `observed_banned` | Observed banned. |

            | `send_failures` | Send failures. |

            | `receipt_errors` | Receipt errors. |

            | `server_ack_tail` | Server ack tail. |

            | `connection_failures` | Connection failures. |

            | `connection_churn` | Connection churn. |

            | `connection_disconnected` | Connection disconnected. |

            | `auto_reconnect_errors` | Auto reconnect errors. |

            | `keep_alive_errors` | Keep alive errors. |

            | `unanswered_first_contacts` | Unanswered first contacts. |

            | `unsolicited_sends` | Unsolicited sends. |

            | `send_burst` | Send burst. |

            | `fixed_send_rhythm` | Fixed send rhythm. |
        penalty:
          type: number
          minimum: 0
          maximum: 100
          description: >-
            Specifies penalty for this management ban safe health explanation
            factor.


            <!-- polymorfa-input-table -->

            **Value constraints**

            | Constraint | Accepted input |

            | --- | --- |

            | Numeric value | `0` through `100` (inclusive) |
        observedValue:
          type: number
          description: >-
            Specifies observed value for this management ban safe health
            explanation factor.
        sampleSize:
          type: integer
          minimum: 0
          description: >-
            Specifies sample size for this management ban safe health
            explanation factor.


            <!-- polymorfa-input-table -->

            **Value constraints**

            | Constraint | Accepted input |

            | --- | --- |

            | Numeric value | `0` or greater |
      required:
        - group
        - key
        - penalty
        - observedValue
        - sampleSize
  responses:
    management__BadRequest:
      description: A path, query, or request-body value did not pass validation.
      headers:
        X-Request-Id:
          schema:
            type: string
          description: Stable request correlation identifier.
        Polymorfa-Version:
          schema:
            type: string
          description: API version applied to this response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/management__ErrorEnvelope'
    management__Unauthorized:
      description: Missing/invalid credential for this audience.
      headers:
        X-Request-Id:
          schema:
            type: string
          description: Stable request correlation identifier.
        Polymorfa-Version:
          schema:
            type: string
          description: API version applied to this response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/management__ErrorEnvelope'
    management__Forbidden:
      description: Authenticated but lacks the required scope/role/audience.
      headers:
        X-Request-Id:
          schema:
            type: string
          description: Stable request correlation identifier.
        Polymorfa-Version:
          schema:
            type: string
          description: API version applied to this response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/management__ErrorEnvelope'
    management__NotFound:
      description: >-
        The requested resource was not found inside the authenticated
        organization or project scope.
      headers:
        X-Request-Id:
          schema:
            type: string
          description: Stable request correlation identifier.
        Polymorfa-Version:
          schema:
            type: string
          description: API version applied to this response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/management__ErrorEnvelope'
  securitySchemes:
    management__ApiKeyAuth:
      type: http
      scheme: bearer
      description: >-
        Polymorfa server credential: a scoped pmfa_ organization key, or a
        pmfa_pt_ project token on project- and session-bound operations inside
        its exact authenticated project. Keys may be personal or service-account
        owned. Both enforce selected action scopes; organization keys can
        address team resources and every project in the organization. Listener
        and browser client credentials are rejected.

````