---
title: "PolicyCoverageChangesRequestItem"
url: "https://developers.zinnia.com/apis/policy-transactions-1-0-2/versions/d0006570-ab9d-464e-814f-d120ba425e84/schemas/PolicyCoverageChangesRequestItem"
---

> Full API specification: https://developers.zinnia.com/apis/policy-transactions-1-0-2/versions/d0006570-ab9d-464e-814f-d120ba425e84.md

# PolicyCoverageChangesRequestItem

A single policy-update request item. The shape of the remaining properties depends on requestType.

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: Zinnia Policy Transactions API.
  version: 1.0.9
servers:
  - url: https://dev.api.zinnia.io
    description: DEV Environment
  - url: https://qa.api.zinnia.io
    description: QA Environment
components:
  schemas:
    DeathBenefitOptionChange:
      type: object
      description: Death Benefit Option change request item
      properties:
        requestType:
          type: string
          enum:
            - DEATHBENEFITOPTIONCHANGE
          description: Discriminator identifying this item as a Death Benefit Option
            change request
          example: DEATHBENEFITOPTIONCHANGE
        coverageId:
          type: string
          description: Coverage ID received from the policy admin system
          example: Base_Coverage
        coverageType:
          $ref: "#/components/schemas/PolicyCoverageChangesCoverageType"
        deathBenefitOption:
          type: string
          enum:
            - LEVEL
            - INCREASING
          description: New death benefit option elected for the coverage
          example: LEVEL
        deathBenefitComplianceTest:
          type: string
          enum:
            - GPT
            - CVAT
          description: IRC compliance test the policy is administered under after the change
          example: GPT
      required:
        - requestType
        - deathBenefitOption
    BASECOVERAGEUPDATE:
      type: object
      description: Base coverage face-amount increase request item
      properties:
        requestType:
          type: string
          enum:
            - BASECOVERAGEUPDATE
          description: Discriminator identifying this item as a base coverage face-amount
            increase
          example: BASECOVERAGEUPDATE
        coverageId:
          type: string
          description: Identifier of the coverage whose face amount is being increased
          example: Base_Coverage
        coverageType:
          $ref: "#/components/schemas/PolicyCoverageChangesCoverageType"
        effectiveDate:
          type: string
          format: date
          description: Effective date of the face increase; defaults to the
            transaction-level effectiveDate when omitted
          example: 2026-07-15
        faceAmount:
          type: number
          format: double
          description: New total face amount for the coverage after the increase
          example: 250000
        tableRatings:
          $ref: "#/components/schemas/PolicyCoverageChangesTableRatings"
      required:
        - requestType
        - coverageId
        - coverageType
        - faceAmount
    Reclassification:
      type: object
      description: Risk-class reclassification request item
      properties:
        requestType:
          type: string
          enum:
            - RECLASSIFICATION
          description: Discriminator identifying this item as a risk-class reclassification
          example: RECLASSIFICATION
        coverageId:
          type: string
          description: Identifier of the coverage being reclassified
          example: Base_Coverage
        effectiveDate:
          type: string
          format: date
          description: Effective date of the reclassification; defaults to the
            transaction-level effectiveDate when omitted
          example: 2026-07-15
        coverageType:
          $ref: "#/components/schemas/PolicyCoverageChangesCoverageType"
        riskClass:
          $ref: "#/components/schemas/PolicyCoverageChangesRiskClass"
        tableRatings:
          $ref: "#/components/schemas/PolicyCoverageChangesTableRatings"
      required:
        - requestType
        - coverageId
        - coverageType
        - riskClass
    RiderAdd:
      type: object
      description: New rider addition request item
      properties:
        requestType:
          type: string
          enum:
            - RIDERADD
          description: Discriminator identifying this item as a new rider addition
          example: RIDERADD
        riderId:
          type: string
          description: Stable unique identifier assigned to this rider, used to target it
            in a later RIDERUPDATE
          example: Rider_ABRTRM_1
        type:
          $ref: "#/components/schemas/PolicyCoverageChangesRiderType"
        effectiveDate:
          type: string
          format: date
          description: Effective date of the rider addition; defaults to the
            transaction-level effectiveDate when omitted
          example: 2026-07-15
        faceAmount:
          type: number
          format: double
          description: Face amount of the rider being added; mandatory for face-amount
            based riders
          example: 25000
        premium:
          type: number
          format: double
          description: Premium associated with the new rider
          example: 15
        status:
          $ref: "#/components/schemas/PolicyCoverageChangesRiderAddStatus"
        optedForPolicy:
          type: string
          enum:
            - YES
            - NO
          description: Whether the rider election applies at the policy level
          example: YES
        tableRatings:
          $ref: "#/components/schemas/PolicyCoverageChangesTableRatings"
        party:
          type: array
          description: partyId reference(s) the rider applies to; must reference a party
            declared in the transaction's top-level parties array
          items:
            type: string
            example: 5f8f2f5c-6c3b-4e3b-8f2f-5c6c3b4e3b8f
      required:
        - requestType
        - type
        - status
        - optedForPolicy
        - party
    RiderUpdate:
      type: object
      description: >
        Update to an existing rider, including termination — submit
        status=TERMINATE rather than a separate request type to remove a rider.
      properties:
        requestType:
          type: string
          enum:
            - RIDERUPDATE
          description: Discriminator identifying this item as an update to an existing rider
          example: RIDERUPDATE
        riderId:
          type: string
          description: Identifier of the specific existing rider instance being updated,
            as returned/echoed on the originating RIDERADD
          example: Rider_ABRTRM_1
        type:
          $ref: "#/components/schemas/PolicyCoverageChangesRiderType"
        effectiveDate:
          type: string
          format: date
          description: Effective date of the rider update; defaults to the
            transaction-level effectiveDate when omitted
          example: 2026-07-15
        faceAmount:
          type: number
          format: double
          description: Updated face amount of the rider; mandatory for face-amount based
            riders, not applicable when status=TERMINATE
          example: 25000
        premium:
          type: number
          format: double
          description: Updated premium associated with the rider; not applicable when
            status=TERMINATE
          example: 15
        status:
          type: string
          enum:
            - ACTIVE
            - TERMINATE
          description: Status of the rider. TERMINATE is also the mechanism for removing a
            rider — submit this rather than a separate request type
          example: TERMINATE
        optedForPolicy:
          type: string
          enum:
            - YES
            - NO
          description: Whether the rider election applies at the policy level; mandatory
            unless status=TERMINATE
          example: YES
        tableRatings:
          $ref: "#/components/schemas/PolicyCoverageChangesTableRatings"
        party:
          type: array
          description: partyId reference(s) the rider applies to; must reference a party
            declared in the transaction's top-level parties array
          items:
            type: string
            example: 5f8f2f5c-6c3b-4e3b-8f2f-5c6c3b4e3b8f
        reasonCode:
          $ref: "#/components/schemas/PolicyCoverageChangesReasonCode"
      required:
        - requestType
        - type
        - status
        - party
    PolicyCoverageChangesCoverageType:
      type: string
      enum:
        - BASE
        - TERM
        - SUPPLEMENTAL
      description: Type of the coverage
      example: BASE
    PolicyCoverageChangesTableRatings:
      type: object
      description: Substandard rating applied as a result of the change, if any
      properties:
        tableRating:
          $ref: "#/components/schemas/PolicyCoverageChangesTableRating"
        flatExtras:
          type: array
          items:
            anyOf:
              - $ref: "#/components/schemas/PolicyCoverageChangesFlatExtraPermanent"
              - $ref: "#/components/schemas/PolicyCoverageChangesFlatExtraTemporary"
    PolicyCoverageChangesRiskClass:
      type: string
      enum:
        - ULTRANONTOBACCO
        - ELITENONTOBACCO
        - PREFERREDNONTOBACCO
        - STANDARDNONTOBACCO
        - STANDARDTOBACCO
        - STANDARDAGGREGATE
        - SUBSTANDARDNONTOBACCO
        - SUBSTANDARDTOBACCO
        - STANDARDPLUSNONTOBACCO
        - PREFERREDTOBACCO
        - STANDARDCONVERSIONNONTOBACCO
        - STANDARDCONVERSIONTOBACCO
      description: Risk classification assessed by underwriting
      example: ULTRANONTOBACCO
    PolicyCoverageChangesRiderType:
      type: string
      enum:
        - Rider_OWP
        - Rider_ABRTRM
        - Rider_CTR
        - Rider_ABRCHR
        - Rider_ADR
        - Rider_WPR
        - Rider_CGR
        - Rider_GIBR
        - Rider_OPR
        - Rider_OWDR
        - Rider_WDR
        - Rider_NHR
        - Rider_ABRCRI
      description: Rider product/plan code
      example: Rider_ABRTRM
    PolicyCoverageChangesRiderAddStatus:
      type: string
      enum:
        - ACTIVE
        - PENDING
        - INACTIVE
        - TERMINATE
      description: Status of the rider being added
      example: ACTIVE
    PolicyCoverageChangesReasonCode:
      type: string
      enum:
        - INSUREDREQUEST
        - REPLACED
        - NONPAYMENT
        - OTHER
      description: Reason for the rider update, particularly when status=TERMINATE
      example: INSUREDREQUEST
    PolicyCoverageChangesTableRating:
      type: string
      enum:
        - TABLEA
        - TABLEB
        - TABLEC
        - TABLED
        - TABLEE
        - TABLEF
        - TABLEG
        - TABLEH
        - TABLEI
        - TABLEJ
        - TABLEK
        - TABLEL
        - TABLEM
        - TABLEN
        - TABLEO
        - TABLEP
        - NONE
        - NONETABLE
      description: Substandard rating table applied, if any. Accepts both NONE (per
        the policy-update data mapping) and NONETABLE (the platform's
        established new-business convention) pending confirmation of a single
        canonical value.
      example: TABLEA
    PolicyCoverageChangesFlatExtraPermanent:
      type: object
      description: Permanent flat extra premium
      properties:
        type:
          type: string
          enum:
            - PERMANENT
          description: Whether the flat extra premium is permanent or temporary
          example: PERMANENT
        amount:
          type: number
          format: double
          description: Flat extra premium amount
          example: 250000
        duration:
          type: integer
          description: Duration the flat extra applies for; not applicable for a permanent
            flat extra
          example: 5
        durationType:
          type: string
          enum:
            - YEARS
            - MONTHS
          description: Unit of measure for the duration
          example: YEARS
      required:
        - type
        - amount
    PolicyCoverageChangesFlatExtraTemporary:
      type: object
      description: Temporary flat extra premium
      properties:
        type:
          type: string
          enum:
            - TEMPORARY
          description: Whether the flat extra premium is permanent or temporary
          example: TEMPORARY
        amount:
          type: number
          format: double
          description: Flat extra premium amount
          example: 250000
        duration:
          type: integer
          description: Duration the flat extra applies for
          example: 5
        durationType:
          type: string
          enum:
            - YEARS
            - MONTHS
          description: Unit of measure for the duration
          example: YEARS
      required:
        - type
        - amount
        - duration
        - durationType
    PolicyCoverageChangesRequestItem:
      type: object
      description: A single policy-update request item. The shape of the remaining
        properties depends on requestType.
      discriminator:
        propertyName: requestType
        mapping:
          DEATHBENEFITOPTIONCHANGE: "#/components/schemas/DeathBenefitOptionChange"
          BASECOVERAGEUPDATE: "#/components/schemas/BASECOVERAGEUPDATE"
          RECLASSIFICATION: "#/components/schemas/Reclassification"
          RIDERADD: "#/components/schemas/RiderAdd"
          RIDERUPDATE: "#/components/schemas/RiderUpdate"
      oneOf:
        - $ref: "#/components/schemas/DeathBenefitOptionChange"
        - $ref: "#/components/schemas/BASECOVERAGEUPDATE"
        - $ref: "#/components/schemas/Reclassification"
        - $ref: "#/components/schemas/RiderAdd"
        - $ref: "#/components/schemas/RiderUpdate"
```
