---
title: "Retrieve a group policy intent"
method: GET
path: "/group_policy_intents/{group_policy_intent_id}"
tags: ["Group Policy Intents"]
---

# Retrieve a group policy intent

`GET /group_policy_intents/{group_policy_intent_id}`

## Request

- Base URL: `https://test.api.kota.io`
- URL: `https://test.api.kota.io/group_policy_intents/{group_policy_intent_id}`
- Auth: HTTP bearer

Retrieves a `group_policy_intent` object.

## Path parameters

- `group_policy_intent_id` string, required

## Response `200`

OK

- GroupPolicyIntentResponse
  - `id` string, required: Unique identifier for the group policy intent
  - `type` 'single' | 'multi_level'
  - `group_id` string, nullable, required: Unique identifier for the group. Null only on a multi-level intent, whose groups are on its levels.
  - `plan_id` string, nullable, required: Unique identifier for the plan. Null only on a multi-level intent, whose plans are on its levels.
  - `quote_intent_id` string, required: Unique identifier for the group quote intent this policy intent was created from
  - `status` 'processing' | 'action_required' | 'pending_verification' | 'pending_provider_approval' | 'policy_created' | 'expired' | 'provider_rejected' | 'manual_renewal_gathering_required', required
  - `due_date` string, date-time, nullable: Due date for the policy intent
  - `cost_sharing` CostSharingConfigurationResponse
    - `type` 'member_count' | 'member_selection' | 'member_selection_percentage_based' | 'percentage' | 'policyholder_only' | 'family_type' | 'fixed_amount' | 'full_coverage' | 'pooled_member_count', required
    - `member_count` MemberCountCostSharingConfigurationResponse
      - `adults` integer, required: Number of additional adults covered, including partner/spouse.
      - `children` integer, required: Number of additional children covered.
    - `member_selection` MemberSelectionCostSharingConfigurationResponse
      - `partner` boolean, required: If a spouse/partner is covered.
      - `children` boolean, required: If children are covered.
    - `member_selection_percentage_based` MemberSelectionPercentageBasedCostSharingConfigurationResponse
      - `partner` boolean, required: If a spouse/partner is covered.
      - `children` boolean, required: If children are covered.
      - `percentage` integer, required: Employer coverage percentage of each covered member's premium: For 40% send 40. For 100% send 100.
    - `percentage` PercentageCostSharingConfigurationResponse
      - `percentage` integer, required: Employer coverage percentage: For 40% send 40. For 100% send 100.
    - `family_type` FamilyTypeCostSharingConfigurationResponse
      - `type` 'single' | 'couple' | 'single_with_children' | 'family', required
    - `fixed_amount` FixedAmountCostSharingConfigurationResponse
      - `monthly_amount` number, double, required: Monthly amount the employer covers, in the plan's currency. Must be positive.
    - `pooled_member_count` PooledMemberCountCostSharingConfigurationResponse
      - `dependents` integer, required: Number of dependents the employer covers in full, of any relationship: a spouse, partner or child each count as one. Must be zero or more.
  - `items` GroupQuoteIntentItemResponse[], required: The benefits the accepted quote covers and the levels they were quoted at, echoed from the quote intent. Always present: a `single` intent echoes its group, plan and cost sharing as one item of one level, so a consumer reads one shape for both.
    - `benefit_type` 'health_insurance' | 'life_assurance', required
    - `ref` string, nullable: The caller's label for the item, echoed as sent. Null when none was supplied.
    - `levels` GroupQuoteIntentLevelResponse[], required: The (group, plan) levels this benefit is quoted at, in the order they were sent.
      - `group_id` string, required: Unique identifier for the group this level quotes.
      - `plan_id` string, required: Unique identifier for the plan this level quotes.
      - `cost_sharing` CostSharingConfigurationResponse
        - `type` 'member_count' | 'member_selection' | 'member_selection_percentage_based' | 'percentage' | 'policyholder_only' | 'family_type' | 'fixed_amount' | 'full_coverage' | 'pooled_member_count', required
        - `member_count` MemberCountCostSharingConfigurationResponse
          - `adults` integer, required: Number of additional adults covered, including partner/spouse.
          - `children` integer, required: Number of additional children covered.
        - `member_selection` MemberSelectionCostSharingConfigurationResponse
          - `partner` boolean, required: If a spouse/partner is covered.
          - `children` boolean, required: If children are covered.
        - `member_selection_percentage_based` MemberSelectionPercentageBasedCostSharingConfigurationResponse
          - `partner` boolean, required: If a spouse/partner is covered.
          - `children` boolean, required: If children are covered.
          - `percentage` integer, required: Employer coverage percentage of each covered member's premium: For 40% send 40. For 100% send 100.
        - `percentage` PercentageCostSharingConfigurationResponse
          - `percentage` integer, required: Employer coverage percentage: For 40% send 40. For 100% send 100.
        - `family_type` FamilyTypeCostSharingConfigurationResponse
          - `type` 'single' | 'couple' | 'single_with_children' | 'family', required
        - `fixed_amount` FixedAmountCostSharingConfigurationResponse
          - `monthly_amount` number, double, required: Monthly amount the employer covers, in the plan's currency. Must be positive.
        - `pooled_member_count` PooledMemberCountCostSharingConfigurationResponse
          - `dependents` integer, required: Number of dependents the employer covers in full, of any relationship: a spouse, partner or child each count as one. Must be zero or more.
      - `coverage_selections` PlanCoverageOptionSelectionResponse[], nullable: Plan coverage option selections for this level. Null when none were supplied.
        - `configuration_id` string, required: Configuration ID (prefixed with `pc_`).
        - `options` SelectedOptionResponse[], required: Selected options.
          - `option_id` string, required: Option ID (prefixed with `pco_`).
          - `sub_options` SelectedOptionResponse[], nullable: Selected sub-options, if applicable.
  - `group_policy_ids` string[], required: The group policies created for this intent, one per level, once they exist. Always present and empty until the intent reaches `policy_created`.
  - `action_required` GroupPolicyIntentActionRequiredResponse
    - `code` 'provide_dependant_information' | 'provide_beneficiary_information' | 'provide_missing_information', required
    - `reason` string, required: Brief reason for the required action.
    - `reason_description` string, required: Detailed description of the required action.
    - `due_by` string, date-time, required: 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).
  - `disclosures` DisclosureResponse[], required: Disclosures associated with this intent.
    - `category` 'regulatory' | 'provider' | 'intermediary', required
    - `type` 'intermediary_role' | 'intermediary_commission' | 'underwriter_disclaimer' | 'anti_selection_notice' | 'statement_of_needs' | 'product_information' | 'pre_existing_conditions' | 'statutory_warning' | 'privacy_policy' | 'terms_of_business', required
    - `title` string, required: The title of the disclosure statement.
    - `text` string, required: The disclosure statement text. It may contain `{token}` placeholders, each of which has exactly one entry in `links` and must be rendered as an anchor to that link. A disclosure with no links contains no placeholders, so plain text stays plain text.
    - `links` DisclosureLinkResponse[], required: The documents `text` names, one per placeholder it carries. Empty for a disclosure that is text only.
      - `token` string, required: The placeholder this link fills. It appears in the disclosure's `text` wrapped in braces, as `{token}`, and matches `^[a-z][a-z0-9_]*$`. Tokens are unique within one disclosure, and every token in the text has exactly one link here.
      - `type` 'intermediary_role' | 'intermediary_commission' | 'underwriter_disclaimer' | 'anti_selection_notice' | 'statement_of_needs' | 'product_information' | 'pre_existing_conditions' | 'statutory_warning' | 'privacy_policy' | 'terms_of_business', required
      - `label` string, required: The anchor text to display in place of the token.
      - `url` string, required: Absolute HTTPS URL of the document.
      - `version` string, required: Version of the document at the URL, so a record of what was shown can name the exact document the customer could have read.
  - `object` string: Object type identifier

## Other responses

- `404`: Not Found

## Changes

- **2026-10-26** `998f7cb004ab`: 1 warning
  - deleted the `header` request parameter `X-Platform-Id`
- **2026-10-21** `ce9736d28f93`: 2 warning, 2 info
  - added the new `pooled_member_count` enum value to the `cost_sharing/allOf[#/components/schemas/CostSharingConfigurationResponse]/type/allOf[#/components/schemas/CostSharingType]/` response property for the response status `200`
  - added the new `pooled_member_count` enum value to the `items/items/levels/items/cost_sharing/allOf[#/components/schemas/CostSharingConfigurationResponse]/type/allOf[#/components/schemas/CostSharingType]/` response property for the response status `200`
  - added the optional property `cost_sharing/allOf[#/components/schemas/CostSharingConfigurationResponse]/pooled_member_count` to the response with the `200` status
  - added the optional property `items/items/levels/items/cost_sharing/allOf[#/components/schemas/CostSharingConfigurationResponse]/pooled_member_count` to the response with the `200` status
- **2026-10-16** `af8813bdc38e`: 1 info
  - added the required property `disclosures/items/title` to the response with the `200` status
- …earlier changes not shown

[Operation history](https://skmtc.dev/kota/apis/kota-api/changes/group_policy_intents/:group_policy_intent_id/get.md)

---

[API](https://skmtc.dev/kota/apis/kota-api.md) - [All operations](https://skmtc.dev/kota/apis/kota-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kota/apis/kota-api/revisions/998f7cb004ab?raw)
