---
title: "Close campaign run"
method: POST
path: "/api/v2/access-certification/campaign-runs/{runId}/close"
tags: ["Access Certification"]
---

# Close campaign run

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

## Request

- Base URL: `https://console.jumpcloud.com`
- URL: `https://console.jumpcloud.com/api/v2/access-certification/campaign-runs/{runId}/close`
- 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/close/post.ts> (a function with typed inputs; its response is checked against the schema)

Finalizes an active campaign run when its review window ends. JumpCloud normally invokes this
automatically at window close. To end a run before the scheduled window ends, use the end-early
endpoint instead.

On close, the platform applies the campaign's if-no-response policy to identities without
a decision, begins remediation according to policy, and starts audit report generation.

## Path parameters

- `runId` string, required

## Response `200`

Campaign run closed

- JumpcloudHttpAccesscertificationCloseCampaignResponse: System or admin-initiated close result
  - `campaignId` string, required
  - `runId` string, required
  - `status` 'closed', required
  - `closedAt` string, date-time, required
  - `remediationStatus` 'in_progress' | 'scheduled' | 'completed' | 'canceled'
  - `auditReportStatus` 'generating' | 'exports_ready': Initial audit artifact status after close

## Other responses

- `401`: Missing or invalid credentials
- `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)
