Kota Enrolment Intents API

The Enrolment Intents API from Kota — 7 operation(s) for enrolment intents.

Operations 9

POST /enrolment_intents Create a new enrolment intent #
GET /enrolment_intents List all enrolment intents #
PUT /enrolment_intents/{enrolment_intent_id} Update policy configuration enrolment intent #
GET /enrolment_intents/{enrolment_intent_id} Retrieve an enrolment intent #
GET /enrolment_intents/{enrolment_intent_id}/requirements List requirements for an enrolment intent #
POST /enrolment_intents/{enrolment_intent_id}/confirm Confirm an enrolment intent #
POST /enrolment_intents/{enrolment_intent_id}/reject Reject an enrolment intent #
POST /enrolment_intents/{enrolment_intent_id}/coverage-selections Submit coverage selections for an enrolment intent #
POST /enrolment_intents/{enrolment_intent_id}/create_dependents_management_intent Create a dependents management intent for an enrolment intent #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kota-enrolment-intents-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

Free tier, no email required.

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

OpenAPI Specification

kota-enrolment-intents-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kota Enrolment Intents API
  version: '1.0'
servers:
- url: https://test.api.kota.io
  description: Test Kota API
  x-fern-server-name: test
- url: https://api.kota.io
  description: Production Kota API
  x-fern-server-name: production
security:
- bearerAuth: []
tags:
- name: Enrolment Intents
paths:
  /enrolment_intents:
    post:
      tags:
      - Enrolment Intents
      summary: Create a new enrolment intent
      description: Creates a new `enrolment_intent` to manage the enrolment of an employee into a group. An enrolment intent represents the intention to enrol an employee into a specific group, and tracks the status and progress of that enrolment process.
      operationId: CreateEnrolmentIntent
      parameters:
      - name: Idempotency-Key
        in: header
        description: Unique key to ensure idempotent requests. If the same key is used for multiple _identical & successful_ requests, the same response will be returned. [Read more here](/api#idempotent-requests)
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/CreateEnrolmentIntentRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrolmentIntentResponse'
        '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'
    get:
      tags:
      - Enrolment Intents
      summary: List all enrolment intents
      description: Returns a list of `enrolment_intents`. The `enrolment_intents` are returned sorted by creation date, with the most recent `enrolment_intent` appearing first.
      operationId: ListEnrolmentIntents
      parameters:
      - name: employee_id
        in: query
        description: Filters enrolment intents by employee.
        schema:
          pattern: ee_.+
          type: string
          description: Filters enrolment intents by employee.
          example: ee_3b1333d87d9d4fd6ad83ba7f6b0e951a
      - name: group_id
        in: query
        description: Filters enrolment intents  by group.
        schema:
          pattern: gr_.+
          type: string
          description: Filters enrolment intents  by group.
          example: gr_3b1333d87d9d4fd6ad83ba7f6b0e951a
      - name: status
        in: query
        description: 'Multiple values can be provided by separating them with a comma. Allowed values are: `processing`, `scheduled`, `action_required`, `addon_selection_required`, `pending_confirmation`, `enrolling`, `enrolled`, `not_undertaken`, `ineligible`.'
        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/EnrolmentIntentResponsePagedList'
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /enrolment_intents/{enrolment_intent_id}:
    put:
      tags:
      - Enrolment Intents
      summary: Update policy configuration enrolment intent
      description: Updates the policy configuration for an existing `enrolment_intent`. This will reset the enrolment intent back to `processing` status and re-evaluate the enrolment intent based on the new configuration provided.Unavailable for enrolment intents that are already `enrolling` or `enrolled`.
      operationId: UpdateEnrolmentIntentConfiguration
      parameters:
      - name: enrolment_intent_id
        in: path
        required: true
        schema:
          pattern: ei_.+
          type: string
          example: ei_3b1333d87d9d4fd6ad83ba7f6b0e951a
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/PolicyConfigurationRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrolmentIntentResponse'
        '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'
    get:
      tags:
      - Enrolment Intents
      summary: Retrieve an enrolment intent
      description: Retrieves an `enrolment_intent` object.
      operationId: RetrieveEnrolmentIntent
      parameters:
      - name: enrolment_intent_id
        in: path
        required: true
        schema:
          pattern: ei_.+
          type: string
          example: ei_3b1333d87d9d4fd6ad83ba7f6b0e951a
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrolmentIntentResponse'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /enrolment_intents/{enrolment_intent_id}/requirements:
    get:
      tags:
      - Enrolment Intents
      summary: List requirements for an enrolment intent
      description: Returns a paginated list of adaptive requirements for an `enrolment_intent`. Requirements must be fulfilled before enrolment can proceed.
      operationId: ListEnrolmentIntentRequirements
      parameters:
      - name: enrolment_intent_id
        in: path
        required: true
        schema:
          pattern: ei_.+
          type: string
          example: ei_3b1333d87d9d4fd6ad83ba7f6b0e951a
      - name: object_type
        in: query
        description: Filter by object type (employee or employer)
        schema:
          allOf:
          - $ref: '#/components/schemas/RequirementObjectTypeEnumParameter'
          description: Filter by object type (employee or employer)
      - name: object_id
        in: query
        description: Filter by object ID (employee ID or employer ID)
        schema:
          type: string
          description: Filter by object ID (employee ID or employer ID)
      - 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/EnrolmentIntentRequirementResponsePagedList'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /enrolment_intents/{enrolment_intent_id}/confirm:
    post:
      tags:
      - Enrolment Intents
      summary: Confirm an enrolment intent
      description: Confirms an `enrolment_intent` that is in `PendingConfirmation` status. This transitions the enrolment intent to `Enrolling` status and initiates the enrolment process with the insurance provider.
      operationId: ConfirmEnrolmentIntent
      parameters:
      - name: enrolment_intent_id
        in: path
        required: true
        schema:
          pattern: ei_.+
          type: string
          example: ei_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'
  /enrolment_intents/{enrolment_intent_id}/reject:
    post:
      tags:
      - Enrolment Intents
      summary: Reject an enrolment intent
      description: Rejects an `enrolment_intent` that is in `PendingConfirmation`, `ActionRequired`, or `AddonSelectionRequired` status. This transitions the enrolment intent to `NotUndertaken` status.
      operationId: RejectEnrolmentIntent
      parameters:
      - name: enrolment_intent_id
        in: path
        required: true
        schema:
          pattern: ei_.+
          type: string
          example: ei_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'
  /enrolment_intents/{enrolment_intent_id}/coverage-selections:
    post:
      tags:
      - Enrolment Intents
      summary: Submit coverage selections for an enrolment intent
      description: Submits plan coverage option selections for an enrolment intent in the `addon_selection_required` status.
      operationId: SubmitEnrolmentIntentCoverageSelections
      parameters:
      - name: enrolment_intent_id
        in: path
        required: true
        schema:
          pattern: ei_.+
          type: string
          example: ei_3b1333d87d9d4fd6ad83ba7f6b0e951a
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SubmitCoverageSelectionsRequest'
        required: true
      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'
  /enrolment_intents/{enrolment_intent_id}/create_dependents_management_intent:
    post:
      tags:
      - Enrolment Intents
      summary: Create a dependents management intent for an enrolment intent
      description: Creates a dependents management intent as a sub-intent of an enrolment intent. The enrolment intent must be in `pending_confirmation` status.
      operationId: CreateDependentsManagementIntentForEnrolmentIntent
      parameters:
      - name: enrolment_intent_id
        in: path
        required: true
        schema:
          pattern: ei_.+
          type: string
          example: ei_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:
    DependentsManagementIntentParentType:
      enum:
      - policy_amendment_intent
      - enrolment_intent
      type: string
    EnrolmentIntentRequirementResponse:
      required:
      - id
      - is_fulfilled
      - object_id
      - object_type
      - requirement_type
      type: object
      properties:
        id:
          pattern: ar_.+
          type: string
          description: Unique identifier for the requirement
          example: ar_3b1333d87d9d4fd6ad83ba7f6b0e951a
        object_type:
          allOf:
          - $ref: '#/components/schemas/RequirementObjectType'
          description: Type of object this requirement is for (employee or employer)
        object_id:
          type: string
          description: Identifier of the object (employee ID or employer ID)
        is_fulfilled:
          type: boolean
          description: Whether the requirement has been fulfilled
          example: true
        requirement_type:
          allOf:
          - $ref: '#/components/schemas/RequirementType'
          description: Type of requirement
        object:
          type: string
          description: Object type identifier
          readOnly: true
      additionalProperties: false
    PerMemberPricingResponse:
      required:
      - currency
      - member_type_pricing
      type: object
      properties:
        currency:
          allOf:
          - $ref: '#/components/schemas/CurrencyCode'
          description: Currency code (e.g., 'eur', 'usd').
        member_type_pricing:
          type: array
          items:
            $ref: '#/components/schemas/MemberTypePricingResponse'
          description: Pricing for each member type.
      additionalProperties: false
    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
    FamilyTierCode:
      enum:
      - single
      - couple
      - single_parent
      - family
      type: string
    MemberTypeCode:
      enum:
      - adult
      - young_adult
      - child
      type: string
    EnrolmentIntentAssociatedPersonResponse:
      required:
      - dependent
      - optional
      - type
      type: object
      properties:
        optional:
          type: boolean
          description: Indicates whether providing information for the related type is optional.
          example: true
        type:
          allOf:
          - $ref: '#/components/schemas/AssociatedPersonType'
          description: The type of associated person.
        dependent:
          type: 'null'
          allOf:
          - $ref: '#/components/schemas/EnrolmentIntentDependentResponse'
          description: Dependents-specific information if type is 'dependents'.
      additionalProperties: false
    PlanCoverageOptionBenefitResponse:
      required:
      - name
      type: object
      properties:
        name:
          type: string
          description: Benefit name.
        description:
          type:
          - 'null'
          - string
          description: Benefit description.
      additionalProperties: false
    AssociatedPersonType:
      enum:
      - dependents
      type: string
      x-fern-enum:
        dependents:
          description: Dependents (e.g., spouse, children).
    HealthInsuranceFamilyCostSharingType:
      enum:
      - single
      - couple
      - single_with_children
      - family
      type: string
    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
    EnrolmentIntentRequirementResponsePagedList:
      required:
      - items
      - page
      - page_size
      - total_count
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/EnrolmentIntentRequirementResponse'
          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
    PolicyType:
      enum:
      - health_insurance
      - life_assurance
      type: string
    EmployerEligibilityCriterionType:
      enum:
      - employees_count
      - members_count
      - industry_exclusions
      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
    EnrolmentIntentActionRequiredResponse:
      required:
      - code
      - due_by
      - reason
      - reason_description
      type: object
      properties:
        code:
          allOf:
          - $ref: '#/components/schemas/IntentActionType'
          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-time
          example: '2024-12-01T00:00:00Z'
      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
    DisclosureCategory:
      enum:
      - regulatory
      - provider
      - intermediary
      type: string
    RequirementObjectType:
      enum:
      - employee
      - employer
      - associated_person
      type: string
    HealthInsuranceCostSharingConfigurationResponse:
      required:
      - type
      type: object
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/HealthInsuranceCostSharingType'
          description: Cost sharing type. Determines which sub-object is populated.
        member_count:
          type: 'null'
          allOf:
          - $ref: '#/components/schemas/HealthInsuranceMemberCountCostSharingConfigurationResponse'
          description: Numbers of additional members covered by the employer.
        member_selection:
          type: 'null'
          allOf:
          - $ref: '#/components/schemas/HealthInsuranceMemberSelectionCostSharingConfigurationResponse'
          description: Whether specific member types are covered by the employer.
        percentage:
          type: 'null'
          allOf:
          - $ref: '#/components/schemas/HealthInsurancePercentageCostSharingConfigurationResponse'
          description: Percentage of the premium the employer covers.
        family_type:
          type: 'null'
          allOf:
          - $ref: '#/components/schemas/HealthInsuranceFamilyTypeCostSharingConfigurationResponse'
          description: Type of the family covered by the employer.
      additionalProperties: false
    HealthInsurancePercentageCostSharingConfigurationResponse:
      required:
      - percentage
      type: object
      properties:
        percentage:
          type: integer
          description: "Employer coverage percentage:\n For 40% send 40.\n For 100% send 100."
          format: int32
          example: 123
      additionalProperties: false
    PlanDocumentResponse:
      required:
      - link
      - title
      type: object
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/PlanDocumentType'
          description: Machine-readable document kind used for display and i18n. Possible values are listed below; as this enum can expand with new benefits, unknown values MUST be handled gracefully by clients (fallback to a generic `document` label).
        title:
          type: string
          description: Title of the document.
        link:
          type: string
          description: Public URL to the document. This could be any format (PDF, HTML, etc.).
      additionalProperties: false
    PlanDocumentType:
      enum:
      - ipid
      - table_of_cover
      - waiting_periods
      - hospital_list
      - plan_summary
      - terms_and_conditions
      - other
      type: string
    EnrolmentIntentPendingConfirmationResponse:
      required:
      - code
      - due_by
      - reason
      - reason_description
      type: object
      properties:
        due_by:
          type: string
          description: The deadline by which the confirmation must be completed.
          format: date-time
          example: '2024-12-01T00:00:00Z'
        code:
          allOf:
          - $ref: '#/components/schemas/EnrolmentIntentConfirmationType'
          description: The code for the confirmation that needs to be taken.
        reason:
          type: string
          description: 'A reason for the confirmation action that needs to be taken. '
        reason_description:
          type: string
          description: 'A reason description explaining the confirmation action that needs to be taken. '
        associated_persons:
          type: 'null'
          allOf:
          - $ref: '#/components/schemas/EnrolmentIntentAssociatedPersonResponse'
          description: Information about associated persons related to this enrolment. Used to manage dependents.
      additionalProperties: false
    HealthInsuranceMemberCountCostSharingConfigurationResponse:
      required:
      - adults
      - children
      type: object
      properties:
        adults:
          type: integer
          description: Number of additional adults covered, including partner/spouse.
          format: int32
          example: 123
        children:
          type: integer
          description: Number of additional children covered.
          format: int32
          example: 123
      additionalProperties: false
    EnrolmentIntentPolicyEnrolmentResponse:
      required:
      - estimated_effective_from
      - plan
      - provider
      - type
      type: object
      properties:
        type:
          allOf:
          - $ref: '#/components/schemas/PolicyType'
          description: Type of policy to be created as part of this enrolment intent.
        estimated_effective_from:
          type: string
          description: Estimated date when the policy of this type is expected to become effective in ISO 8601 (YYYY-MM-DD).
          format: date
          example: '2024-12-01'
        provider:
          allOf:
          - $ref: '#/components/schemas/PolicyProviderResponse'
          description: Provider information for this policy (from group policy).
        plan:
          allOf:
          - $ref: '#/components/schemas/PolicyPlanResponse'
          description: Plan information for this policy (from group policy).
        health_insurance:
          type: 'null'
          allOf:
          - $ref: '#/components/schemas/HealthInsuranceEnrolmentIntentResponse'
          description: Health insurance intent information (always present when type=health_insurance).
        id:
          pattern: p_.+
          type:
          - 'null'
          - string
          description: Unique identifier for the policy created as part of this enrolment intent. Prefixed with `p_`. Only populated once the policy has been created.
          example: p_3b1333d87d9d4fd6ad83ba7f6b0e951a
      additionalProperties: false
    HealthInsuranceEnrolmentIntentResponse:
      required:
      - configuration
      type: object
      properties:
        configuration:
          allOf:
          - $ref: '#/components/schemas/HealthInsurancePolicyConfigurationResponse'
          description: How benefit costs will be shared between employer and employee.
        coverage_options:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/PlanCoverageResponse'
          description: Available plan coverage options at the policy scope. Only present when the plan has policy-scoped coverage configurations.
        coverage_selections:
          type:
          - 'null'
          - array
          items:
            $ref: '#/components/schemas/PlanCoverageOptionSelectionResponse'
          description: Current coverage option selections. Populated when selections have been submitted.
      additionalProperties: false
    EnrolmentIntentResponsePagedList:
      required:
      - items
      - page
      - page_size
      - total_count
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/EnrolmentIntentResponse'
          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
    EnrolmentIntentResponse:
      required:
      - disclosures
      - employee_id
      - force_confirmation
      - group_id
      - id
      - policy_enrolments
      - status
      type: object
      properties:
        id:
          pattern: ei_.+
          type: string
          description: Unique identifier for the enrolment intent. Prefixed with `ei_`.
          example: ei_3b1333d87d9d4fd6ad83ba7f6b0e951a
        employee_id:
          pattern: ee_.+
          type: string
          description: Identifier for the employee associated with this enrolment intent. Prefixed with `ee_`.
          example: ee_3b1333d87d9d4fd6ad83ba7f6b0e951a
        group_id:
          pattern: gr_.+
          type: string
          description: Identifier for the group associated with this enrolment intent. Prefixed with `gr_`.
          example: gr_3b1333d87d9d4fd6ad83ba7f6b0e951a
        status:
          allOf:
          - $ref: '#/components/schemas/EnrolmentIntentStatus'
          description: Current status of the enrolment intent.
        force_confirmation:
          type: boolean
          description: If set to true, the system will always force the `PendingConfirmation` state be

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