---
title: "Create Deduction Template"
method: POST
path: "/deductionTemplate"
---

# Create Deduction Template

`POST /deductionTemplate`

Create a deduction template.

## Request body

- object
  - `companyID` string, required — ID of Company
  - `custom_name` string, required — Name assigned to deduction template (this is what will show on paystubs)
  - `deduction_type` '401k' | 'hsa' | 'garnishment' | 'miscellaneous' | 'section_125' | 'roth_401k' | '403b' | 'simple_ira' | 'roth_ira' — Type of deduction
  - `employee_contribution` object — Object containing all the fields which are needed to define the employee contribution.
    - `override_type` string — Override type (Accepts: final, overridable, needs_input)
    - `contribution_type` string — Type of contribution (Accepts: dollars, percentage)
    - `value` number, float — The Value of the employee contribution
  - `employer_contribution` object — Object containing all the fields which are needed to define the employer_contribution.
    - `override_type` string — Override type (Accepts: final, overridable, needs_input)
    - `contribution_type` string — Type of contribution (Accepts: dollars, percentage)
    - `value` number, float — The Value of the employee contribution
  - `additional_fields` object — If the Deduction Template Definition contains additional_fields, pass those values here
  - `deduction_credit` boolean — (Customer Accounts Only - Early Access) Denotes whether the deduction should be returned back to the company or not. By default, garnishments and miscellaneous type deductions are not returned back, and all others are.

## Response `200`

200

- object
  - `success` boolean
  - `data` object
    - `deductionTemplateID` string
    - `companyID` string
    - `custom_name` object
      - `const` string
    - `deduction_type` object
      - `const` string
    - `employee_contribution` object
      - `properties` object
        - `contribution_type` object
          - `const` string
        - `value` object
          - `type` string
          - `default` integer
        - `override_type` object
          - `const` string
      - `required` string[]
    - `employer_contribution` object
      - `properties` object
        - `contribution_type` object
          - `const` string
        - `percentage_source` object
          - `enum` string[]
        - `matching` object
          - `const` boolean
        - `value` object
          - `type` string
          - `default` integer
        - `override_type` object
          - `const` string
      - `required` string[]
    - `additional_properties` object

## Other responses

- `400` — 400

---

[API](https://skmtc.net/zeal/apis/zeal-api.md) · [All operations](https://skmtc.net/zeal/apis/zeal-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zeal/zeal-api/versions/01346dceb27d/schema)
