---
title: "Update canonical title, captions or media on a content root"
method: PATCH
path: "/v1/workspaces/{workspaceId}/content-roots/{id}"
tags: ["Content roots"]
---

# Update canonical title, captions or media on a content root

`PATCH /v1/workspaces/{workspaceId}/content-roots/{id}`

## Request

- Base URL: `https://api.maevesocial.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.maevesocial.com/v1/workspaces/{workspaceId}/content-roots/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Request body

- object
  - `captions` object: Canonical caption and platform overrides. Omit overrides to preserve them; overrides: {} explicitly clears them.
    - `canonical` string, nullable
    - `overrides` object
  - `contentMedia` object[]: Canonical media relationship input with per-content crops, tags, ordering, and cover metadata.
    - `mediaId` string, uuid, required
    - `order` integer
    - `crops` object
    - `userTags` unknown[]
      - unknown
    - `productTags` unknown[]
      - unknown
    - `cover` object, nullable
  - `title` string, nullable

## Response `200`

Content root updated

- object
  - `data` PublicContentRootDto, required
    - `id` string, uuid, required
    - `workspaceId` string, uuid, required
    - `title` string, nullable, required
    - `body` string, required
    - `captions` object, nullable, required: Per-platform caption overrides.
    - `postType` 'post' | 'reel' | 'short' | 'story' | 'thread' | 'article' | 'poll' | 'document' | 'event' | 'offer', nullable, required
    - `workingTitle` string, nullable, required
    - `intendedPlatforms` string[], required
    - `selectedChannels` object, required: Integration ids by platform.
    - `editorState` object, nullable, required
    - `stage` 'idea' | 'drafting', required
    - `effectiveStage` 'idea' | 'drafting' | 'review' | 'scheduled' | 'published', required
    - `hasFailure` boolean, required
    - `boardAddedAt` string, nullable, required: ISO 8601 timestamp.
    - `reusedFromPostId` string, uuid, nullable, required
    - `priority` 'urgent' | 'high' | 'medium' | 'low', required
    - `dueAt` string, nullable, required: ISO 8601 timestamp.
    - `plannedAt` string, nullable, required: ISO 8601 timestamp.
    - `campaignId` string, uuid, nullable, required
    - `campaignPhaseId` string, uuid, nullable, required
    - `createdByUserId` string, uuid, nullable, required
    - `updatedByUserId` string, uuid, nullable, required
    - `deletedAt` string, nullable, required: ISO 8601 timestamp.
    - `createdAt` string, required: ISO 8601 timestamp.
    - `updatedAt` string, required: ISO 8601 timestamp.
    - `contentMedia` PublicContentRootMediaDto[], required
      - `mediaId` string, uuid, required
      - `order` integer, required
      - `crops` object, nullable
      - `userTags` object[], nullable
      - `productTags` object[], nullable
      - `cover` object, nullable
      - `media` object, nullable, required: The media item, or null when it is no longer available.
        - `id` string, uuid, required
        - `filename` string, nullable, required
        - `type` string, required
        - `url` string, required
        - `thumbnailUrl` string, nullable, required
        - `altText` string, nullable, required
    - `labelIds` string[], required
    - `labels` PublicContentRootLabelDto[], required
      - `id` string, uuid, required
      - `name` string, required
      - `color` string, nullable, required
      - `groupId` string, uuid, nullable, required
    - `assigneeIds` string[], required
    - `assignees` PublicContentRootAssigneeDto[], required
      - `id` string, uuid, required
      - `email` string, required
      - `displayName` string, nullable, required
      - `avatarUrl` string, nullable, required
    - `pillarIds` string[], required
    - `formatIds` string[], required
    - `editionCount` integer, required
    - `activeEditionCount` integer, required
  - `meta` unknown, required

---

[API](https://skmtc.dev/maevesocial/apis/maeve-social-api.md) · [All operations](https://skmtc.dev/maevesocial/apis/maeve-social-api/llms.txt) · [OpenAPI document](https://skmtc.dev/maevesocial/apis/maeve-social-api/revisions/1b00fd7e4b15?raw)
