---
title: "Extend review window"
method: POST
path: "/api/v2/access-certification/campaign-runs/{runId}/extend"
tags: ["Access Certification"]
---

# Extend review window

`POST /api/v2/access-certification/campaign-runs/{runId}/extend`

## Request

- Base URL: `https://console.jumpcloud.com`
- URL: `https://console.jumpcloud.com/api/v2/access-certification/campaign-runs/{runId}/extend`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/jumpcloud/apis/jumpcloud-console-api/docs/api/v2/access-certification/campaign-runs/:runId/extend/post.ts> (a function with typed inputs; its response is checked against the schema)

Extends the active review window for a campaign run by the specified number of days.
Existing reviewer decisions are preserved — only the end date changes.

Only active runs can be extended. Returns **409 Conflict** if the run is not active.

**Required permission:** `accesscertification` (Full Access)

## Path parameters

- `runId` string, required

## Request body

- JumpcloudHttpAccesscertificationExtendCampaignRequest
  - `extendByDays` integer, required: Extend active review window by N days

## Response `200`

Review window extended successfully

- JumpcloudHttpAccesscertificationExtendCampaignResponse
  - `campaignId` string, required
  - `runId` string, required
  - `reviewWindowEnd` string, date-time, required: Updated review window end after extension

## Other responses

- `400`: Validation error with field-level details
- `401`: Missing or invalid credentials
- `403`: Forbidden — principal not assigned or lacks required role
- `404`: Resource not found
- `409`: Conflict — resource state prevents the requested action
- `default`: Unexpected error

---

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