---
title: "List the activity periods of a contract."
method: GET
path: "/api/2026-10-01/resources/contracts/contract_activity_periods"
tags: ["Contracts > ContractActivityPeriod"]
---

# List the activity periods of a contract.

`GET /api/2026-10-01/resources/contracts/contract_activity_periods`

## Request

- Base URL: `https://api.factorialhr.com`
- URL: `https://api.factorialhr.com/api/2026-10-01/resources/contracts/contract_activity_periods`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://id.factorialhr.com/oauth/authorize`
    - Token URL: `https://id.factorialhr.com/api/oauth/token` scopes: `contracts`
  - API key in header `x-api-key`

Returns the activity and inactivity periods of a single contract, most recent first. Periods are derived from the contract's approved versions, so they reflect the contract as it stands today. A contract that does not exist, or that the caller is not allowed to see, returns an empty list.

## Query parameters

- `contract_id` string, required: The contract whose periods are returned. Required — periods are computed per contract rather than stored, so they cannot be listed across a company.

## Response `200`

OK

- object
  - `data` ContractsContractActivityPeriod[]
    - `id` string, required: Identifier of the period, built from the contract id and the period start date. Periods are derived rather than stored, so this id is stable only while the underlying contract versions do not change.
    - `contract_id` string, required: ID of the contract this period belongs to.
    - `employee_id` string, required: ID of the employee who holds the contract.
    - `type` 'activity' | 'inactivity', required: Whether the employee is working during this period (activity) or not (inactivity). Only discontinuous contracts produce inactivity periods.
    - `activity_period_starts_on` string, required: First day of the period.
    - `activity_period_ends_on` string: Last day of the period, or null when the period is still open ended.
  - `meta` PagedIndexMeta
    - `start_cursor` string
    - `end_cursor` string
    - `has_previous_page` boolean, required
    - `has_next_page` boolean, required
    - `limit` integer, required
    - `total` integer, required

## Changes

- **2026-11-03** `83ac9aa1de50`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/factorialhr/apis/factorial-api/changes/api/2026-10-01/resources/contracts/contract_activity_periods/get.md)

---

[API](https://skmtc.dev/factorialhr/apis/factorial-api.md) - [All operations](https://skmtc.dev/factorialhr/apis/factorial-api/llms.txt) - [OpenAPI document](https://skmtc.dev/factorialhr/apis/factorial-api/revisions/83ac9aa1de50?raw)
