---
title: "List Shift Factors"
method: GET
path: "/constraints/{constraint_id}/shift-factors"
tags: ["Constraints"]
---

# List Shift Factors

`GET /constraints/{constraint_id}/shift-factors`

Retrieve estimated shift factors for a constraint.

Queries ClickHouse ``linear_estimated_shift_factors`` for the given
constraint, returning one row per ``location_gs_entity_id``. When multiple
source rows share the same location, ``estimated_shift_factor`` is
aggregated per ``aggregation_function`` (mean, max, min, or median).
Optional ``contingency_id`` restricts rows to a single contingency.
Optional ``dataset_id`` filters on ``source_dataset``.
When ``exclude_zeros`` is true, source rows with ``estimated_shift_factor``
equal to zero are dropped before aggregating per location.

## Path parameters

- `constraint_id` string, required — GS entity ID of the constraint to get shift factors for

## Query parameters

- `api_key` string, nullable — API key for authentication (query)
- `contingency_id` string, nullable — When set, only include rows with this contingency_gs_entity_id
- `dataset_id` string, nullable — When set, only include rows with this source_dataset
- `exclude_zeros` boolean — When true, exclude rows where estimated_shift_factor is zero before aggregating each group
- `aggregation_function` 'mean' | 'max' | 'min' | 'median' — Function used to combine source rows in each group: mean, max, min, or median

## Headers

- `x-api-key` string, nullable — API key for authentication (header)

## Response `200`

Successful Response

- ShiftFactorLocationResponse[]
  - `location_gs_entity_id` string, required
  - `estimated_shift_factor` number, required
  - `location` string, required

## Other responses

- `422` — Validation Error

---

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