Kota enrolmentIntents API
The enrolmentIntents API from Kota — 7 operation(s) for enrolmentintents.
The enrolmentIntents API from Kota — 7 operation(s) for enrolmentintents.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/kota-enrolmentintents-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Reference Enrolment Intents API
version: 1.0.0
servers:
- url: https://test.api.kota.io
description: test
- url: https://api.kota.io
description: production
tags:
- name: enrolmentIntents
paths:
/enrolment_intents:
get:
operationId: list-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.
tags:
- enrolmentIntents
parameters:
- name: employee_id
in: query
description: Filters enrolment intents by employee.
required: false
schema:
type: string
- name: group_id
in: query
description: Filters enrolment intents by group.
required: false
schema:
type: string
- 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`.'
required: false
schema:
type: string
- name: page
in: query
description: The page of results to return. Defaults to 1 if not provided.
required: false
schema:
type: integer
- name: page_size
in: query
description: The number of results to return per page. Defaults to 10 if not provided. Maximum value is 100.
required: false
schema:
type: integer
- name: Authorization
in: header
description: Authorization header using the Bearer scheme
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EnrolmentIntentResponsePagedList'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
post:
operationId: create-enrolment-intent
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.
tags:
- enrolmentIntents
parameters:
- name: Authorization
in: header
description: Authorization header using the Bearer scheme
required: true
schema:
type: string
- 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)
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EnrolmentIntentResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEnrolmentIntentRequest'
/enrolment_intents/{enrolment_intent_id}:
get:
operationId: retrieve-enrolment-intent
summary: Retrieve an enrolment intent
description: Retrieves an `enrolment_intent` object.
tags:
- enrolmentIntents
parameters:
- name: enrolment_intent_id
in: path
required: true
schema:
type: string
- name: Authorization
in: header
description: Authorization header using the Bearer scheme
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EnrolmentIntentResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
put:
operationId: update-enrolment-intent-configuration
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`.
tags:
- enrolmentIntents
parameters:
- name: enrolment_intent_id
in: path
required: true
schema:
type: string
- name: Authorization
in: header
description: Authorization header using the Bearer scheme
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EnrolmentIntentResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyConfigurationRequest'
/enrolment_intents/{enrolment_intent_id}/requirements:
get:
operationId: list-enrolment-intent-requirements
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.
tags:
- enrolmentIntents
parameters:
- name: enrolment_intent_id
in: path
required: true
schema:
type: string
- name: object_type
in: query
description: Filter by object type (employee or employer)
required: false
schema:
$ref: '#/components/schemas/RequirementObjectTypeEnumParameter'
- name: object_id
in: query
description: Filter by object ID (employee ID or employer ID)
required: false
schema:
type: string
- name: page
in: query
description: The page of results to return. Defaults to 1 if not provided.
required: false
schema:
type: integer
- name: page_size
in: query
description: The number of results to return per page. Defaults to 10 if not provided. Maximum value is 100.
required: false
schema:
type: integer
- name: Authorization
in: header
description: Authorization header using the Bearer scheme
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EnrolmentIntentRequirementResponsePagedList'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
/enrolment_intents/{enrolment_intent_id}/confirm:
post:
operationId: confirm-enrolment-intent
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.
tags:
- enrolmentIntents
parameters:
- name: enrolment_intent_id
in: path
required: true
schema:
type: string
- name: Authorization
in: header
description: Authorization header using the Bearer scheme
required: true
schema:
type: string
responses:
'204':
description: No Content
content:
application/json:
schema:
$ref: '#/components/schemas/Enrolment_Intents_ConfirmEnrolmentIntent_Response_204'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
/enrolment_intents/{enrolment_intent_id}/reject:
post:
operationId: reject-enrolment-intent
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.
tags:
- enrolmentIntents
parameters:
- name: enrolment_intent_id
in: path
required: true
schema:
type: string
- name: Authorization
in: header
description: Authorization header using the Bearer scheme
required: true
schema:
type: string
responses:
'204':
description: No Content
content:
application/json:
schema:
$ref: '#/components/schemas/Enrolment_Intents_RejectEnrolmentIntent_Response_204'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
/enrolment_intents/{enrolment_intent_id}/coverage-selections:
post:
operationId: submit-enrolment-intent-coverage-selections
summary: Submit coverage selections for an enrolment intent
description: Submits plan coverage option selections for an enrolment intent in the `addon_selection_required` status.
tags:
- enrolmentIntents
parameters:
- name: enrolment_intent_id
in: path
required: true
schema:
type: string
- name: Authorization
in: header
description: Authorization header using the Bearer scheme
required: true
schema:
type: string
responses:
'204':
description: No Content
content:
application/json:
schema:
$ref: '#/components/schemas/Enrolment_Intents_SubmitEnrolmentIntentCoverageSelections_Response_204'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SubmitCoverageSelectionsRequest'
/enrolment_intents/{enrolment_intent_id}/create_dependents_management_intent:
post:
operationId: create-dependents-management-intent-for-enrolment-intent
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.
tags:
- enrolmentIntents
parameters:
- name: enrolment_intent_id
in: path
required: true
schema:
type: string
- name: Authorization
in: header
description: Authorization header using the Bearer scheme
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DependentsManagementIntentResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
components:
schemas:
DependentsManagementIntentParentType:
type: string
enum:
- policy_amendment_intent
- enrolment_intent
title: DependentsManagementIntentParentType
EnrolmentIntentRequirementResponse:
type: object
properties:
id:
type: string
description: Unique identifier for the requirement
object_type:
$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
requirement_type:
$ref: '#/components/schemas/RequirementType'
description: Type of requirement
object:
type: string
description: Object type identifier
required:
- id
- object_type
- object_id
- is_fulfilled
- requirement_type
title: EnrolmentIntentRequirementResponse
PerMemberPricingResponse:
type: object
properties:
currency:
$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.
required:
- currency
- member_type_pricing
title: PerMemberPricingResponse
DependentsManagementIntentActionRequiredResponse:
type: object
properties:
code:
$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
format: date-time
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).
required:
- code
- reason
- reason_description
- due_by
title: DependentsManagementIntentActionRequiredResponse
FamilyTierCode:
type: string
enum:
- single
- couple
- single_parent
- family
title: FamilyTierCode
MemberTypeCode:
type: string
enum:
- adult
- young_adult
- child
title: MemberTypeCode
Enrolment_Intents_RejectEnrolmentIntent_Response_204:
type: object
properties: {}
description: Empty response body
title: Enrolment Intents_RejectEnrolmentIntent_Response_204
EnrolmentIntentAssociatedPersonResponse:
type: object
properties:
optional:
type: boolean
description: Indicates whether providing information for the related type is optional.
type:
$ref: '#/components/schemas/AssociatedPersonType'
description: The type of associated person.
dependent:
$ref: '#/components/schemas/EnrolmentIntentDependentResponse'
description: Dependents-specific information if type is 'dependents'.
required:
- optional
- type
- dependent
title: EnrolmentIntentAssociatedPersonResponse
PlanCoverageOptionBenefitResponse:
type: object
properties:
name:
type: string
description: Benefit name.
description:
type:
- string
- 'null'
description: Benefit description.
required:
- name
title: PlanCoverageOptionBenefitResponse
AssociatedPersonType:
type: string
enum:
- dependents
title: AssociatedPersonType
HealthInsuranceFamilyCostSharingType:
type: string
enum:
- single
- couple
- single_with_children
- family
title: HealthInsuranceFamilyCostSharingType
TierBasedPricingResponse:
type: object
properties:
currency:
$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.
required:
- currency
- tiers
title: TierBasedPricingResponse
EnrolmentIntentRequirementResponsePagedList:
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
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
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.
has_next_page:
type: boolean
description: Whether there are more pages available after this page
has_previous_page:
type: boolean
description: Whether there are more pages available before this page
required:
- items
- page
- page_size
- total_count
title: EnrolmentIntentRequirementResponsePagedList
PolicyType:
type: string
enum:
- health_insurance
- life_assurance
title: PolicyType
EmployerEligibilityCriterionType:
type: string
enum:
- employees_count
- members_count
- industry_exclusions
title: EmployerEligibilityCriterionType
PricingTierResponse:
type: object
properties:
code:
$ref: '#/components/schemas/FamilyTierCode'
description: Tier code.
display_name:
type: string
description: Display name for the tier.
monthly_premium:
type: number
format: double
description: Monthly premium amount for this tier.
annual_premium:
type: number
format: double
description: Annual premium amount for this tier.
display_dependent_requirements:
type: string
description: Description of dependent requirements for this tier.
required:
- code
- display_name
- monthly_premium
- annual_premium
- display_dependent_requirements
title: PricingTierResponse
EnrolmentIntentActionRequiredResponse:
type: object
properties:
code:
$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
format: date-time
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).
required:
- code
- reason
- reason_description
- due_by
title: EnrolmentIntentActionRequiredResponse
CurrencyCode:
type: string
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
title: CurrencyCode
DisclosureCategory:
type: string
enum:
- regulatory
- provider
- intermediary
title: DisclosureCategory
RequirementObjectType:
type: string
enum:
- employee
- employer
- associated_person
title: RequirementObjectType
HealthInsuranceCostSharingConfigurationResponse:
type: object
properties:
type:
$ref: '#/components/schemas/HealthInsuranceCostSharingType'
description: Cost sharing type. Determines which sub-object is populated.
member_count:
$ref: '#/components/schemas/HealthInsuranceMemberCountCostSharingConfigurationResponse'
description: Numbers of additional members covered by the employer.
member_selection:
$ref: '#/components/schemas/HealthInsuranceMemberSelectionCostSharingConfigurationResponse'
description: Whether specific member types are covered by the employer.
percentage:
$ref: '#/components/schemas/HealthInsurancePercentageCostSharingConfigurationResponse'
description: Percentage of the premium the employer covers.
family_type:
$ref: '#/components/schemas/HealthInsuranceFamilyTypeCostSharingConfigurationResponse'
description: Type of the family covered by the employer.
required:
- type
title: HealthInsuranceCostSharingConfigurationResponse
HealthInsurancePercentageCostSharingConfigurationResponse:
type: object
properties:
percentage:
type: integer
description: "Employer coverage percentage:\n For 40% send 40.\n For 100% send 100."
required:
- percentage
title: HealthInsurancePercentageCostSharingConfigurationResponse
PlanDocumentResponse:
type: object
properties:
type:
$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.).
required:
- title
- link
title: PlanDocumentResponse
PlanDocumentType:
type: string
enum:
- ipid
- table_of_cover
- waiting_periods
- hospital_list
- plan_summary
- terms_and_conditions
- other
title: PlanDocumentType
EnrolmentIntentPendingConfirmationResponse:
type: object
properties:
due_by:
type: string
format: date-time
description: The deadline by which the confirmation must be completed.
code:
$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:
$ref: '#/components/schemas/EnrolmentIntentAssociatedPersonResponse'
description: Information about associated persons related to this enrolment. Used to manage dependents.
required:
- due_by
- code
- reason
- reason_description
title: EnrolmentIntentPendingConfirmationResponse
HealthInsuranceMemberCountCostSharingConfigurationResponse:
type: object
properties:
adults:
type: integer
description: Number of additional adults covered, including partner/spouse.
children:
type: integer
description: Number of additional children covered.
required:
- adults
- children
title: HealthInsuranceMemberCountCostSharingConfigurationResponse
EnrolmentIntentPolicyEnrolmentResponse:
type: object
properties:
type:
$ref: '#/components/schemas/PolicyType'
description: Type of policy to be created as part of this enrolment intent.
estimated_effective_from:
type: string
format: date
description: Estimated date when the policy of this type is expected to become effective in ISO 8601 (YYYY-MM-DD).
provider:
$ref: '#/components/schemas/PolicyProviderResponse'
description: Provider information for this policy (from group policy).
plan:
$ref: '#/components/schemas/PolicyPlanResponse'
description: Plan information for this policy (from group policy).
health_insurance:
$ref: '#/components/schemas/HealthInsuranceEnrolmentIntentResponse'
description: Health insurance intent information (always present when type=health_insurance).
id:
type:
- string
- 'null'
description: Unique identifier for the policy created as part of this enrolment intent. Prefixed with `p_`. Only populated once the policy has been created.
required:
- type
- estimated_effective_from
- provider
- plan
title: EnrolmentIntentPolicyEnrolmentResponse
HealthInsuranceEnrolmentIntentResponse:
type: object
properties:
configuration:
$ref: '#/components/schemas/HealthInsurancePolicyConfigurationResponse'
description: How benefit costs will be shared between employer and employee.
coverage_options:
type:
- array
- 'null'
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:
- array
- 'null'
items:
$ref: '#/components/schemas/PlanCoverageOptionSelectionResponse'
description: Current coverage option selections. Populated when selections have been submitted.
required:
- configuration
title: HealthInsuranceEnrolmentIntentResponse
EnrolmentIntentResponsePagedList:
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
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
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.
has_next_page:
type: boolean
description: Whether there are more pages available after this page
has_previous_page:
type: boolean
description: Whether there are more pages available before this page
required:
- items
- page
- page_size
- total_count
title: EnrolmentIntentResponsePagedList
EnrolmentIntentResponse:
type: object
properties:
id:
type: string
description: Unique identifier for the enrolment intent. Prefixed with `ei_`.
employee_id:
type: string
description: Identifier for the employee associated with this enrolment intent. Prefixed with `ee_`.
group_id:
type: string
description: Identifier for the group associated with this enrolment intent. Prefixed with `gr_`.
status:
$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 before enrolling the employee, even if no action is required. This can be useful in scenarios where you want to ensure that the employee explicitly confirms their enrolment, regardless of their eligibility or any other factors. Defaults to false.
policy_enrolments:
type: array
items:
$ref: '#/components/schemas/EnrolmentIntentPolicyEnrolmentResponse'
description: Policy enrolment information
object:
type: string
description: Object type identifier.
ineligibility_reason:
$ref: '#/components/schemas/EnrolmentIntentInelgibilityReason'
description: If the enrolment intent status is `ineligible`, this field provides details about the reason for employees ineligibility.
# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kota/refs/heads/main/openapi/kota-enrolmentintents-api-openapi.yml