---
title: "Get benefit fields requirements by benefit type"
method: GET
path: "/v1/benefits/{benefit_id}/requirements"
tags: ["Company Benefits"]
---

# Get benefit fields requirements by benefit type

`GET /v1/benefits/{benefit_id}/requirements`

Returns the field requirements for a given benefit type.

scope: `benefits:read`

## Path parameters

- `benefit_id` string, required

## Headers

- `X-Gusto-API-Version` '2026-06-15'

## Response `200`

Successful

- BenefitTypeRequirements
  - `employee_deduction` object — The amount to be deducted, per pay period, from the employee's pay.
    - `required` boolean
    - `editable` boolean
    - `default_value` object, nullable
      - `value` string
      - `type` string
    - `choices` string[], nullable
  - `contribution` object — An object representing the type and value of the company contribution.
    - `required` boolean
    - `editable` boolean
    - `default_value` object, nullable
      - `value` string
      - `type` string
    - `choices` string[], nullable
  - `deduct_as_percentage` object — Whether the employee deduction amount should be treated as a percentage to be deducted from each payroll.
    - `required` boolean
    - `editable` boolean
    - `default_value` object, nullable
      - `value` string
      - `type` string
    - `choices` string[], nullable
  - `catch_up` object — Whether the employee should use a benefit’s 'catch up' rate. Only Roth 401k and 401k benefits use this value for employees over 50.
    - `required` boolean
    - `editable` boolean
    - `default_value` object, nullable
      - `value` string
      - `type` string
    - `choices` string[], nullable
  - `limit_option` object — Some benefits require additional information to determine their limit. For example, for an HSA benefit, the limit option should be either 'Family' or 'Individual'. For a Dependent Care FSA benefit, the limit option should be either 'Joint Filing or Single' or 'Married and Filing Separately'.
    - `required` boolean
    - `editable` boolean
    - `default_value` object, nullable
      - `value` string
      - `type` string
    - `choices` string[], nullable
  - `company_contribution_annual_maximum` object — The maximum company contribution amount per year. A null value signifies no limit.
    - `required` boolean
    - `editable` boolean
    - `default_value` object, nullable
      - `value` string
      - `type` string
    - `choices` string[], nullable
  - `coverage_salary_multiplier` object — The coverage amount as a multiple of the employee's salary. Only applicable for Group Term Life benefits. Note: cannot be set if coverage amount is also set.
    - `required` boolean
    - `editable` boolean
    - `default_value` object, nullable
      - `value` string
      - `type` string
    - `choices` string[], nullable
  - `coverage_amount` object — The amount that the employee is insured for. Note: company contribution cannot be present if coverage amount is set.
    - `required` boolean
    - `editable` boolean
    - `default_value` object, nullable
      - `value` string
      - `type` string
    - `choices` string[], nullable

## Other responses

- `404` — Not Found The requested resource does not exist. Make sure the provided UUID is valid.

---

[API](https://skmtc.net/gusto/apis/gusto-api.md) · [All operations](https://skmtc.net/gusto/apis/gusto-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gusto/gusto-api/revisions/826dfa57fb3b/schema)
