---
title: "company plan"
method: POST
path: "/v{version}/companies/{company_id}/plans"
tags: ["Plan"]
---

# company plan

`POST /v{version}/companies/{company_id}/plans`

Create a new plan for a company.<p>Scopes: import_plan</p>

## Path parameters

- `company_id` string, required
- `version` string, required

## Request body

- DtosPlanImport
  - `plan_id` string, required — The plan id.
  - `previous_plan_id` string — The Ease previous plan id. A Plan of type 'Legal' cannot have a Previous Plan. Any previous plan must be from the current company, must be of the same type, must not be deleted, and must have the start date before the current plan start date.
  - `carrier` string — The plan carrier name.
  - `name` string, required — The plan name.
  - `admin_name` string — The plan admin name.
  - `type` string, required — The plan type. Please see <a href="/api/docs/v2#section/Plan-Types">Plan Types</a> for a complete list of supported values.
  - `start_date` string, required — The plan start date.
  - `end_date` string — The plan end date. The date is inclusive.
  - `instructions` string — The plan instructions.
  - `deduction_periods` integer — The number of deduction cycles for the plan per year. Accepted values are 1-52.
  - `benefits` DtosPlanBenefits
    - `deductible` string
    - `office_visit` string
    - `inpatient` string
    - `outpatient` string
    - `emergency_room` string
    - `rx` string
    - `lab_x_ray` string
    - `out_of_network` string
    - `out_of_pocket_max` string
    - `preventive` string
    - `basic` string
    - `major` string
    - `ortho` string
    - `annual_benefit_max` string
    - `exam` string
    - `materials` string
    - `eye_glass_lenses` string
    - `frame_allowance` string
    - `contact_lenses` string
    - `exam_service_interval` string
    - `lenses_and_frame_service_interval` string
    - `coinsurance` string
    - `other` string
    - `ee_benefit_type` 'NONE' | 'Flat Amount' | 'X Earnings' | '% Employee' | 'Increments' | 'Custom' | 'Custom (Based Off Employee Selection)' — Benefit calculation type (i.e., Flat Amount, X Earnings, etc)
    - `is_volume_plan` boolean — Denotes that the plan is a volume based plan
    - `volume_basis_percent` string — The volumne basis percent, based on earnings, for earnings based plans
    - `ee_earnings_min` string — The minimum electable benefit amount for earnings based plans
    - `ee_earnings_max` string — The maximum electable benefit amount for earnings based plans
    - `ee_increment_from` string — The minimum electable benefit amount for increment based plans
    - `ee_increment_to` string — The maximum electable benefit amount for increment based plans
    - `ee_increment_by` string — The benefit increase increment for increment based plans
    - `ee_flat_amount` string — The electable amount for a flat amount plane
    - `ee_guaranteed_issue` string — The Guaranteed Issue of a plan
    - `sp_percentage` string — The percentage paid for spouse
    - `ch_percentage` string — The percent paid for child(ren)
    - `request_primary_care_provider_id` boolean — Whether or not the plan requires a primary care provider id.
    - `request_primary_care_provider_name` boolean — Whether or not the plan requires a primary care provider name.
  - `cobra_eligibility` 'Not Eligible' | 'Eligible - 100%' | 'Eligible - 102%' | 'Eligible - 110%' | 'Eligible - 105%' — The Cobra eligibility setting. The default is "Not Eligible".
  - `documents` DtosPlanDocumentEditable[] — Any plan specific linkable documents.
    - `name` string, required — The name of the document. This will be displayed to the user.
    - `url` string — The external link to the document.
    - `requires_review` boolean — Indicates whether document has to be reviewed by employee.
    - `type` string — Describes what kind of file is associated with this document. Please use "Web Address" for this field when adding documents to plans.
    - `system_type` string — Describes the purpose of the document. Please use "Plan" for this field when adding documents to plans.
  - `eligibilities` DtosPlanEligibility[] — Plan eligibilities.
    - `name` string, required — The name of the eligibility.
    - `policy_number` string
    - `entry_date` '' | 'First of the Month' | 'First of the Month Next Following' | '15th of the Month' | 'Immediate' | 'Semi-Annual' | 'Quarterly' | 'First of the Month (Coinciding)'
    - `job_classes` string[]
    - `departments` string[]
    - `divisions` string[]
    - `locations` string[]
    - `ineligible_employees` string[]
    - `scheduled_hours_min` number, double — The minimum number of scheduled hours to be eligible, inclusive.
    - `scheduled_hours_max` number, double — The maximum number of scheduled hours to be eligible, inclusive.
    - `age_determination` 'Plan Anniversary' | 'Plan Anniversary (Ignore Hire Date)' | 'Current Year - Birth Year' | 'End of the Month' | 'First of the Month' | 'First of the Year' | 'Original Effective Date' — The age determination for the plan. The default is "Plan Anniversary".
    - `waiting_period` integer — The eligibility's waiting period.
    - `waiting_period_type` 'Days' | 'Months' | '' — The type of waiting period.
    - `contributions` DtosEligibilityContributions
      - `contribution_detail` 'Table' | 'Tier' | 'Custom' | 'Tier-Tobacco', required
      - `contribution_type` 'Employee' | 'Employer' | 'Base Plan', required — Specifies who the contribution costs are attributed to. "Base Plan" can be used to inherit from the base plan.
      - `base_plan_id` string — The base plan id. Must match an existing plan_id from the list of externally supplied plans OR match an existing ease plan id.
      - `dependents` string — Combined Dependents. Optionally used when contribution_detail = "Tier".
      - `ee` string — Employee only. Used when contribution_detail = "Tier".
      - `es` string — Employee + Spouse. Used when contribution_detail = "Tier".
      - `e_s1c` string — Employee + Spouse + 1 Child. Used when contribution_detail = "Tier".
      - `e_s2c` string — Employee + Spouse + 2 Children. Used when contribution_detail = "Tier".
      - `e_s3c` string — Employee + Spouse + 3 Children. Used when contribution_detail = "Tier".
      - `e1c` string — Employee + 1 child. Used when contribution_detail = "Tier".
      - `e2c` string — Employee + 2 children. Used when contribution_detail = "Tier".
      - `e3c` string — Employee + 3 children. Used when contribution_detail = "Tier".
      - `ee_tobacco` string — Employee only. Used when contribution_detail = "Tier-Tobacco".
      - `es_tobacco` string — Employee + Spouse. Used when contribution_detail = "Tier-Tobacco".
      - `e_s1c_tobacco` string — Employee + Spouse + 1 child. Used when contribution_detail = "Tier-Tobacco".
      - `e_s2c_tobacco` string — Employee + Spouse + 2 children. Used when contribution_detail = "Tier-Tobacco".
      - `e_s3c_tobacco` string — Employee + Spouse + 3 children. Used when contribution_detail = "Tier-Tobacco".
      - `e1c_tobacco` string — Employee + 1 child. Used when contribution_detail = "Tier-Tobacco".
      - `e2c_tobacco` string — Employee + 2 children. Used when contribution_detail = "Tier-Tobacco".
      - `e3c_tobacco` string — Employee + 3 children. Used when contribution_detail = "Tier-Tobacco".
      - `employee` string — Used when contribution_detail = "Table".
      - `spouse` string — Used when contribution_detail = "Table".
      - `children` string — Used when contribution_detail = "Table".
      - `employee_tobacco` string — Used when contribution_detail = "Table".
      - `spouse_tobacco` string — Used when contribution_detail = "Table".
      - `child1` string — Used when contribution_detail = "Table".
      - `child2` string — Used when contribution_detail = "Table".
      - `child3` string — Used when contribution_detail = "Table".
      - `family` string — Used when contribution_detail = "Table".
      - `overall_max` string — Used when contribution_detail = "Table".
      - `apply_base_plan_amount_to_employee_only` boolean — Indicates whether or not to limit the base amount to employee only.
  - `carrier_fields` DtosPlanImportCarrierFields
    - `plan_code` string — Covered California: HIOS Id.
    - `plan_type_code` string — Covered California: Plan Level.
    - `supplemental_identifier` string — Covered California: Reference Health Insurance Carrier.
  - `rates` DtosEligibilityRates
    - `rate_type` 'Table' | 'Tier-Table' | 'Tier', required
    - `plan_type` string — The type of the plan. See Plan.Type for more information.
    - `rate_basis` string — The rate basis for a life plan.
    - `rate_adjustment_factor` string — The Rate Adjustment Factor,
    - `per_unit` number, double — The per unit amount for a life plan.
    - `tier_employee` string — Amount for employee. Used when RateType == "Tier". Example: $12.10 or 30%.
    - `tier_spouse` string — Amount for spouse. Used when RateType == "Tier". Example: $12.10 or 30%.
    - `tier_children` string — Amount for children. Used when RateType = "Tier". Example: $12.10 or 30%.
    - `tier_dependents` string — Amount for dependents. Used when RateType = "Tier". Example: $12.10 or 30%.
    - `tier_ee` string — Amount for employee Only. Used when RateType = "Tier". Example: $12.10 or 30%.
    - `tier_es` string — Amount for employee + spouse. Used when RateType = "Tier". Example: $12.10 or 30%.
    - `tier_e_s1c` string — Amount for employee + spouse + 1 child. The rate for child 1. Used when RateType = "Tier". Example: $12.10 or 30%.
    - `tier_e_s2c` string — Amount for employee + spouse + 2 children. Used when RateType = "Tier". Example: $12.10 or 30%.
    - `tier_e_s3c` string — Amount for employee + spouse + 3 children. Used when RateType = "Tier". Example: $12.10 or 30%.
    - `tier_e1c` string — Amount for employee + 1 child. Used when RateType = "Tier". Example: $12.10 or 30%.
    - `tier_e2c` string — Amount for employee + 2 children. Used when RateType = "Tier". Example: $12.10 or 30%.
    - `tier_e3c` string — Amount for employee + 3 children. Used when RateType = "Tier". Example: $12.10 or 30%.
    - `tier_rates_tobacco` string[] — Used when RateType = "Tier". Example: $12.10.
    - `tier_table_rates_ee_only` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_eesp` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_e_e1ch` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_eech` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_family` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_ee_only_tobacco` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_eesp_tobacco` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_e_e1ch_tobacco` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_eech_tobacco` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_family_tobacco` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_ee_only_male` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_eesp_male` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_e_e1ch_male` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_eech_male` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_family_male` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_ee_only_female` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_eesp_female` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_e_e1ch_female` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_eech_female` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `tier_table_rates_family_female` string[] — Used when RateType = "Tier-Table". Example: $12.10.
    - `table_columns` 'Rates' | 'Employee & Spouse Rates' | 'Gender Rates' | 'Tobacco Rates' | 'Gender & Tobacco Rates' | 'Employee & Spouse & Tobacco Rates' | 'Employee & Spouse & Child Rates' — Defaults to Rates.
    - `tier_table_columns` 'Rates' | 'Gender Rates' | 'Tobacco Rates' — Defaults to Rates.
    - `table_rates` string[] — Contains the rate table amounts by age, [0] = {0-17}, [1] = 18, [2] = 19, ..., [62] = 80+. Used when RateType = "Table". Note that the specific configuration will depend on the AgeBandType value. Example: $12.10.
    - `table_employee` string[] — Contains the rate table amounts by age, [0] = {0-17}, [1] = 18, [2] = 19, ..., [62] = 80+. Used when RateType = "Table". Note that the specific configuration will depend on the AgeBandType value. Example: $12.10.
    - `table_spouse` string[] — Contains the rate table amounts by age, [0] = {0-17}, [1] = 18, [2] = 19, ..., [62] = 80+. Used when RateType = "Table". Note that the specific configuration will depend on the AgeBandType value. Example: $12.10.
    - `table_employee_tobacco` string[] — Contains the rate table amounts by age, [0] = {0-17}, [1] = 18, [2] = 19, ..., [62] = 80+. Used when RateType = "Table". Note that the specific configuration will depend on the AgeBandType value. Example: $12.10.
    - `table_spouse_tobacco` string[] — Contains the rate table amounts by age, [0] = {0-17}, [1] = 18, [2] = 19, ..., [62] = 80+. Used when RateType = "Table". Note that the specific configuration will depend on the AgeBandType value. Example: $12.10 or 30%.
    - `table_child` string[] — Contains the rate table amounts by age, [0] = {0-17}, [1] = 18, [2] = 19, ..., [62] = 80+. Used when RateType = "Table". Note that the specific configuration will depend on the AgeBandType value. Example: $12.10.
    - `table_male` string[] — Contains the rate table amounts by age, [0] = {0-17}, [1] = 18, [2] = 19, ..., [62] = 80+. Used when RateType = "Table". Note that the specific configuration will depend on the AgeBandType value. Example: $12.10.
    - `table_female` string[] — Contains the rate table amounts by age, [0] = {0-17}, [1] = 18, [2] = 19, ..., [62] = 80+. Used when RateType = "Table". Note that the specific configuration will depend on the AgeBandType value. Example: $12.10.
    - `table_tobacco` string[] — Contains the rate table amounts for the employee by age, [0] = {0-17}, [1] = 18, [2] = 19, ..., [62] = 80+. Used when RateType = "Table". Note that the specific configuration will depend on the AgeBandType value. Example: $12.10.
    - `table_male_tobacco` string[] — Contains the rate table amounts by age, [0] = {0-17}, [1] = 18, [2] = 19, ..., [62] = 80+. Used when RateType = "Table". Note that the specific configuration will depend on the AgeBandType value. Example: $12.10.
    - `table_female_tobacco` string[] — Contains the rate table amounts by age, [0] = {0-17}, [1] = 18, [2] = 19, ..., [62] = 80+. Used when RateType = "Table". Note that the specific configuration will depend on the AgeBandType value. Example: $12.10.
    - `table_child1` string — Amount for 1 child. Used when RateType = "Table". Example: $12.10 or 30%.
    - `table_child2` string — Amount for 2 children. Used when RateType = "Table". Example: $12.10 or 30%.
    - `table_child3` string — Amount for 3 children. Used when RateType = "Table". Example: $12.10 or 30%.
    - `age_band_type` 'All Ages (starting with 0-17)' | 'All Ages' | '5 Year Age Bands' | '10 Year Age Bands' — Age bands for the rates. The default is "All Ages (starting with 0-17)", which starts with 0-17.
    - `base_spouse_age_off_employee` boolean — Base the spouse age off employee age.
    - `base_spouse_tobacco_off_employee` boolean — Base the tobacco spouse age off employee age.
    - `base_adult_children_off_age` boolean — Base the adult children age off their age.
    - `rate_library_plan_id` string — For rates associated with a Rate Library, the external Plan Id for the rate.
    - `rate_library_name` string — For rates associated with a Rate Library, the library name for the rate.
  - `form_ids` string[] — The plan ease form ids, for example "ca_anthem_sg_202101".

## Response `200`

Success

- DtosPlanImportPlansResult — The Create Plans response.
  - `company_id` string — The id of the company, whether new or existing.
  - `plans` DtosPlansResultPlanInfo[] — A mapping of the original plan ids and the new Ease import ids per plan.
    - `external_id` string — The external plan id, originally passed in from the request.
    - `id` string — The Ease plan id.
    - `import_id` string — The import id of the plan.
  - `employees` ControllersEmployeeResult[] — A list that maps the provided employee id to our Ease generated employee id.
    - `external_id` string — The provided employee id.
    - `id` string — Ease generated employee id.

---

[API](https://skmtc.net/ease/apis/version-2.md) · [All operations](https://skmtc.net/ease/apis/version-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ease/version-2/revisions/be66ed178abe/schema)
