---
title: "List Payroll Periods"
method: GET
path: "/v2/time_clocking/payroll_periods"
tags: ["Time Clocking"]
---

# List Payroll Periods

`GET /v2/time_clocking/payroll_periods`

## Request

- Base URL: `https://api.7shifts.com`
- URL: `https://api.7shifts.com/v2/time_clocking/payroll_periods`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://app.7shifts.com/oauth2/authorize`
    - Client credentials
    - Password
    - Token URL: `https://app.7shifts.com/oauth2/token`
  - API key in cookie `7session`
- TypeScript: <https://skmtc.dev/7shifts/apis/7shifts-api/docs/v2/time_clocking/payroll_periods/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `cursor` string
- `limit` integer
- `company_id` integer, required
- `include_punches_status` boolean

## Headers

- `x-api-version` string: An API version
- `x-company-guid` string, uuid

## Response `200`

Paginated payroll periods

- object
  - `data` object[], required
    - `id` integer, required: The id of the pay period state
    - `company_id` integer, required: The id of the company that the pay period belongs to
    - `start` string, required: It is one representation of ISO8601 date extended format
    - `end` string, required: It is one representation of ISO8601 date extended format
    - `closed` boolean, required: Whether or not the pay period is closed
    - `finalized` boolean, nullable, required: Whether or not the pay period is finalized (all location states are closed)
    - `states` object[], required: Whether or not the location pay period is closed/processed
      - `id` integer, nullable, required: The id of the pay period state.
      - `location_id` integer, required: The location id of the company.
      - `closed` boolean, required: Whether or not the pay period is closed
      - `processed` string, date, nullable, required: The date the pay period was processed for an export.
      - `modified_by_user_id` integer, required: The user id of the user who modified the pay period. This may indicate an employee or a server process. Server processes will have a negative user id.
      - `closed_or_reopened_at` string, nullable, required: It is one representation of ISO8601/RFC3339 date time format
    - `all_punches_approved` boolean, nullable, required: Whether all the punches in the payroll period that the user can see have been approved. Query parameter include_punches_status must be true.
    - `employee_punch_approvals` 'reviewed' | 'pending', nullable, required: Identify if all punches were reviewed by the employee. Query parameter include_punches_status must be true. If Compliance is not available or the feature is disabled the property will be null.
    - `created` string, nullable, required: It is one representation of ISO8601/RFC3339 date time format
    - `modified` string, nullable, required: It is one representation of ISO8601/RFC3339 date time format
  - `meta` object, required
    - `cursor` object, required
      - `current` string, nullable, required: The current cursor.
      - `prev` string, nullable, required: A cursor for navigating to the previous page.
      - `next` string, nullable, required: A cursor for navigating to the next page.
      - `count` integer, nullable, required: The total items in the current cursor.

---

[API](https://skmtc.dev/7shifts/apis/7shifts-api.md) - [All operations](https://skmtc.dev/7shifts/apis/7shifts-api/llms.txt) - [OpenAPI document](https://skmtc.dev/7shifts/apis/7shifts-api/revisions/40e0ef40dfcd?raw)
