---
title: "List training campaigns"
method: GET
path: "/v2/training/campaigns"
tags: ["Training"]
---

# List training campaigns

`GET /v2/training/campaigns`

Retrieve a paginated list of training campaigns

## Query parameters

- `page_after` string
- `page_size` integer

## Response `200`

Successfully retrieved training campaigns

- TrainingCampaignListResponseDto — Paginated list of training campaigns
  - `campaigns` TrainingCampaignDto[]
    - `audience_type` 'GROUPS' | 'ALL_USERS' — Target audience type for the campaign
    - `created_at` string, date-time — Campaign's created date
    - `employee_title` string — Employee-facing title for the campaign. Null if no employee-facing title is set.
    - `end_date` string, date-time — End date for the campaign (null for TRIGGERED mode)
    - `groups` CampaignGroupDto[] — Groups associated with the campaign
      - `id` string — Unique identifier for the group
      - `name` string — The name of the group
    - `id` string — Unique identifier for the campaign
    - `mode` 'SCHEDULED' | 'TRIGGERED' — Campaign mode
    - `name` string — Name of the training campaign
    - `start_date` string, date-time — Start date for the campaign
    - `status` 'DRAFT' | 'SCHEDULED' | 'IN_PROGRESS' | 'COMPLETED' | 'OVERDUE' — Current status of the campaign
  - `page_after` string

## Other responses

- `400` — Bad request - Invalid parameters
- `401` — Unauthorized - Invalid or missing authentication token
- `429` — Too many requests - Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.dev/adaptivesecurity/apis/adaptive-api.md) · [All operations](https://skmtc.dev/adaptivesecurity/apis/adaptive-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/adaptivesecurity/adaptive-api/revisions/aaa99c15ecc7/schema)
