---
title: "Edit an assignment. Issued copies keep what they were sent with. Logged."
method: PATCH
path: "/api/admin/assignments/catalog/{catalogId}"
tags: ["Admin — Assignments"]
---

# Edit an assignment. Issued copies keep what they were sent with. Logged.

`PATCH /api/admin/assignments/catalog/{catalogId}`

## Request

- Base URL: `https://api.rewritelifestyle.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.rewritelifestyle.ai/api/admin/assignments/catalog/{catalogId}`
- Auth: HTTP bearer

## Path parameters

- `catalogId` number, required

## Request body

- CatalogItemDto
  - `code` string
  - `title` string
  - `instructions` string
  - `programTypes` string[]: Empty means every program
  - `steps` AssignmentStepDto[]
    - `label` string, required
    - `mode` 'auto' | 'client' | 'coach' | 'client_or_coach', required
    - `autoSignal` 'group_photo' | 'group_message' | 'diary_entry' | 'coach_dm', nullable: Required for `auto`; on `client` it pre-ticks
    - `allowsUpload` boolean
    - `routesToCoach` boolean: Completing it opens a work item for the named coach (ASG-06)
  - `sortOrder` number
  - `isActive` boolean

## Response `200`

## Changes

- **2026-10-19** `0c72870a5acb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api/changes/api/admin/assignments/catalog/:catalogId/patch.md)

---

[API](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api.md) - [All operations](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api/revisions/28695827f27a?raw)
