Dependent Management
This guide walks you through managing an employee’s dependents using Dependents Management Intents. You’ll learn how the intent fits into enrolment and policy amendment flows, how to add or remove existing associated persons, and how to confirm the final dependent list.
Before starting, ensure you’ve completed:
- Authentication: API key setup and idempotency
- Employer and employee management: syncing employers, employees, and associated persons
- Webhooks and events: receiving asynchronous updates
This guide assumes the employee either has an in-flight enrolment intent that requires dependent information, or an issued policy that can be amended.
Overview
A dependents management intent represents the dependent list that should be applied as part of a larger parent workflow. It is always attached to a parent intent:
The DMI itself does not create associated persons. Create or update associated persons on
the employee first, then add eligible ap_ IDs to the DMI.
Dependents management intents currently apply to dependents. Beneficiary information may also appear as an associated-person requirement during enrolment, but it is handled by the action payload for that enrolment intent rather than by the DMI endpoints documented here.
Lifecycle
Statuses
Each dependent in the DMI also has its own status:
You cannot confirm a DMI while any selected dependent is ineligible or restricted.
Remove those dependents first, then confirm the list.
Step 1: Prepare associated persons
Dependents must exist as associated persons before they can be added to a DMI. If the person does not already exist for the employee, create them first.
Endpoint: POST /employees/{employee_id}/associated_persons
The response contains the associated person ID, prefixed ap_. Use that ID when adding
the person to a DMI.
To reuse an existing person, list associated persons for the employee:
Endpoint: GET /employees/{employee_id}/associated_persons
Step 2: Handle dependents during enrolment
During enrolment, Kota may move the parent enrolment intent to action_required with
code: "provide_dependant_information". The action payload includes the DMI ID:
Store the dmi_ ID and use it for the DMI endpoints below. The parent enrolment intent
remains the source of truth for the overall enrolment flow, so keep watching enrolment
intent webhooks after the DMI is completed.
Step 3: Check dependent eligibility
Retrieve eligibility before adding dependents to the DMI. This returns the employee’s associated persons with their eligibility for the policy or plan attached to the parent intent.
Endpoint: GET /dependents_management_intents/{dependents_management_intent_id}/associated_persons_eligibility
Example response:
Show ineligibility_reason to the employee when present and do not add ineligible
associated persons to the DMI.
Step 4: Add dependents
Add one or more eligible associated persons to the DMI.
Endpoint: POST /dependents_management_intents/{dependents_management_intent_id}/dependents
The response is the updated DMI:
Step 5: Remove dependents if needed
If the employee changes their selection, or if a selected dependent is ineligible or
restricted, remove that associated person from the DMI.
Endpoint: DELETE /dependents_management_intents/{dependents_management_intent_id}/dependents/{associated_person_id}
Step 6: Confirm the dependent list
When the selected dependent list is final and no selected dependent is ineligible or
restricted, confirm the DMI.
Endpoint: POST /dependents_management_intents/{dependents_management_intent_id}/confirm
Confirming returns 204 No Content and moves the DMI to processing.
Completing the DMI does not always mean the parent flow is finished. For enrolment, keep
following the enrolment intent until it becomes pending_confirmation, enrolling, or
enrolled. For policy amendments, keep following the policy amendment intent until it is
amended or terminal.
Step 7: Start a dependent change after policy issuance
To add or remove dependents after a policy has been issued, create a policy amendment
intent for the policy. Request the dependents change type.
Endpoint: POST /policies/{policy_id}/policy_amendment_intents
The amendment intent moves through its own lifecycle:
When the amendment is action_required with code: "provide_dependents_information",
create the DMI sub-intent:
Endpoint: POST /policies/{policy_id}/policy_amendment_intents/{id}/create_dependents_management_intent
Use the returned dmi_ ID with Steps 3 through 6 to check eligibility, add or remove
dependents, and confirm the dependent list.
After the DMI is completed, retrieve the parent amendment intent and continue from its
current status:
Endpoint: GET /policies/{policy_id}/policy_amendment_intents/{policy_amendment_intent_id}
If the amendment reaches pending_confirmation, show the employee the quote and
confirmation reason, then confirm:
Endpoint: POST /policies/{policy_id}/policy_amendment_intents/{policy_amendment_intent_id}/confirm
Cancel if the employee does not proceed
If the employee decides not to continue while the DMI is still action_required, cancel
the DMI.
Endpoint: POST /dependents_management_intents/{dependents_management_intent_id}/cancel
For post-policy amendments, you may also need to cancel the parent amendment intent if the employee has abandoned the whole amendment.
Endpoint: POST /policies/{policy_id}/policy_amendment_intents/{id}/cancel
Webhooks summary
Handle DMI events and the parent-intent events for the flow you are in:
Each webhook identifies the resource that changed. Re-fetch the current DMI or parent intent before updating your UI, because status may have moved again by the time your handler runs.
Best practices
- Create associated persons first. DMI endpoints add existing
ap_IDs, not raw dependent details. - Use eligibility before selection. Check
associated_persons_eligibilityand block ineligible dependents before calling confirm. - Drive off parent and child statuses. The DMI tracks dependent collection; the parent intent tracks enrolment or policy amendment completion.
- Respect deadlines. Surface
due_byfrom the parentaction_requiredorpending_confirmationpayload so employees act in time. - Handle unknown enum values. New statuses or reason codes may be added as providers expand. Prefer displaying human-readable reasons when available.
- Cancel intentionally. Cancel the DMI when dependent collection is abandoned, and cancel the parent policy amendment if the whole policy change should stop.
Next steps
- Employee Enrolment: enrol employees and handle enrolment intent statuses
- Assign Employee to a Group: add employees to benefit groups before enrolment
- Webhooks and events: event handling
- API Errors: error response format

