---
title: "Batch save pay rules"
method: POST
path: "/management/v2/compliance/pay-rule:batch-save"
tags: ["Compliance"]
---

# Batch save pay rules

`POST /management/v2/compliance/pay-rule:batch-save`

## Request

- Base URL: `https://your-subdomain.deputy.deputy.com/api`
- URL: `https://your-subdomain.deputy.deputy.com/api/management/v2/compliance/pay-rule:batch-save`
- Auth: API key in header `OAuth`

Batch save pay rules.

## Request body

- PayRuleBatchSaveRequest
  - `contractId` integer
  - `payRules` Tenantcompliancev2modelPayRule[]
    - `id` integer
    - `title` string
    - `value` number, double
    - `remunerationBy` 'REMUNERATION_BY_UNKNOWN' | 'REMUNERATION_BY_BASE' | 'REMUNERATION_BY_SHIFT_LOADING' | 'REMUNERATION_BY_PERIOD_LOADING'
    - `remunerationType` 'REMUNERATION_TYPE_UNKNOWN' | 'REMUNERATION_TYPE_HOURLY' | 'REMUNERATION_TYPE_MULTIPLIER' | 'REMUNERATION_TYPE_UNIT' | 'REMUNERATION_TYPE_SALARY'
    - `isExported` boolean
    - `payrollCategory` string
    - `payPortionRule` 'PAY_PORTION_RULE_UNKNOWN' | 'PAY_PORTION_RULE_GREATER' | 'PAY_PORTION_RULE_EXACT' | 'PAY_PORTION_RULE_FULL'
    - `rateType` 'RATE_TYPE_UNKNOWN' | 'RATE_TYPE_ORDINARY' | 'RATE_TYPE_OVERTIME' | 'RATE_TYPE_PENALTY' | 'RATE_TYPE_NON_PAYABLE'
    - `comment` string
    - `operationalUnitIds` integer[]
    - `calculationRuleId` string
    - `calculationTypeId` string
    - `filter` V2modelFilter
      - `customFieldAnswers` ModelCustomFieldAnswer[]
        - `identifier` string
        - `system` 'UNSPECIFIED' | 'TIMESHEET' | 'EMPLOYEE' | 'ROSTER'
        - `configs` ModelCustomFieldAnswerConfig[]
          - `operation` string
          - `values` string[]
        - `type` 'TYPE_UNSPECIFIED' | 'TYPE_LIST' | 'TYPE_BOOL' | 'TYPE_NUMBER' | 'TYPE_TEXT' | 'TYPE_BOOL_YES_COMMENT' | 'TYPE_BOOL_NO_COMMENT'
        - `action` 'UNSPECIFIED_ACTION' | 'FILTER' | 'TOIL_ACCRUAL'
      - `recurrenceRule` string
      - `shiftSchedulingType` 'UNSPECIFIED' | 'SCHEDULED_ONLY' | 'UNSCHEDULED_ONLY'
      - `shiftStartTimeRange` string
      - `shiftEndTimeRange` string
      - `rRulePublicHolidayInclusion` 'PH_INCLUSION_UNSPECIFIED' | 'PH_ONLY' | 'NON_PH_ONLY'
      - `particularDate` string
      - `applyOncePerDay` boolean
      - `areaNames` string[]
      - `trainingRequirements` ModelTrainingRequirement[]
        - `module` string, int64
    - `localContext` string
    - `rateTag` string
    - `payConfig` ModelPayConfig
      - `roundUpHours` boolean
      - `loadingLimit` ModelLoadingLimit
        - `limitType` string
        - `limitPer` string
        - `customPeriod` string
        - `minValue` number, float
        - `maxValue` number, float
      - `classificationReference` string
    - `levelIds` integer[]
    - `levelAssnType` integer
    - `stpClass` string
    - `stpCode` string
    - `toilMultiplier` number, double
    - `leaveRuleId` integer
    - `payrollTaxCode` string
  - `confirmCustomisation` boolean

## Response `200`

A successful response.

- PayRuleBatchSaveResponse
  - `success` boolean
  - `error` string
  - `requiresConfirmation` boolean

---

[API](https://skmtc.dev/deputy/apis/deputy-v2-api.md) - [All operations](https://skmtc.dev/deputy/apis/deputy-v2-api/llms.txt) - [OpenAPI document](https://skmtc.dev/deputy/apis/deputy-v2-api/revisions/78f0278f4608?raw)
