---
title: "Assign content to users"
method: POST
path: "/api/v1/assignments"
tags: ["content-allocation"]
---

# Assign content to users

`POST /api/v1/assignments`

## Request body

- AssignmentCreateRequestDTO
  - `dueDate` string, date-time — Optional due date for the content assignment
  - `reference` object, required — Reference to the content being assigned
    - `id` string, required — The unique identifier for the content reference
    - `type` 'mission' | 'track', required — The type of content reference
  - `userIds` string[], required — Array of user UUIDs to assign content to (min: 1, max: 10)

## Response `201`

- AssignmentCreateResponseDTO[]
  - `assignedBy` object — Who assigned this content to the user
    - `displayName` string — Display name of the assigning user, only present when kind is "user"
    - `kind` 'user' | 'system' | 'unknown', required — Origin of the assignment: "user" when a responsible user was resolved, "system" for system-generated allocations, "unknown" when the responsible user cannot be resolved
    - `userId` string — Id of the assigning user, only present when kind is "user"
  - `certification` object, nullable — Certification earned for the assigned track content
    - `certificationDate` string, date-time, required — The date when the certification was earned
    - `id` string, required — The unique identifier of the certification
    - `trackTitle` string, required — The certified track title
  - `completedMissionIds` string[], required — Array of completed mission IDs
  - `contentTitle` string, nullable — Resolved title of the referenced content
  - `createdAt` string, date-time, required — The creation date
  - `dueDate` string, date-time, nullable — The due date for completing the content
  - `id` string, required — The unique identifier of the assigned content
  - `initiatingUserId` string, nullable — ID of the user who initiated the assignment
  - `lastUpdatedAt` string, date-time, required — The last update date
  - `reference` object, required — Reference to the assigned content
    - `id` string, required — The unique identifier of the content
    - `type` 'mission' | 'track', required — The type of content reference
  - `sprintScheduleId` string, nullable — ID of the associated sprint schedule
  - `state` 'notStarted' | 'started' | 'completed', required — The state of the content allocation
  - `totalMissions` number, nullable — Total missions in the referenced track content
  - `trackId` string — Parent track id for mission-type allocations
  - `type` 'autoTrackAllocation' | 'track' | 'managerAssigned' | 'refresher' | 'sprint' | 'selfEnrolled', required — The type of content allocation
  - `userId` string, required — The unique identifier of the user

---

[API](https://skmtc.net/wejam/apis/jam.md) · [All operations](https://skmtc.net/wejam/apis/jam/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/wejam/jam/revisions/bd5a5f406bca/schema)
