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

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

# EligibilityResponse

Eligibility evaluation response.

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: Zinnia Policy Transactions API.
  version: 1.0.8
servers:
  - url: https://dev.api.zinnia.io
    description: DEV Environment
  - url: https://qa.api.zinnia.io
    description: QA Environment
components:
  schemas:
    EligibilitySubjectResult:
      type: object
      description: Eligibility result for one evaluated item. Fields that do not apply
        are omitted.
      required:
        - eligibilityItem
        - eligible
      properties:
        eligibilityItem:
          type: string
          description: Identifier of the evaluated item.
          example: FullSurrender
        eligible:
          type: boolean
          description: True when every applicable eligibility check passes.
        restrictedTransactions:
          type: array
          description: Transactions affected by a restriction.
          items:
            $ref: "#/components/schemas/RestrictedTransactionResult"
        policyEligibility:
          $ref: "#/components/schemas/PolicyEligibilitySectionResult"
        userEligibility:
          $ref: "#/components/schemas/UserEligibilitySectionResult"
        restriction:
          $ref: "#/components/schemas/RestrictionEligibilitySectionResult"
        notAvailable:
          type: boolean
          description: True when the requested item is not available.
        notConfigured:
          type: boolean
          description: True when the requested item is not configured.
        message:
          type: string
          description: Explanation when an item is unavailable or not configured.
          example: Transaction Not Configured
    RestrictedTransactionResult:
      type: object
      description: A transaction affected by a restriction type, with its blocking status.
      properties:
        type:
          type: string
          description: Transaction type code.
          example: FullSurrender
        status:
          type: string
          description: How the transaction is blocked (e.g. Unavailable,
            CarrierApprovalNeeded).
          example: Unavailable
        label:
          type: string
          description: Display label for the blocking status.
          example: Unavailable
    PolicyEligibilitySectionResult:
      type: object
      description: Policy eligibility evaluation.
      properties:
        status:
          type: string
          enum:
            - ELIGIBLE
            - NOT_ELIGIBLE
            - COULD_NOT_DETERMINE
          example: ELIGIBLE
        reason:
          $ref: "#/components/schemas/EligibilityReason"
        reasons:
          type: array
          description: >
            All rule-validation reasons when multiple rules fail. `reason`, when
            present, is the primary reason; `reasons` retains the complete set.
          items:
            $ref: "#/components/schemas/EligibilityReason"
    UserEligibilitySectionResult:
      type: object
      description: User permission evaluation.
      properties:
        status:
          type: string
          enum:
            - ELIGIBLE
            - NOT_ELIGIBLE
            - COULD_NOT_DETERMINE
          example: ELIGIBLE
        access:
          type: array
          description: >
            Distinct access levels granted to the caller for this subject.
            Present when permissions are known; its presence does not override
            the status.
          items:
            type: string
            enum:
              - VIEW
              - WRITE
              - DELETE
          example:
            - VIEW
            - WRITE
        reason:
          $ref: "#/components/schemas/EligibilityReason"
    RestrictionEligibilitySectionResult:
      type: object
      description: Restriction evaluation.
      properties:
        status:
          type: string
          enum:
            - NOT_RESTRICTED
            - RESTRICTED
            - SOFT_RESTRICTED
            - HARD_RESTRICTED
            - COULD_NOT_DETERMINE
          example: NOT_RESTRICTED
        blockType:
          type: string
          description: Blocking type from the restriction. Present on restriction section
            only.
          example: Unavailable
        restrictionStatus:
          type: array
          description: >
            Distinct blocking status values across all active restrictions for
            this subject. Present on the restriction section only when
            status=RESTRICTED.
          items:
            type: string
          example:
            - Unavailable
            - CarrierApprovalNeeded
        reason:
          $ref: "#/components/schemas/EligibilityReason"
    EligibilityReason:
      type: object
      description: Structured reason for a non-passing or indeterminate section.
      properties:
        code:
          type: string
          description: Machine-readable reason code.
          example: INSUFFICIENT_PERMISSIONS
        message:
          type: string
          description: Human-readable explanation.
          example: Caller does not hold the required permissions for this transaction
        error:
          type: string
          description: Validation error text. Used by rule-validation reasons.
          example: The effective date entered is not within this policy's free look
            period.
        resolution:
          type: string
          description: Suggested remediation. Used by rule-validation reasons.
          example: Update the effective date (if possible), or submit for NIGO processing.
    EligibilityResponse:
      type: object
      description: Eligibility evaluation response.
      required:
        - eligibilityType
        - results
      properties:
        eligibilityType:
          type: string
          description: Eligibility category evaluated.
          enum:
            - transaction
            - capabilities
            - restrictions
            - cancellation
            - sendFormDocuments
          example: transaction
        results:
          type: array
          description: Results for the evaluated items.
          items:
            $ref: "#/components/schemas/EligibilitySubjectResult"
```
