---
title: "List all bulk operations"
method: GET
path: "/api/v2/bulk/operations"
tags: ["Operations"]
---

# List all bulk operations

`GET /api/v2/bulk/operations`

> 🔑
>
> Required OAuth scope: `bulkOperations:read`.

> 📖
>
> This endpoint is paginated with a page size of 20 bulk operations. For more information, see the [Pagination guide](https://360learning.readme.io/docs/pagination).

Lists all bulk operations.

## Query parameters

- `createdAt` object
  - `lt` string, date-time — Filter on dates lower than the given one
  - `gte` string, date-time — Filter on dates greater than or equal the given one
- `status` object
  - `eq` 'pending' | 'queued' | 'running' | 'completed' | 'error' — Filter on values equal to the given one
- `type` object
  - `eq` 'addContentsToGroupsCatalog' | 'addContentsToGroupsLibrary' | 'addSkillReviews' | 'addUsersToGroups' | 'archiveExternalCourses' | 'deleteSkills' | 'createGroups' | 'createSubscriptionEvents' | 'deleteGroups' | 'deleteJobs' | 'deleteLibraries' | 'importExternalCourses' | 'importExternalStatistics' | 'removeContentsFromGroupsCatalog' | 'removeContentsFromGroupsLibrary' | 'removeUsersFromGroups' | 'replaceJobsSkills' | 'replaceUsersJobs' | 'upsertJobs' | 'upsertLibraries' | 'upsertSkills' — Filter on values equal to the given one

## Headers

- `360-api-version` 'v2.0', required

## Response `200`

Returns one page of 20 bulk operations.

- union[]
  - union
    - PendingOperationDTO
      - `_id` string, ObjectId, required — The unique ID of the bulk operation.
      - `type` 'addContentsToGroupsCatalog' | 'addContentsToGroupsLibrary' | 'addSkillReviews' | 'addUsersToGroups' | 'archiveExternalCourses' | 'deleteSkills' | 'createGroups' | 'createSubscriptionEvents' | 'deleteGroups' | 'deleteJobs' | 'deleteLibraries' | 'importExternalCourses' | 'importExternalStatistics' | 'removeContentsFromGroupsCatalog' | 'removeContentsFromGroupsLibrary' | 'removeUsersFromGroups' | 'replaceJobsSkills' | 'replaceUsersJobs' | 'upsertJobs' | 'upsertLibraries' | 'upsertSkills', required — The type of bulk operation.
      - `createdAt` string, date-time, required — The date and time when the bulk operation was created, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `status` 'pending', required — The status of the bulk operation.
    - QueuedOperationDTO
      - `_id` string, ObjectId, required — The unique ID of the bulk operation.
      - `type` 'addContentsToGroupsCatalog' | 'addContentsToGroupsLibrary' | 'addSkillReviews' | 'addUsersToGroups' | 'archiveExternalCourses' | 'deleteSkills' | 'createGroups' | 'createSubscriptionEvents' | 'deleteGroups' | 'deleteJobs' | 'deleteLibraries' | 'importExternalCourses' | 'importExternalStatistics' | 'removeContentsFromGroupsCatalog' | 'removeContentsFromGroupsLibrary' | 'removeUsersFromGroups' | 'replaceJobsSkills' | 'replaceUsersJobs' | 'upsertJobs' | 'upsertLibraries' | 'upsertSkills', required — The type of bulk operation.
      - `createdAt` string, date-time, required — The date and time when the bulk operation was created, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `status` 'queued', required — The status of the bulk operation.
      - `queuedAt` string, date-time, required — The date and time when the bulk operation was queued, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
    - RunningOperationDTO
      - `_id` string, ObjectId, required — The unique ID of the bulk operation.
      - `type` 'addContentsToGroupsCatalog' | 'addContentsToGroupsLibrary' | 'addSkillReviews' | 'addUsersToGroups' | 'archiveExternalCourses' | 'deleteSkills' | 'createGroups' | 'createSubscriptionEvents' | 'deleteGroups' | 'deleteJobs' | 'deleteLibraries' | 'importExternalCourses' | 'importExternalStatistics' | 'removeContentsFromGroupsCatalog' | 'removeContentsFromGroupsLibrary' | 'removeUsersFromGroups' | 'replaceJobsSkills' | 'replaceUsersJobs' | 'upsertJobs' | 'upsertLibraries' | 'upsertSkills', required — The type of bulk operation.
      - `createdAt` string, date-time, required — The date and time when the bulk operation was created, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `status` 'running', required — The status of the bulk operation.
      - `progress` OperationProgressDTO, required
        - `index` number, required — The index of the last processed element of the bulk operation.
        - `updatedAt` string, date-time, required — The date and time of the last update of the bulk operation, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `queuedAt` string, date-time, required — The date and time when the bulk operation was queued, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `startedAt` string, date-time, required — The date and time when the bulk operation started, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
    - CompletedOperationDTO
      - `_id` string, ObjectId, required — The unique ID of the bulk operation.
      - `type` 'addContentsToGroupsCatalog' | 'addContentsToGroupsLibrary' | 'addSkillReviews' | 'addUsersToGroups' | 'archiveExternalCourses' | 'deleteSkills' | 'createGroups' | 'createSubscriptionEvents' | 'deleteGroups' | 'deleteJobs' | 'deleteLibraries' | 'importExternalCourses' | 'importExternalStatistics' | 'removeContentsFromGroupsCatalog' | 'removeContentsFromGroupsLibrary' | 'removeUsersFromGroups' | 'replaceJobsSkills' | 'replaceUsersJobs' | 'upsertJobs' | 'upsertLibraries' | 'upsertSkills', required — The type of bulk operation.
      - `createdAt` string, date-time, required — The date and time when the bulk operation was created, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `status` 'completed', required — The status of the bulk operation.
      - `progress` OperationProgressDTO, required
        - `index` number, required — The index of the last processed element of the bulk operation.
        - `updatedAt` string, date-time, required — The date and time of the last update of the bulk operation, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `queuedAt` string, date-time, required — The date and time when the bulk operation was queued, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `startedAt` string, date-time, required — The date and time when the bulk operation started, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `endedAt` string, date-time, required — The date and time when the bulk operation ended, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
    - ErroredOperationDTO
      - `_id` string, ObjectId, required — The unique ID of the bulk operation.
      - `type` 'addContentsToGroupsCatalog' | 'addContentsToGroupsLibrary' | 'addSkillReviews' | 'addUsersToGroups' | 'archiveExternalCourses' | 'deleteSkills' | 'createGroups' | 'createSubscriptionEvents' | 'deleteGroups' | 'deleteJobs' | 'deleteLibraries' | 'importExternalCourses' | 'importExternalStatistics' | 'removeContentsFromGroupsCatalog' | 'removeContentsFromGroupsLibrary' | 'removeUsersFromGroups' | 'replaceJobsSkills' | 'replaceUsersJobs' | 'upsertJobs' | 'upsertLibraries' | 'upsertSkills', required — The type of bulk operation.
      - `createdAt` string, date-time, required — The date and time when the bulk operation was created, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `status` 'error', required — The status of the bulk operation.
      - `progress` OperationProgressDTO, required
        - `index` number, required — The index of the last processed element of the bulk operation.
        - `updatedAt` string, date-time, required — The date and time of the last update of the bulk operation, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `errorMessage` string, required — A human-readable message to help with debugging.
      - `queuedAt` string, date-time, required — The date and time when the bulk operation was queued, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `startedAt` string, date-time, required — The date and time when the bulk operation started, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `endedAt` string, date-time, required — The date and time when the bulk operation ended, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).

## Other responses

- `401` — The given access token is either missing, invalid, has expired, or has been revoked.
- `403` — The given access token does not have the required OAuth scope to execute the request.
- `429` — The client has sent too many requests in a short amount of time.

---

[API](https://skmtc.net/360learning/apis/core-api.md) · [All operations](https://skmtc.net/360learning/apis/core-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/360learning/core-api/revisions/94b691b0b72c/schema)
