---
title: "Get company pay rules"
method: GET
path: "/company-policies/v1/pay-rules"
tags: ["Company Policies:v1:PayRules"]
---

# Get company pay rules

`GET /company-policies/v1/pay-rules`

## Request

- Base URL: `https://api.connecteam.com`
- URL: `https://api.connecteam.com/company-policies/v1/pay-rules`
- Auth: one of:
  - API key in header `X-API-KEY`
  - OAuth 2
    - Client credentials
    - Token URL: `/oauth/v1/token` scopes: `company_policies.read`

Retrieve a list of pay rules associated with the account.

## Response `200`

Successful Response

- APIResponseV2PayRulesResponse
  - `requestId` string
  - `data` PayRulesResponse, required
    - `payRules` PayRule[], required: List of company pay rules
      - `id` string, required: The pay rule id
      - `name` string, required: The pay rule name
      - `type` 'overtime' | 'additionalHourlyRate' | 'regular' | 'breaksPremium' | 'flatPay' | 'spreadOfHours' | 'specialRate', required
      - `calculationMode` 'multiplier' | 'addition', required
      - `factor` number, required: The pay rule factor
      - `code` string, nullable: The pay rule code
      - `category` 'bonus' | 'tips' | 'reimbursement' | 'mileage' | 'other'
      - `conditions` PayRuleCondition[]: The conditions that trigger the pay rule, with their thresholds. Empty for rules without hour-based conditions (e.g. regular, flat pay, breaks premium and spread of hours rules)
        - `id` string, nullable: The condition id
        - `name` string, nullable: The condition name. For holiday conditions this is the holiday name
        - `code` string, nullable: The condition code, used in payroll exports
        - `rule` 'daily' | 'weekly' | 'holiday' | 'partialDay' | 'consecutiveDays' | 'payrollPeriod' | 'breaksPremium', required
        - `afterHours` number, nullable: Set for 'daily', 'weekly', 'payrollPeriod' and 'consecutiveDays' conditions: the pay rule applies to hours worked after this many hours in the day, work week or pay period (e.g. 8 = from the 9th hour on). For 'consecutiveDays' it counts hours on the qualifying day, and 0 means from the first hour
        - `days` PayRuleWeekday[], nullable: Set for 'daily' and 'partialDay' conditions: the weekdays the condition applies on
        - `consecutiveDays` integer, nullable: Set for 'consecutiveDays' conditions: the condition applies from this consecutive worked day on (e.g. 7 = the 7th consecutive day worked and every consecutive day after it)
        - `startDate` string, date, nullable: Set for 'holiday' conditions: the first day of the holiday (ISO 8601)
        - `endDate` string, date, nullable: Set for 'holiday' conditions: the last day of the holiday, inclusive (ISO 8601)
        - `isRepeatingYearly` boolean, nullable: Set for 'holiday' conditions: whether the holiday repeats on the same dates every year
        - `startTimeSecs` integer, nullable: Time of day the condition starts, in seconds from local midnight (e.g. 79200 = 22:00). Set for 'partialDay' conditions, and for 'holiday' conditions that start at a specific time on the start date (omitted when the holiday covers whole days)
        - `endTimeSecs` integer, nullable: Time of day the condition ends, in seconds from local midnight (e.g. 21600 = 06:00). Set for 'partialDay' conditions (an end before the start means the window crosses midnight, and 0 means midnight), and for 'holiday' conditions that end at a specific time on the end date (0 means the end of that day; omitted when the holiday covers whole days)
        - `isRegularHoursOnly` boolean, nullable: Whether only regular hours (hours not already paid under another overtime or special rate condition) count toward this condition
        - `jobScope` PayRuleConditionJobScope
          - `scopeType` 'allExcept' | 'only', required
          - `jobIds` string[], required: Ids of the jobs (or parent jobs) the scope type refers to
      - `conditionsOperator` 'or' | 'and'
      - `isAppliedToAllTimeClocks` boolean: Whether the pay rule applies on every time clock. When false, it applies only on the time clocks it is limited to (see appliedTimeClockIds)
      - `appliedTimeClockIds` integer[]: Ids of the time clocks the pay rule is limited to, among the active time clocks you can access. Empty when the rule applies to all time clocks
      - `spreadOfHours` PayRuleSpreadOfHours
        - `thresholdHours` integer, required: The pay rule applies on days where the span from the first clock-in to the last clock-out is longer than this many hours
        - `premiumHours` integer, required: How many hours are paid at the pay rule's rate when it applies

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-03** `a01dde7c27fb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/connecteam/apis/connecteam-api-documentation/changes/company-policies/v1/pay-rules/get.md)

---

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