Kota Policy Amendment Intents API

The Policy Amendment Intents API from Kota — 5 operation(s) for policy amendment intents.

OpenAPI Specification

kota-policy-amendment-intents-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: API Reference Associated Persons Policy Amendment Intents API
  version: 1.0.0
servers:
- url: https://test.api.kota.io
  description: test
- url: https://api.kota.io
  description: production
tags:
- name: Policy Amendment Intents
paths:
  /policies/{policy_id}/policy_amendment_intents:
    get:
      tags:
      - Policy Amendment Intents
      summary: List all policy amendment intents for a policy
      description: Returns a paginated list of policy amendment intents for the specified policy. The intents are returned sorted by creation date, with the oldest intent appearing first.
      operationId: ListPolicyAmendmentIntents
      parameters:
      - name: policy_id
        in: path
        required: true
        schema:
          pattern: p_.+
          type: string
          example: p_3b1333d87d9d4fd6ad83ba7f6b0e951a
      - name: status
        in: query
        description: 'Multiple values can be provided by separating them with a comma. Allowed values are: `action_required`, `awaiting_quote`, `pending_confirmation`, `processing`, `amended`, `processing_error`, `not_undertaken`.'
        schema:
          type: string
      - name: page
        in: query
        description: The page of results to return. Defaults to 1 if not provided.
        schema:
          type: integer
          description: The page of results to return. Defaults to 1 if not provided.
          format: int32
      - name: page_size
        in: query
        description: The number of results to return per page. Defaults to 10 if not provided. Maximum value is 100.
        schema:
          type: integer
          description: The number of results to return per page. Defaults to 10 if not provided. Maximum value is 100.
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyAmendmentIntentResponsePagedList'
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
    post:
      tags:
      - Policy Amendment Intents
      summary: Create a new policy amendment intent
      description: Initiates a policy amendment (e.g. adding/removing dependents). The intent coordinates the amendment workflow including dependents sub-intent management, quote generation, employee confirmation, and provider processing.
      operationId: CreatePolicyAmendmentIntent
      parameters:
      - name: policy_id
        in: path
        required: true
        schema:
          pattern: p_.+
          type: string
          example: p_3b1333d87d9d4fd6ad83ba7f6b0e951a
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/CreatePolicyAmendmentIntentRequest'
        required: true
      responses:
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyAmendmentIntentResponse'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /policies/{policy_id}/policy_amendment_intents/{policy_amendment_intent_id}:
    get:
      tags:
      - Policy Amendment Intents
      summary: Retrieve a policy amendment intent
      description: Retrieves a `policy_amendment_intent` object.
      operationId: RetrievePolicyAmendmentIntent
      parameters:
      - name: policy_id
        in: path
        required: true
        schema:
          pattern: p_.+
          type: string
          example: p_3b1333d87d9d4fd6ad83ba7f6b0e951a
      - name: policy_amendment_intent_id
        in: path
        required: true
        schema:
          pattern: pai_.+
          type: string
          example: pai_3b1333d87d9d4fd6ad83ba7f6b0e951a
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyAmendmentIntentResponse'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /policies/{policy_id}/policy_amendment_intents/{policy_amendment_intent_id}/confirm:
    post:
      tags:
      - Policy Amendment Intents
      summary: Confirm policy amendment intent
      description: Confirms a policy amendment intent after the employee has reviewed and accepted the quote. The intent must be in `pending_confirmation` status with a valid quote. The confirmation deadline must not have passed.
      operationId: ConfirmPolicyAmendmentIntent
      parameters:
      - name: policy_id
        in: path
        required: true
        schema:
          pattern: p_.+
          type: string
          example: p_3b1333d87d9d4fd6ad83ba7f6b0e951a
      - name: policy_amendment_intent_id
        in: path
        required: true
        schema:
          pattern: pai_.+
          type: string
          example: pai_3b1333d87d9d4fd6ad83ba7f6b0e951a
      responses:
        '204':
          description: No Content
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /policies/{policy_id}/policy_amendment_intents/{id}/cancel:
    post:
      tags:
      - Policy Amendment Intents
      summary: Cancel a policy amendment intent
      description: Cancels a policy amendment intent when the employee decides not to proceed. Can only cancel intents in `action_required` or `pending_confirmation` status.
      operationId: CancelPolicyAmendmentIntent
      parameters:
      - name: policy_id
        in: path
        required: true
        schema:
          pattern: p_.+
          type: string
          example: p_3b1333d87d9d4fd6ad83ba7f6b0e951a
      - name: id
        in: path
        required: true
        schema:
          pattern: pai_.+
          type: string
          example: pai_3b1333d87d9d4fd6ad83ba7f6b0e951a
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /policies/{policy_id}/policy_amendment_intents/{id}/create_dependents_management_intent:
    post:
      tags:
      - Policy Amendment Intents
      summary: Create a dependents management intent for a policy amendment
      description: Creates a dependents management intent as a sub-intent of a policy amendment intent. The sub-intent allows the platform to add or remove dependents from the policy. The policy amendment intent must be in `action_required` status with a `dependents` requested change.
      operationId: CreateDependentsManagementIntentForPolicyAmendment
      parameters:
      - name: policy_id
        in: path
        required: true
        schema:
          pattern: p_.+
          type: string
          example: p_3b1333d87d9d4fd6ad83ba7f6b0e951a
      - name: id
        in: path
        required: true
        schema:
          pattern: pai_.+
          type: string
          example: pai_3b1333d87d9d4fd6ad83ba7f6b0e951a
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DependentsManagementIntentResponse'
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    PlanWithPricingResponse:
      required:
      - description
      - id
      - name
      - pricing
      type: object
      properties:
        id:
          pattern: pl_.+
          type: string
          description: Unique identifier for the plan. Prefixed with `pl_`.
          example: pl_3b1333d87d9d4fd6ad83ba7f6b0e951a
        name:
          type: string
          description: The name of the plan.
        description:
          type: string
          description: Description of the plan.
        pricing:
          allOf:
          - $ref: '#/components/schemas/PlanPricingResponse'
          description: Pricing information for the plan.
      additionalProperties: false
    PlanCoverageOptionInputType:
      enum:
      - single_select
      - multi_select
      type: string
    PolicyAmendmentDependentsResponse:
      type: object
      properties:
        dependents_management_intent_id:
          pattern: dmi_.+
          type:
          - 'null'
          - string
          description: Unique identifier for the dependents management intent. Prefixed with `dmi_`. Null if not yet created.
          example: dmi_3b1333d87d9d4fd6ad83ba7f6b0e951a
        status:
          type: 'null'
          allOf:
          - $ref: '#/components/schemas/DependentsManagementIntentStatus'
          description: The status of the dependents management process. Null if not yet started.
      additionalProperties: false
    PlanCoverageOptionScope:
      enum:
      - group_policy
      - policy
      - member
      type: string
    CreatePolicyAmendmentIntentRequest:
      required:
      - amendment_reason
      - requested_changes
      type: object
      properties:
        amendment_reason:
          allOf:
          - $ref: '#/components/schemas/PolicyAmendmentReasonRequest'
          description: The reason for the policy amendment.
        requested_changes:
          type: array
          items:
            $ref: '#/components/schemas/PolicyAmendmentRequestedChangeRequest'
          description: List of requested changes to the policy.
      additionalProperties: false
    PlanCoverageResponse:
      required:
      - id
      - input_type
      - name
      - options
      - required
      - scope
      type: object
      properties:
        id:
          pattern: pc_.+
          type: string
          description: Unique identifier for the coverage selection. Prefixed with `pc_`.
          example: pc_3b1333d87d9d4fd6ad83ba7f6b0e951a
        name:
          type: string
          description: Title for this coverage selection. Typically used as the display heading.
        description:
          type:
          - 'null'
          - string
          description: Full description of this coverage selection.
        scope:
          allOf:
          - $ref: '#/components/schemas/PlanCoverageOptionScope'
          description: 'Scope of selection for this coverage selection: `group_policy` (employer selects for the group), `policy` (per-policy selection), or `member` (individual member selects).'
        input_type:
          allOf:
          - $ref: '#/components/schemas/PlanCoverageOptionInputType'
          description: Describes whether this input allows selecting a single option or multiple options.
        required:
          type: boolean
          description: Whether a selection is mandatory.
          example: true
        min_selections:
          type:
          - 'null'
          - integer
          description: Minimum required selections (multi-select only).
          format: int32
        max_selections:
          type:
          - 'null'
          - integer
          description: Maximum allowed selections (multi-select only).
          format: int32
        sort_order:
          type:
          - 'null'
          - integer
          description: Display ordering hint.
          format: int32
        group_label:
          type:
          - 'null'
          - string
          description: Optional grouping label for UI rendering. Indicates which coverage selections are best presented together from a UX standpoint.
        options:
          type: array
          items:
            $ref: '#/components/schemas/PlanCoverageOptionResponse'
          description: Available options within this coverage selection.
      additionalProperties: false
    DependentsManagementIntentStatus:
      enum:
      - action_required
      - processing
      - completed
      - not_undertaken
      type: string
      x-fern-enum:
        action_required:
          description: Dependents information needs to be provided.
        processing:
          description: Dependents are being validated and processed.
        completed:
          description: Dependents have been successfully processed and validated.
        not_undertaken:
          description: Dependents management intent has been aborted.
    TierBasedPricingResponse:
      required:
      - currency
      - tiers
      type: object
      properties:
        currency:
          allOf:
          - $ref: '#/components/schemas/CurrencyCode'
          description: Currency code (e.g., 'eur', 'usd').
        tiers:
          type: array
          items:
            $ref: '#/components/schemas/PricingTierResponse'
          description: Pricing tiers for different family compositions.
      additionalProperties: false
    PolicyAmendmentRequestedChangeRequest:
      required:
      - change_type
      type: object
      properties:
        change_type:
          allOf:
          - $ref: '#/components/schemas/RequestedChangeType'
          description: The type of change requested.
      additionalProperties: false
    QualifyingLifeEventSupplementalInfo:
      required:
      - event
      - event_date
      type: object
      properties:
        event:
          allOf:
          - $ref: '#/components/schemas/QualifyingLifeEventType'
          description: The type of qualifying life event requested.
        event_date:
          type: string
          description: 'The date at which the event occured. Note: This date must be within provider guidelines, where the date is outside of those guidelines the amendment may be rejected or the effective date of the change could be amended by the provider.'
          format: date
          example: '2024-12-01'
        reason:
          type:
          - 'null'
          - string
          description: 'A free text reason of the qualifying life event. Note: This will be shared with the insurance provider in lieu of `event` when its set to `other_change`.'
      additionalProperties: false
    PlanPricingResponse:
      required:
      - type
      type: object
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/PlanPricingType'
          description: Type of pricing structure
        per_member:
          type: 'null'
          allOf:
          - $ref: '#/components/schemas/PerMemberPricingResponse'
          description: Per-member pricing details (populated when type is 'per_member').
        tier_based:
          type: 'null'
          allOf:
          - $ref: '#/components/schemas/TierBasedPricingResponse'
          description: Tier-based pricing details (populated when type is 'tier_based').
      additionalProperties: false
    PlanCoverageOptionResponse:
      required:
      - id
      - name
      type: object
      properties:
        id:
          pattern: pco_.+
          type: string
          description: Unique identifier for this coverage option. Prefixed with `pco_`.
          example: pco_3b1333d87d9d4fd6ad83ba7f6b0e951a
        name:
          type: string
          description: Display name for this coverage option.
        description:
          type:
          - 'null'
          - string
          description: Longer explanation of this coverage option.
        learn_more_url:
          type:
          - 'null'
          - string
          description: Link to learn more about this coverage option.
        from_price:
          type:
          - 'null'
          - number
          description: Lowest applicable monthly price for this coverage option.
          format: double
        benefits:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/PlanCoverageOptionBenefitResponse'
          description: Benefit items included with this coverage option.
        sub_options:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/PlanCoverageOptionResponse'
          description: Nested sub-options available when this option is selected.
        eligibility_criteria:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/EmployerEligibilityCriterionResponse'
          description: Eligibility criteria that must be met to select this coverage option.
      additionalProperties: false
    PlanPricingType:
      enum:
      - per_member
      - tier_based
      type: string
    PolicyAmendmentQuoteResponse:
      required:
      - currency
      - monthly
      - term
      type: object
      properties:
        currency:
          type: string
          description: Three-letter currency code (e.g., "EUR", "USD", "GBP") for all monetary amounts in this quote.
        monthly:
          allOf:
          - $ref: '#/components/schemas/PolicyAmendmentQuoteContributionsResponse'
          description: Monthly contribution breakdown for the policy amendment.
        term:
          allOf:
          - $ref: '#/components/schemas/PolicyAmendmentQuoteContributionsResponse'
          description: Total term contribution breakdown for the policy amendment.
      additionalProperties: false
    PolicyAmendmentQuoteAmountResponse:
      required:
      - gross
      - net
      - tax
      type: object
      properties:
        net:
          type: number
          description: Net amount before tax.
          format: double
          example: 123.45
        tax:
          type: number
          description: Tax amount.
          format: double
          example: 123.45
        gross:
          type: number
          description: Gross amount (net + tax).
          format: double
          example: 123.45
      additionalProperties: false
    PolicyAmendmentRequestedChangeResponse:
      required:
      - change_type
      type: object
      properties:
        change_type:
          allOf:
          - $ref: '#/components/schemas/RequestedChangeType'
          description: The type of change requested.
      additionalProperties: false
    PolicyAmendmentProcessingErrorResponse:
      required:
      - code
      - reason
      - reason_description
      type: object
      properties:
        code:
          allOf:
          - $ref: '#/components/schemas/PolicyAmendmentIntentFailureCode'
          description: The error code indicating why processing failed.
        reason:
          type: string
          description: Brief reason for the processing error.
        reason_description:
          type: string
          description: Detailed description of the processing error.
      additionalProperties: false
    PolicyAmendmentReasonResponse:
      required:
      - type
      type: object
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/AmendmentReasonType'
          description: Unique identifier of the amendment reason type.
        qualifying_life_event:
          type: 'null'
          allOf:
          - $ref: '#/components/schemas/PolicyAmendmentQualifyingLifeEventResponse'
          description: Details when `type` is `qualifying_life_event`.
      additionalProperties: false
    DependentsManagementIntentDependentStatus:
      enum:
      - pending_confirmation
      - action_required
      - ineligible
      - processing
      - restricted
      - ready
      type: string
    MemberTypeCode:
      enum:
      - adult
      - young_adult
      - child
      type: string
    PolicyAmendmentRequiredActionResponse:
      required:
      - associated_persons
      - code
      - due_by
      - reason
      - reason_description
      type: object
      properties:
        code:
          allOf:
          - $ref: '#/components/schemas/PolicyAmendmentActionCode'
          description: The action code indicating what action is required.
        reason:
          type: string
          description: Brief reason for the required action.
        reason_description:
          type: string
          description: Detailed description of the required action.
        due_by:
          type: string
          description: The deadline by which the action must be completed. The day is included (i.e. the action can be completed any time during this day in the user's local time).
          format: date
          example: '2024-12-01'
        associated_persons:
          allOf:
          - $ref: '#/components/schemas/PolicyAmendmentAssociatedPersonsResponse'
          description: Information about associated persons related to this action.
      additionalProperties: false
    PolicyAmendmentIntentResponsePagedList:
      required:
      - items
      - page
      - page_size
      - total_count
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PolicyAmendmentIntentResponse'
          description: A paginated array containing the response elements
        page:
          type: integer
          description: The current page of the results
          format: int32
          example: 123
        page_size:
          type: integer
          description: The number of results on this page. This can be different from the requested page size if the total number of results is less than the requested page size
          format: int32
          example: 123
        total_count:
          type: integer
          description: The total number of elements available in the response. This is the total number of elements available across all pages, not just the current page.
          format: int32
          example: 123
        has_next_page:
          type: boolean
          description: Whether there are more pages available after this page
          readOnly: true
          example: true
        has_previous_page:
          type: boolean
          description: Whether there are more pages available before this page
          readOnly: true
          example: true
      additionalProperties: false
    DisclosureType:
      enum:
      - intermediary_role
      - intermediary_commission
      - underwriter_disclaimer
      - anti_selection_notice
      - statement_of_needs
      - product_information
      - pre_existing_conditions
      - statutory_warning
      type: string
    EmployerEligibilityCriterionType:
      enum:
      - employees_count
      - members_count
      - industry_exclusions
      type: string
    MembersCountDetails:
      type: object
      properties:
        min:
          type:
          - 'null'
          - integer
          description: Minimum number of members required.
          format: int32
        max:
          type:
          - 'null'
          - integer
          description: Maximum number of members allowed.
          format: int32
      additionalProperties: false
    CurrencyCode:
      enum:
      - eur
      - aed
      - afn
      - xcd
      - all
      - amd
      - aoa
      - ars
      - usd
      - aud
      - awg
      - azn
      - bam
      - bbd
      - bdt
      - xof
      - bgn
      - bhd
      - bif
      - bmd
      - bnd
      - bob
      - bov
      - brl
      - bsd
      - inr
      - btn
      - nok
      - bwp
      - byn
      - bzd
      - cad
      - xaf
      - cdf
      - chf
      - che
      - chw
      - nzd
      - clp
      - clf
      - cny
      - cop
      - cou
      - crc
      - cup
      - cuc
      - cve
      - ang
      - czk
      - djf
      - dkk
      - dop
      - dzd
      - egp
      - mad
      - ern
      - etb
      - fjd
      - fkp
      - mdl
      - gbp
      - gel
      - ghs
      - gip
      - gmd
      - gnf
      - gtq
      - gyd
      - hkd
      - hnl
      - hrk
      - htg
      - huf
      - idr
      - xdr
      - ils
      - iqd
      - irr
      - isk
      - jmd
      - jod
      - jpy
      - kes
      - kgs
      - khr
      - kmf
      - kpw
      - krw
      - kwd
      - kyd
      - kzt
      - lak
      - lbp
      - lkr
      - lrd
      - lsl
      - zar
      - lyd
      - mga
      - mkd
      - mmk
      - mnt
      - mop
      - mru
      - mur
      - mvr
      - mwk
      - mxn
      - mxv
      - myr
      - mzn
      - nad
      - xpf
      - ngn
      - nio
      - npr
      - omr
      - pab
      - pen
      - pgk
      - php
      - pkr
      - pln
      - pyg
      - qar
      - ron
      - rsd
      - rub
      - rwf
      - sar
      - sbd
      - scr
      - sdg
      - sek
      - sgd
      - shp
      - sll
      - sos
      - srd
      - ssp
      - stn
      - svc
      - xsu
      - syp
      - twd
      - szl
      - thb
      - tjs
      - tmt
      - tnd
      - top
      - try
      - ttd
      - tzs
      - uah
      - ugx
      - usn
      - uyu
      - uyi
      - uyw
      - uzs
      - ves
      - vnd
      - vuv
      - wst
      - yer
      - xua
      - zmw
      - zwl
      type: string
    PricingTierResponse:
      required:
      - annual_premium
      - code
      - display_dependent_requirements
      - display_name
      - monthly_premium
      type: object
      properties:
        code:
          allOf:
          - $ref: '#/components/schemas/FamilyTierCode'
          description: Tier code.
        display_name:
          type: string
          description: Display name for the tier.
        monthly_premium:
          type: number
          description: Monthly premium amount for this tier.
          format: double
          example: 123.45
        annual_premium:
          type: number
          description: Annual premium amount for this tier.
          format: double
          example: 123.45
        display_dependent_requirements:
          type: string
          description: Description of dependent requirements for this tier.
      additionalProperties: false
    AmendmentReasonType:
      enum:
      - initial_adjustment_period
      - qualifying_life_event
      type: string
      x-fern-enum:
        initial_adjustment_period:
          description: Amendment during the initial adjustment period after policy activation.
        qualifying_life_event:
          description: Amendment due to a qualifying life event (e.g., marriage, birth of a child).
    MemberTypePricingResponse:
      required:
      - code
      - display_name
      - monthly_premium
      type: object
      properties:
        code:
          allOf:
          - $ref: '#/components/schemas/MemberTypeCode'
          description: Member type code.
        display_name:
          type: string
          description: Display name for the member type.
        monthly_premium:
          type: number
          description: Monthly premium amount.
          format: double
          example: 123.45
      additionalProperties: false
    IndustryExclusionsDetails:
      required:
      - excluded_industries
      type: object
      properties:
        excluded_industries:
          type: array
          items:
            type: string
          description: List of excluded industries.
      additionalProperties: false
    FamilyTierCode:
      enum:
      - single
      - couple
      - single_parent
      - family
      type: string
    DependentsManagementIntentActionRequiredResponse:
      required:
      - code
      - due_by
      - reason
      - reason_description
      type: object
      properties:
        code:
          allOf:
          - $ref: '#/components/schemas/DependentsManagementIntentActionCode'
          description: The action code indicating what action is required.
        reason:
          type: string
          description: Brief reason for the required action.
        reason_description:
          type: string
          description: Detailed description of the required action. This is intended to be understandable by the end user.
        due_by:
          type: string
          description: The deadline by which the action must be completed. The day is included (i.e. the action can be completed any time during this day in the user's local time).
          format: date-time
          example: '2024-12-01T00:00:00Z'
      additionalProperties: false
    PolicyAmendmentIntentStatus:
      enum:
      - action_required
      - awaiting_quote
      - pending_confirmation
      - processing
      - amended
      - processing_error
      - not_undertaken
      type: string
      x-fern-enum:
        action_required:
          description: Amendment requires user action to proceed.
        awaiting_quote:
          description: Waiting for the provider to generate a quote for the requested amendment.
        pending_confirmation:
          description: Quote has been generated and is awaiting employee confirmation.
        processing:
          description: Changes are being applied to the policy by the provider.
        amended:
          description: Amendment successfully applied to the policy.
        processing_error:
          description: Amendment failed and cannot be retried (e.g. provider rejection).
        not_undertaken:
          description: Amendment explicitly aborted or deadline expired.
    DependentsManagementIntentActionCode:
      enum:
      - remove_restricted_or_ineligible_dependents
      type: string
      x-fern-enum:
        remove_restricted_or_ineligible_dependents:
          description: One or more dependents are restricted or ineligible and must be removed before proceeding.
    QualifyingLifeEventType:
      enum:
      - gained_other_insurance_coverage
      - divorce_or_legal_separation
      - death_of_spouse_or_dependent
      - moved_out_of_coverage_area
      - employment_status_change_affecting_eligibility
      - eligible_for_government_program
      - marriage_or_civil_partnership
      - birth_of_child
      - adoption_of_child
      - gained_legal_guardianship
      - dependent_lost_other_coverage
      - lost_legal_guardianship
      - dependent_gained_other_coverage
      - dependent_eligible_for_government_program
      - dependent_aged_out
      - dependent_student_status_change_affecting_eligibility
      - dependent_moved_in_or_out_of_coverage_area
      - other_change
      type: string
      x-fern-enum:
        gained_other_insurance_coverage:
          description: Employee gains alternative qualifying coverage (e.g. added to spouse's plan).
        divorce_or_legal_separation:
          description: Marriage or civil partnership ends.
        death_of_spouse_or_dependent:
          description: A covered spouse or dependent dies.
        moved_out_of_coverage_area:
          description: Employee relocates to a country or region where this policy or insurer cannot provide coverage.
        employment_status_change_affecting_eligibility:
          description: Employee remains employed but moves to a role or status that is no longer eligible for this benefit.
        eligible_for_government_program:
          description: Employee becomes eligible for a statutory or national health program.
        marriage_or_civil_partnership:
          description: Employee gets married or enters a civil partnership. In some countries or providers, this is also valid if cohabiting.
        birth_of_child:
          description: A child is born.
        adoption_of_child:
          description: A child

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kota/refs/heads/main/openapi/kota-policy-amendment-intents-api-openapi.yml