Kota groupPolicies API
The groupPolicies API from Kota — 2 operation(s) for grouppolicies.
The groupPolicies API from Kota — 2 operation(s) for grouppolicies.
openapi: 3.1.0
info:
title: API Reference Associated Persons groupPolicies API
version: 1.0.0
servers:
- url: https://test.api.kota.io
description: test
- url: https://api.kota.io
description: production
tags:
- name: groupPolicies
paths:
/group_policies:
get:
operationId: list-group-policies
summary: List all group policies
description: Returns a list of `group_policies`. By default, only `active` and `scheduled` group policies are returned. Use the `status` query parameter to filter by other statuses. The `group_policies` are returned sorted by creation date, with the most recent `group_policy` appearing first.
tags:
- groupPolicies
parameters:
- name: employer_id
in: query
description: Filters group policies by employer.
required: false
schema:
type: string
- name: group_id
in: query
description: Filters group policies 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: `scheduled`, `active`, `expired`, `cancelled`.'
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/GroupPolicyResponsePagedList'
/group_policies/{group_policy_id}:
get:
operationId: retrieve-group-policy
summary: Retrieve a group policy
description: Retrieves a `group_policy` object.
tags:
- groupPolicies
parameters:
- name: group_policy_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/GroupPolicyResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
components:
schemas:
PolicyType:
type: string
enum:
- health_insurance
- life_assurance
title: PolicyType
HealthInsurancePolicyRenewalResponse:
type: object
properties:
renewal_date:
type: string
format: date
description: Renewal date.
window_start_date:
type: string
format: date
description: Renewal window start (inclusive).
window_end_date:
type: string
format: date
description: Renewal window end (inclusive).
status:
$ref: '#/components/schemas/HealthInsurancePolicyRenewalStatus'
description: Current renewal status.
renewed_policy_id:
type:
- string
- 'null'
description: Identifier of the renewed policy. This means existing policy will be replaced by the renewed policy on the renewal date.
required:
- renewal_date
- window_start_date
- window_end_date
- status
title: HealthInsurancePolicyRenewalResponse
HealthInsuranceFamilyTypeCostSharingConfigurationResponse:
type: object
properties:
type:
$ref: '#/components/schemas/HealthInsuranceFamilyCostSharingType'
description: Employer coverage family type
required:
- type
title: HealthInsuranceFamilyTypeCostSharingConfigurationResponse
GroupPolicyStatus:
type: string
enum:
- scheduled
- active
- expired
- cancelled
title: GroupPolicyStatus
PolicyPlanResponse:
type: object
properties:
id:
type: string
description: Unique identifier for the plan. Prefixed with pl_.
name:
type: string
description: Plan display name.
description:
type: string
description: Short description of the plan.
currency:
$ref: '#/components/schemas/CurrencyCode'
description: ISO 4217 currency code for pricing under this plan.
documents:
type: array
items:
$ref: '#/components/schemas/PlanDocumentResponse'
description: List of plan documents (e.g., IPIDs, T&Cs).
required:
- id
- name
- description
- currency
- documents
title: PolicyPlanResponse
HealthInsuranceGroupPolicyResponse:
type: object
properties:
group_policy_number:
type:
- string
- 'null'
description: Provider-issued policy number. May be null if not yet issued.
renewal:
$ref: '#/components/schemas/HealthInsurancePolicyRenewalResponse'
description: Renewal information for the policy.
configuration:
$ref: '#/components/schemas/HealthInsuranceGroupPolicyConfigurationResponse'
description: How the policy is configured by default, such as cost sharing and other options.
required:
- renewal
- configuration
title: HealthInsuranceGroupPolicyResponse
GroupPolicyResponse:
type: object
properties:
id:
type: string
description: Unique identifier for the group policy. Prefixed with `gp_`.
group_id:
type: string
description: Identifier for the group associated with this group policy.
employer_id:
type: string
description: Identifier for the employer associated with this group policy.
start_date:
type: string
format: date
description: Policy start (effective) date in ISO 8601 (YYYY-MM-DD).
end_date:
type:
- string
- 'null'
format: date
description: Policy end date (inclusive) in ISO 8601 (YYYY-MM-DD), or null if open-ended.
cancellation_date:
type:
- string
- 'null'
format: date
description: Policy cancellation date (inclusive) in ISO 8610 (YYYY-MM-DD), or null if not applicable.
status:
$ref: '#/components/schemas/GroupPolicyStatus'
description: "Current lifecycle state of the `group_policy`, indicating its progress from creation to activation. Possible values are:\n - `scheduled`: Group policy has been scheduled for activation.\n - `active`: Group policy is now active\n - `expired`: Group policy is no longer active as it reached its end date\n - `cancelled`: Group policy is now cancelled for any reason."
type:
$ref: '#/components/schemas/PolicyType'
description: Policy type. Determines which sub-object is populated.
provider:
$ref: '#/components/schemas/PolicyProviderResponse'
description: Provider information for this policy.
plan:
$ref: '#/components/schemas/PolicyPlanResponse'
description: Plan information for this policy
health_insurance:
$ref: '#/components/schemas/HealthInsuranceGroupPolicyResponse'
description: Health insurance–specific fields (present when `type=health_insurance`).
disclosures:
type: array
items:
$ref: '#/components/schemas/DisclosureResponse'
description: Disclosures associated with this group policy.
object:
type: string
description: The object type
required:
- id
- start_date
- status
- type
- provider
- plan
- disclosures
title: GroupPolicyResponse
HealthInsuranceMemberSelectionCostSharingConfigurationResponse:
type: object
properties:
partner:
type: boolean
description: If a spouse/partner is covered.
children:
type: boolean
description: If children are covered.
required:
- partner
- children
title: HealthInsuranceMemberSelectionCostSharingConfigurationResponse
HealthInsuranceGroupPolicyConfigurationResponse:
type: object
properties:
cost_sharing:
$ref: '#/components/schemas/HealthInsuranceCostSharingConfigurationResponse'
description: Defines how the policies total cost is shared between employer and employee.
required:
- cost_sharing
title: HealthInsuranceGroupPolicyConfigurationResponse
HealthInsuranceCostSharingType:
type: string
enum:
- member_count
- member_selection
- percentage
- policyholder_only
- family_type
title: HealthInsuranceCostSharingType
DisclosureType:
type: string
enum:
- intermediary_role
- intermediary_commission
- underwriter_disclaimer
- anti_selection_notice
- statement_of_needs
- product_information
- pre_existing_conditions
- statutory_warning
title: DisclosureType
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
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
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
ProblemDetails:
type: object
properties:
type:
type:
- string
- 'null'
title:
type:
- string
- 'null'
status:
type:
- integer
- 'null'
detail:
type:
- string
- 'null'
instance:
type:
- string
- 'null'
title: ProblemDetails
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
DisclosureResponse:
type: object
properties:
category:
$ref: '#/components/schemas/DisclosureCategory'
description: The category of the disclosure.
type:
$ref: '#/components/schemas/DisclosureType'
description: The specific type of disclosure within its category.
text:
type: string
description: The disclosure statement text.
required:
- category
- type
- text
title: DisclosureResponse
HealthInsurancePolicyRenewalStatus:
type: string
enum:
- upcoming
- open
- renewed
- cancelled
title: HealthInsurancePolicyRenewalStatus
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
DisclosureCategory:
type: string
enum:
- regulatory
- provider
- intermediary
title: DisclosureCategory
PlanDocumentType:
type: string
enum:
- ipid
- table_of_cover
- waiting_periods
- hospital_list
- plan_summary
- terms_and_conditions
- other
title: PlanDocumentType
GroupPolicyResponsePagedList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/GroupPolicyResponse'
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: GroupPolicyResponsePagedList
PolicyProviderResponse:
type: object
properties:
id:
type: string
description: Unique identifier for the provider. Prefixed with pr_.
name:
type: string
description: Provider display name.
description:
type: string
description: Short description of the provider.
logo_url:
type: string
employer_portal_url:
type:
- string
- 'null'
description: URL for the employer portal.
employee_portal_url:
type:
- string
- 'null'
description: URL for the employee portal (may include claims management).
support_phone_number:
type:
- string
- 'null'
description: Provider support phone number in E.164 format.
required:
- id
- name
- description
- logo_url
title: PolicyProviderResponse
HealthInsuranceFamilyCostSharingType:
type: string
enum:
- single
- couple
- single_with_children
- family
title: HealthInsuranceFamilyCostSharingType
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Authorization header using the Bearer scheme