---
title: "✨ Bulk assign learning resource to projects"
method: POST
path: "/api/learning-resources/{id}/project-assignments/"
tags: ["Learning Resources"]
---

# ✨ Bulk assign learning resource to projects

`POST /api/learning-resources/{id}/project-assignments/`

Create project assignments for many projects in one request.

## Path parameters

- `id` integer, required

## Request body

- BulkProjectLearningAssignmentRequest
  - `project_ids` integer[], required

## Response `200`

- LearningResource
  - `allow_standalone` boolean
  - `color` string, nullable
  - `content` object, required
  - `content_version` integer, required
  - `cover_image_url` string
  - `created_at` string, date-time, required
  - `created_by` UserSimple, required — A ModelSerializer that takes additional arguments for "fields", "omit" and "expand" in order to control which fields are displayed, and whether to replace simple values with complex, nested serializations
    - `avatar` string, nullable, required
    - `email` string, email
    - `first_name` string
    - `id` integer, required
    - `last_name` string
    - `username` string, required
  - `default_allow_manual_access` boolean
  - `default_gate_annotator_data_manager` boolean, nullable
  - `default_gate_annotator_label_stream` boolean, nullable
  - `default_gate_reviewer_data_manager` boolean, nullable
  - `default_gate_reviewer_label_stream` boolean, nullable
  - `default_gate_reviewer_review_stream` boolean, nullable
  - `estimated_duration_unit` 'minutes' | 'hours' | 'days' | 'weeks' — * `minutes` - Minutes * `hours` - Hours * `days` - Days * `weeks` - Weeks
  - `estimated_duration_value` integer, nullable
  - `generate_certificate_on_completion` boolean
  - `has_unpublished_changes` boolean, nullable, required
  - `hide_completed_quizzes` boolean
  - `id` integer, required
  - `is_published` boolean, required
  - `learner_count` integer, required
  - `learners_completed_count` integer, required
  - `learners_started_count` integer, required
  - `module_count` integer, required
  - `organization` integer, required
  - `page_count` integer, required
  - `project_count` integer, required
  - `structure_version` integer, required
  - `summary` string
  - `title` string
  - `updated_at` string, date-time, required
  - `updated_by` UserSimple, required — A ModelSerializer that takes additional arguments for "fields", "omit" and "expand" in order to control which fields are displayed, and whether to replace simple values with complex, nested serializations
    - `avatar` string, nullable, required
    - `email` string, email
    - `first_name` string
    - `id` integer, required
    - `last_name` string
    - `username` string, required
  - `workspace` integer, nullable

---

[API](https://skmtc.net/humansignal/apis/label-studio-api.md) · [All operations](https://skmtc.net/humansignal/apis/label-studio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/humansignal/label-studio-api/versions/1b113b8df950/schema)
