Skip to content

Create a new content item

POST
/api/items
curl --request POST \
--url https://example.com/api/items \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "repositoryId": "repo-123", "name": "My Document", "type": "Article", "description": "example", "slug": "my-document", "taxonomies": [ { "id": "example", "name": "example", "categories": [] } ], "parent": "example", "readPerm": [ "example" ], "writePerm": [ "example" ], "deletePerm": [ "example" ], "fields": { "additionalProperty": "example" }, "packageName": "example", "skipWorkflow": false }'

Creates a new content item. Supports both JSON body and multipart/form-data for file uploads.

Media typeapplication/json
object
repositoryId
required

Repository ID to create item in

string
Example
repo-123
name
required

Item name

string
Example
My Document
type
required

Content type name

string
Example
Article
description

Item description

string
slug

Custom URL slug (auto-generated if not provided)

string
Example
my-document
taxonomies

Taxonomy/category assignments

Array<object>
object
id
required

Taxonomy ID

string
name
required

Taxonomy name

string
categories

Selected categories within this taxonomy

Array<object>
default:
object
id
required

Category ID

string
name
required

Category name

string
parent

Parent folder ID

string | null
readPerm

Roles with read permission

Array<string>
writePerm

Roles with write permission

Array<string>
deletePerm

Roles with delete permission

Array<string>
fields

Custom field values defined by the content type

object
key
additional properties
packageName

Package name if creating in an update package

string
skipWorkflow

Bypass strict auto-package rules and save directly to the main repository. Requires the content.skip_workflow permission for the item’s type.

boolean
Example
false

Item created successfully

Media typeapplication/json
object
id
required

Unique item identifier

string
name
required

Item name

string
type
required

Content type name

string
description

Item description

string | null
slug
required

URL-friendly slug

string
slugSearch

Searchable slug variant

string
status
required

Publication status

string
Allowed values: draft published archived
taxonomies

Assigned taxonomies and categories

Array<object>
default:
object
id
required

Taxonomy ID

string
name
required

Taxonomy name

string
categories

Selected categories within this taxonomy

Array<object>
default:
object
id
required

Category ID

string
name
required

Category name

string
currentVersion
required

Current version number

string
latestVersion
required

Latest available version

string
isArchived
required

Whether item is archived

boolean
isPublished
required

Whether item is published

boolean
isPreview

Whether this is a preview version

boolean
isLatestVersion
required

Whether this is the latest version

boolean
isLatestPublished
required

Whether this is the latest published version

boolean
fileExtension

Primary file extension

string
createdDate
required

Creation timestamp (Unix ms)

number
updatedDate
required

Last update timestamp (Unix ms)

number
publishedDate

Publication timestamp (Unix ms)

number
readPerm

Roles with read permission

Array<string>
default:
writePerm

Roles with write permission

Array<string>
default:
deletePerm

Roles with delete permission

Array<string>
default:
createdByUser
required
object
userName
required

User’s username/login

string
displayName
required

User’s display name

string
email
required

User’s email address

string
updatedByUser
required
object
userName
required

User’s username/login

string
displayName
required

User’s display name

string
email
required

User’s email address

string
parent

Parent folder ID

string | null
cardPreview

HTML preview for card display

string
renditions

Available renditions/files

Array<object>
object
name
required

Rendition name

string
type
required

Rendition type

string
format

File format/extension

string
url
required

URL to access the rendition

string
storage

Storage details

object
objectName
required

Storage object name

string
version

Storage version ID

string | null
objectName

Object storage name

string
mimeType

MIME type

string
size

File size in bytes

number
fileName

Original file name

string
versionHistory

Version history

Array<object>
object
version
required
string
status
required
string
updatedDate
required
number
updatedByUser
required
object
userName
required

User’s username/login

string
displayName
required

User’s display name

string
email
required

User’s email address

string
Example
{
"id": "CONT_ABC123",
"name": "My Document",
"type": "Article",
"slug": "my-document",
"status": "draft",
"taxonomies": [],
"currentVersion": "0.1",
"latestVersion": "1.0",
"fileExtension": "pdf",
"createdDate": 1704067200000,
"updatedDate": 1704153600000,
"readPerm": [],
"writePerm": [],
"deletePerm": [],
"createdByUser": {
"userName": "user@example.com",
"displayName": "John Doe",
"email": "user@example.com"
},
"updatedByUser": {
"userName": "user@example.com",
"displayName": "John Doe",
"email": "user@example.com"
},
"renditions": [
{
"name": "native",
"type": "native",
"format": "jpg",
"url": "/api/assets/repo/item123/native",
"mimeType": "image/jpeg",
"size": 1024,
"fileName": "image.jpg"
}
],
"versionHistory": [
{
"updatedByUser": {
"userName": "user@example.com",
"displayName": "John Doe",
"email": "user@example.com"
}
}
]
}

Error creating item

Media typeapplication/json
object
error
required

Indicates an error occurred

boolean
message
required

Error message describing what went wrong

string
Example
{
"error": true,
"message": "Item not found"
}