---
title: "Create a new piece of content"
method: POST
path: "/v1/org/{orgId}/content"
tags: ["content"]
---

# Create a new piece of content

`POST /v1/org/{orgId}/content`

## Path parameters

- `orgId` string, required

## Request body

- CreateContent
  - `parentContentId` string — parent content id in the hierarchy
  - `title` string, required — title of the content page
  - `titleTr` Translations
    - `values` object, required
  - `path` string — full path to the content, if not set, defaults to an id/slug generated URL
  - `blocks` ContentBlock[] — content blocks
    - `content` string, required
    - `contentTr` Translations
      - `values` object, required
  - `imagePath` string — path to the image for the page
  - `emoji` string — emoji, if an emoji is used to represent the page
  - `coverImagePath` string — path to the cover image for the content page
  - `sensitive` 'GLOBAL' | 'ORG' | 'SENSITIVE' | 'PERSONAL' | 'MANAGER' | 'HIGH' | 'PRIVATE' — sensitivity level (ORG public, HIGHly sensitive, or PRIVATE)
  - `shareAccess` ShareAccess[] — list of users and groups who have the content shared with them
    - `access` 'NONE' | 'LIMITED_READ' | 'LIMITED_WRITE' | 'STANDARD_READ' | 'STANDARD_WRITE' | 'COMPENSATION_READ' | 'FULL_READ' | 'COMP_PLANNING_PARTICIPANT' | 'COMPENSATION_WRITE' | 'WRITE' | 'COMPENSATION_OWNER' | 'OWNER', required — access permission level
    - `userId` string — user id
    - `groupId` string — group id
    - `fields` string — fields
  - `status` 'DRAFT' | 'ACTIVE' | 'ARCHIVED' — current status of the content page

## Response `201`

content created

- Content
  - `id` string, required — globally unique id
  - `orgId` string, required — parent organization id
  - `parentContentId` string — parent content id in the hierarchy
  - `title` string, required — title of the content page
  - `titleTr` Translations
    - `values` object, required
  - `path` string — full path to the content, if not set, defaults to an id/slug generated URL
  - `blocks` ContentBlock[] — content blocks
    - `content` string, required
    - `contentTr` Translations
      - `values` object, required
  - `imagePath` string — path to the image for the page
  - `emoji` string — emoji, if an emoji is used to represent the page
  - `coverImagePath` string — path to the cover image for the content page
  - `sensitive` 'GLOBAL' | 'ORG' | 'SENSITIVE' | 'PERSONAL' | 'MANAGER' | 'HIGH' | 'PRIVATE', required — sensitivity level (ORG public, HIGHly sensitive, or PRIVATE)
  - `shareAccess` ShareAccess[] — list of users and groups who have the content shared with them
    - `access` 'NONE' | 'LIMITED_READ' | 'LIMITED_WRITE' | 'STANDARD_READ' | 'STANDARD_WRITE' | 'COMPENSATION_READ' | 'FULL_READ' | 'COMP_PLANNING_PARTICIPANT' | 'COMPENSATION_WRITE' | 'WRITE' | 'COMPENSATION_OWNER' | 'OWNER', required — access permission level
    - `userId` string — user id
    - `groupId` string — group id
    - `fields` string — fields
  - `status` 'DRAFT' | 'ACTIVE' | 'ARCHIVED' — current status of the content page
  - `sort` integer — sort index within parent content
  - `createId` string — created by user id
  - `createBehalfId` string — created on behalf of user id
  - `createAttribution` Attribution
    - `principalUserId` string
    - `agentUserIds` string[]
    - `eventId` string
    - `aiChatId` string
    - `aiToolUseId` string
    - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
  - `createAt` string — created timestamp
  - `updateId` string — last updated by user id
  - `updateBehalfId` string — last updated on behalf of user id
  - `updateAttribution` Attribution
    - `principalUserId` string
    - `agentUserIds` string[]
    - `eventId` string
    - `aiChatId` string
    - `aiToolUseId` string
    - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
  - `updateAt` string — last updated timestamp
  - `deleteId` string — deleted by user id
  - `deleteBehalfId` string — deleted on behalf of user id
  - `deleteAttribution` Attribution
    - `principalUserId` string
    - `agentUserIds` string[]
    - `eventId` string
    - `aiChatId` string
    - `aiToolUseId` string
    - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
  - `deleteAt` string — deleted timestamp

## Other responses

- `400` — invalid data
- `401` — not authorized
- `403` — permission denied
- `404` — org not found

---

[API](https://skmtc.net/charthop/apis/charthop-api.md) · [All operations](https://skmtc.net/charthop/apis/charthop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/charthop/charthop-api/versions/50a1edd6b27e/schema)
