Crafter Studio (4.0.3.0)

Download OpenAPI specification:Download

E-mail: info@craftercms.org License: GPL 3.0

Crafter Studio API v2

groups

Group management operations

Get all groups

Required Permission: "READ_GROUPS"

Authorizations:
jwtAuthbasicAuth
query Parameters
keyword
string

The keyword to filter groups

offset
integer <int32>

Offset of first group in the response

limit
integer <int32>

Number of groups to return

sort
string

The fields to use for sorting, plus the asc or desc keyword case-insensitive. Multiple fields are separated by commas. Example: column1 ASC, column2 DESC.

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "groups": [
    ]
}

Create group

Required Permission: "CREATE_GROUPS"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

Group entity to create

id
required
integer <int64>

Group ID, unique and immutable

name
required
string

Group name, unique

desc
string

Group description

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "desc": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "group": {
    }
}

Update group

Required Permission: "UPDATE_GROUPS"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

Group entity to update

id
required
integer <int64>

Group ID, unique and immutable

desc
string

Group description

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "desc": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "group": {
    }
}

Delete group(s)

Required Permission: "DELETE_GROUPS"

Authorizations:
jwtAuthbasicAuth
query Parameters
id
required
Array of strings

The group ID(s). Can be repeated for multiple deletes (id=1&id=2&id=3)

Responses

Response samples

Content type
application/json
{
  • "response": {
    }
}

Get group by ID

Required Permission: "READ_GROUPS"

Authorizations:
jwtAuthbasicAuth
path Parameters
id
required
integer <int64>

The group ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "group": {
    }
}

Get all the members of the specified group

Required Permission: "READ_GROUPS"

Authorizations:
jwtAuthbasicAuth
path Parameters
id
required
integer <int64>

The group ID

query Parameters
offset
integer <int32>

Offset of first record in the response

limit
integer <int32>

Number of records to return

sort
string

The fields to use for sorting, plus the asc or desc keyword case-insensitive. Multiple fields are separated by commas. Example: column1 ASC, column2 DESC.

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "users": [
    ]
}

Add member(s) to the specified group

Required Permission: "UPDATE_GROUPS"

Authorizations:
jwtAuthbasicAuth
path Parameters
id
required
integer <int64>

The group ID

Request Body schema: application/json

List of user IDs and/or usernames to add

ids
Array of strings
usernames
Array of strings

Responses

Request samples

Content type
application/json
{
  • "ids": [
    ],
  • "usernames": [
    ]
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "users": [
    ]
}

Remove member(s) from the specified group

Required Permission: "DELETE_GROUPS"

Authorizations:
jwtAuthbasicAuth
path Parameters
id
required
integer <int64>

The group ID

query Parameters
userId
Array of strings

The user ID(s) to remove. Can be repeated for multiple deletes (userId=1&userId=2&userId=3)

username
Array of strings

The username(s) to remove. Can be repeated for multiple deletes (username=john&username=mark)

Responses

Response samples

Content type
application/json
{
  • "response": {
    }
}

users

User management operations

Get all users

Required Permission: "READ_USERS"

Authorizations:
jwtAuthbasicAuth
query Parameters
site_id
string

The site ID to filter users for a particular site

keyword
string

The keyword to filter users

offset
integer <int32>

Offset of first record in the response

limit
integer <int32>

Number of records to return

sort
string

The fields to use for sorting, plus the asc or desc keyword case-insensitive. Multiple fields are separated by commas. Example: column1 ASC, column2 DESC.

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "users": [
    ]
}

Create user

Required Permission: "CREATE_USERS"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

User entity to create

username
required
string

Username, unique

password
required
string

User's password (not returned to caller)

firstName
required
string

User's first name

lastName
required
string

User's last name

email
required
string

User's email address

enabled
required
boolean

Indicates if the user is enabled

externallyManaged
required
boolean

Indicates if a user is managed in by an external system (LDAP, SAML, etc.)

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "enabled": true,
  • "externallyManaged": true
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "users": {
    }
}

Update user

Required Permission: "UPDATE_USERS"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

User entity to update. Supported update attributes are firstName, lastName, email and enabled.

id
required
integer <int64>

User ID, unique and immutable

firstName
required
string

User's first name

lastName
required
string

User's last name

email
required
string

User's email address

enabled
required
boolean

Indicates if the user is enabled

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "user": {
    }
}

Delete user(s)

Required Permission: "DELETE_USERS"

Authorizations:
jwtAuthbasicAuth
query Parameters
id
Array of strings

The user ID(s). Can be repeated for multiple deletes (id=1&id=2&id=3)

username
Array of strings

The username(s). Can be repeated for multiple deletes (username=john&username=mark)

Responses

Response samples

Content type
application/json
{
  • "response": {
    }
}

Get user by user ID or username

Required Permission: "READ_USERS"

Authorizations:
jwtAuthbasicAuth
path Parameters
id
required
string

The user ID. Username can also be used

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "user": {
    }
}

Enable user(s)

Required Permission: "UPDATE_USERS"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

List of user IDs and/or usernames to enable

ids
Array of strings
usernames
Array of strings

Responses

Request samples

Content type
application/json
{
  • "ids": [
    ],
  • "usernames": [
    ]
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "users": [
    ]
}

Disable user(s)

Required Permission: "UPDATE_USERS"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

List of user IDs and/or usernames to disable

ids
Array of strings
usernames
Array of strings

Responses

Request samples

Content type
application/json
{
  • "ids": [
    ],
  • "usernames": [
    ]
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "users": [
    ]
}

Get all the sites the specified user has access to

Required Permission: "READ_USERS"

Authorizations:
jwtAuthbasicAuth
path Parameters
id
required
string

The user ID. Username can also be used

query Parameters
offset
integer <int32>

Offset of first site in the response

limit
integer <int32>

Number of sites to return

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "sites": [
    ]
}

Get the site roles for the specified user

Required Permission: "READ_USERS"

Authorizations:
jwtAuthbasicAuth
path Parameters
id
required
string

The user ID. Username can also be used

site
required
string

The site ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "roles": [
    ]
}

Change password for user

Required Permission: "UPDATE_USERS"

Authorizations:
jwtAuthbasicAuth
path Parameters
id
required
string

The user ID. Username can also be used

Request Body schema: application/json

request body to change password

username
required
string
new
required
string

new password

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "new": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Change password for user

Required Permission: "ANONYMOUS"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

request body to change password

token
required
string
new
required
string

new password

Responses

Request samples

Content type
application/json
{
  • "token": "string",
  • "new": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "user": {
    }
}

Get current authenticated user

Required Permission: "LOGGED_IN"

Authorizations:
jwtAuthbasicAuth

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "authenticatedUser": {
    }
}

Get all the sites the current authenticated user has access to

Required Permission: "LOGGED_IN"

Authorizations:
jwtAuthbasicAuth
query Parameters
offset
integer <int32>

Offset of first record in the response

limit
integer <int32>

Number of records to return

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "sites": [
    ]
}

Get the site roles for the current authenticated user

Required Permission: "LOGGED_IN"

Authorizations:
jwtAuthbasicAuth
path Parameters
site
required
string

The site ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "roles": [
    ]
}

Get the site permissions for the current authenticated user

Required Permission: "LOGGED_IN"

Authorizations:
jwtAuthbasicAuth
path Parameters
site
required
string

The site ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "permissions": [
    ]
}

Check if the current authenticated user has given permissions

Required Permission: "LOGGED_IN"

Authorizations:
jwtAuthbasicAuth
path Parameters
site
required
string

The site ID

Request Body schema: application/json

request body to check if current authenticated user has permissions

permissions
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "permissions": {
    }
}

Get the global for the current authenticated user

Required Permission: "LOGGED_IN"

Authorizations:
jwtAuthbasicAuth

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "permissions": [
    ]
}

Check if the current authenticated user has given global permissions

Required Permission: "LOGGED_IN"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

request body to check if current authenticated user has permissions

permissions
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "permissions": {
    }
}

Get the SSO Service Provide logout URL for the current authenticated user

  • Required Permission: "LOGGED_IN"
  • The system should redirect to this logout URL AFTER local logout. Response entity can be null if user is not authenticated through SSO or if logout is disabled
Authorizations:
jwtAuthbasicAuth

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "logoutUrl": "string"
}

Change password for current user

Required Permission: "LOGGED_IN"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

request body to change password

username
required
string
current
required
string

current password

new
required
string

new password

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "current": "string",
  • "new": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "user": {
    }
}

Retrieve properties for the current user

Required Permission: "LOGGED_IN"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
string

The id of the site (defaults to global)

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "properties": {
    }
}

Update properties for the current user

Required Permission: "LOGGED_IN"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
siteId
string

The id of the site (defaults to global)

object

Properties to update or add

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "properties": {
    }
}

Delete properties for the current user

Required Permission: "LOGGED_IN"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
string

The id of the site (defaults to global)

properties
required
Array of strings

List of keys to delete

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "properties": {
    }
}

Forgot password

Required Permission: "ANONYMOUS"

Authorizations:
jwtAuthbasicAuth
query Parameters
username
required
string

The username of user that forgot password

Responses

Response samples

Content type
application/json
{
  • "response": {
    }
}

Validate forgot password token

Required Permission: "ANONYMOUS"

Authorizations:
jwtAuthbasicAuth
query Parameters
token
required
string

forgot password token to be validated

Responses

Response samples

Content type
application/json
{
  • "response": {
    }
}

ui

UI support operations

Get the global menu items available to the current user

Required Permission: "LOGGED_IN"

Authorizations:
jwtAuthbasicAuth

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "menuItems": [
    ]
}

Get the current active environment for the system

Required Permission: "LOGGED_IN"

Authorizations:
jwtAuthbasicAuth

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "environment": "string"
}

aws

AWS operations

Get a list of items from an S3 bucket

Required Permission: "S3 Read"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

The site ID

profileId
required
string

The profile ID

path
string

The path of the directory to list (defaults to the root)

type
string

The type of items to list (defaults to all types)

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "items": [
    ]
}

Upload a file to an S3 bucket

Required Permission: "S3 Write"

Authorizations:
jwtAuthbasicAuth
Request Body schema: multipart/form-data
siteId
required
string

The site ID

profileId
required
string

The profile ID

path
string

The path where the file will be uploaded (will be used as part of the key in S3)

filename
required
string

The name of the file (will be used as part of the item key in S3)

file
required
string <binary>

The content of the file to upload

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "item": {
    }
}

Upload a file to an S3 bucket and trigger a MediaConvert job

Required Permission: "S3 Write"

Authorizations:
jwtAuthbasicAuth
Request Body schema: multipart/form-data
siteId
required
string

The site ID

inputProfileId
required
string

The MediaConvert profile ID

outputProfileId
required
string

The S3 profile ID for the generated URLs

file
required
string <binary>

The content of the file to upload

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "item": {
    }
}

cluster

Cluster management operations

Get all the members of the cluster

Required Permission: "read_cluster"

Authorizations:
jwtAuthbasicAuth

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "clusterMembers": [
    ]
}

sites

Site management operations

Get all available blueprints

Required Permission: "LOGGED_IN"

Authorizations:
jwtAuthbasicAuth

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "blueprints": [
    ]
}

Create a site from a Marketplace blueprint

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

The site information

siteId
required
string

Site ID to use

description
string

Site description

sandboxBranch
string

Name for sandbox branch (default master)

remoteName
string

Remote repository name (default origin)

blueprintId
required
string

The ID of the blueprint to use

required
object (Version)
object

Object containing all parameters for the blueprint. It should include all required parameters from the descriptor

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "description": "string",
  • "sandboxBranch": "string",
  • "remoteName": "string",
  • "blueprintId": "string",
  • "blueprintVersion": {
    },
  • "siteParams": {
    }
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Updates the name and description for a given site

Required Permission: "EDIT_SITE"

Authorizations:
jwtAuthbasicAuth
path Parameters
siteId
required
string

The site ID

Request Body schema: application/json
name
string

The name of the site

description
string

The description of the site

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Verifies if all indicated actions are compliant with the site policies

Authorizations:
jwtAuthbasicAuth
path Parameters
siteId
required
string
Request Body schema: application/json
required
Array of objects

The list of actions to verify

Responses

Request samples

Content type
application/json
{
  • "actions": [
    ]
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "result": {
    }
}

search

Search operations

Performs a search for the given site

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

The site ID

Request Body schema: application/json

Search Parameters

query
string

The main Lucene query to execute

keywords
string

The keywords to search in the files

path
string

Regular expression to filter the paths

offset
integer <int64>

The offset to paginate the results (defaults to 0)

limit
integer <int64>

The limit to paginate the results (defaults to 10)

sortBy
string

The name of the field to sort the results (defaults to sort by relevance)

sortOrder
string

The order to sort the results (defaults to DESC)

orOperator
boolean

Indicates if the filters should use an OR instead of an AND operator (defaults to false)

object

Object containing facets to filter the search results. Facets can be simple key-value pairs like "MIME Type":"text/css" or nested objects for range facets like "Width": { "min": 0, "max": 150 }. Both keys and values can be taken from the facets object of a previous search.

Responses

Request samples

Content type
application/json
{
  • "query": "string",
  • "keywords": "string",
  • "path": "string",
  • "offset": 0,
  • "limit": 0,
  • "sortBy": "string",
  • "sortOrder": "string",
  • "orOperator": true,
  • "filters": { }
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "result": {
    }
}

audit

Audit log operations

Get audit log

Required permission "AUDIT_LOG"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
string

Site ID (site identifier) - optional for super admin user, otherwise required

offset
integer <int32>

Offset of first record in the response

limit
integer <int32>

Number of records to return

user
string

Filter log by user name

operations
Array of strings

Filter log by operations

includeParameters
boolean

Include parameters into result set if true. Default false

dateFrom
string

Lower boundary in date range query

dateTo
string

Upper boundary in date range query

target
string

Regular expression to filter target values

origin
string

Origin filter for audit log. Possible values API and GIT

clusterNodeId
string

Cluster node id filter for audit log

sort
string

Sort result set by specified field. Possible values date.

order
string

Order in sorted result. Possible values ASC and DESC

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "auditLog": [
    ]
}

Get audit log entry

Authorizations:
jwtAuthbasicAuth
path Parameters
id
required
integer <int64>

The log entry ID

query Parameters
siteId
string

Site ID (site identifier) - optional for super admin user, otherwise required

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "auditLog": [
    ]
}

monitoring

Monitoring operations

Get the current version information

Authorizations:
jwtAuthbasicAuth
query Parameters
token
required
string

Management token - not required for authenticated users

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "version": {
    }
}

Get the current status information

Authorizations:
jwtAuthbasicAuth
query Parameters
token
required
string

Management token - not required for authenticated users

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "status": {
    }
}

Get the current memory information

Authorizations:
jwtAuthbasicAuth
query Parameters
token
required
string

Management token - not required for authenticated users

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "memory": {
    }
}

Get the log events for a specific time period

Authorizations:
jwtAuthbasicAuth
query Parameters
since
required
integer <int64>

The time in milliseconds from which events should be fetched

token
required
string

Management token - not required for authenticated users

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "events": [
    ]
}

repository

Repository operations

Add remote repository to the site content repository

Required permission "add_remote"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

Remote repository entity

siteId
required
string

site identifier

remoteName
required
string

remote repository name

remoteUrl
required
string <URL>

URL to access remote repository

authenticationType
required
string

Authentication type to use to access remote repository Possible values:

  • none: no authentication

  • basic: username and password authentication

  • token: token authentication

  • key: key-based authentication

remoteUsername
string

username to use to access remote repository

remotePassword
string

password to use to access remote repository

remoteToken
string

token to use to access remote repository

remotePrivateKey
string

private key to access

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "remoteName": "string",
  • "remoteUrl": "string",
  • "authenticationType": "string",
  • "remoteUsername": "string",
  • "remotePassword": "string",
  • "remoteToken": "string",
  • "remotePrivateKey": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Pull content from remote repository to site content repository

Required permission "pull_from_remote"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

pull from remote repository request body

siteId
required
string

Site ID

remoteName
required
string

Remote repository name to pull from

remoteBranch
required
string

Remote repository branch to pull from

mergeStrategy
string <theirs, ours, none>

Merge strategy to use when pulling content from remote repository

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "remoteName": "string",
  • "remoteBranch": "string",
  • "mergeStrategy": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "result": {
    }
}

Push content to remote repository from site content repository

Required permission "push_to_remote"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

push to remote repository request body

siteId
required
string

Site ID

remoteName
required
string

Remote repository name to push to

remoteBranch
required
string

Remote repository branch to push to

force
boolean

Indicates whether to force push to remote or not

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "remoteName": "string",
  • "remoteBranch": "string",
  • "force": true
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Rebuild Crafter Studio’s database and object state with the underlying repository

Required permission "rebuild_database"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

rebuild database request body

siteId
required
string

Site ID

Responses

Request samples

Content type
application/json
{
  • "siteId": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Remove remote repository from site content repository

Required permission "remove_remote"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

remove remote repository request body

siteId
required
string

Site ID

remoteName
required
string

Remote repository name of remote to be removed

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "remoteName": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

List remote repositories for a site

Required permission "list_remote"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

Site ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "remotes": [
    ]
}

Get status of repository for a site

Required permission "site_status"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

Site ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "repositoryStatus": {
    }
}

Resolve a conflict for a file by accepting ours or theirs

Required permission "resolve_conflict"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

resolve conflict request body

siteId
required
string

site ID

path
required
string

Conflicted file path

resolution
required
string

resolution mechanism to use (ours, theirs)

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "path": "string",
  • "resolution": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "repositoryStatus": {
    }
}

Get the difference between ours and theirs for a conflicted file for a site

Required permission "site_diff_conflicted_file"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

Site ID

path
required
string

Path of conflicted file

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "diff": {
    }
}

Commit a resolved set of conflicts for a site

Required permission "commit_resolution"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

Commit resolution request body

siteId
required
string

site ID

commitMessage
required
string

Commit message

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "commitMessage": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "repositoryStatus": {
    }
}

Cancel a failed/conflicted pull for a site

Required permission "cancel_failed_pull"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

cancel failed pull request body

siteId
required
string

site ID

Responses

Request samples

Content type
application/json
{
  • "siteId": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "repositoryStatus": {
    }
}

Unlock local git repository

Required role "system_admin" for global, "admin" for site sandbox or published

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

Unlock local git repository request

siteId
string

site ID, do not send if unlocking the GLOBAL repository

repositoryType
required
string <GLOBAL, SANDBOX or PUBLISHED>

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "repositoryType": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "repositoryStatus": {
    }
}

Check if a given repository is corrupted

Required role "system_admin" for global, "admin" for site sandbox or published

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
string

site ID, do not send if checking the GLOBAL repository

repositoryType
required
string <GLOBAL, SANDBOX or PUBLISHED>

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "corrupted": true
}

Repair local git repository

Required role "system_admin" for global, "admin" for site sandbox or published

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
siteId
string

site ID, do not send if repairing the GLOBAL repository

repositoryType
required
string <GLOBAL, SANDBOX or PUBLISHED>

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "repositoryType": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

content

Content operations

Get list of content types available for Quick Create functionality

Required permission "create content"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

Site ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "items": [
    ]
}

Get a list of delete children (will be deleted) and dependent items (will have broken references) for a given list of items to be deleted

Required permission "delete_content"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
siteId
required
string

Site ID

paths
required
Array of strings

Content paths to get a delete package for

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "paths": [
    ]
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "items": {
    }
}

Delete content

Required permission "content_delete"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

parameters for delete content

siteId
required
string

site identifier

items
required
Array of strings

path(s) of content item(s)

optionalDependencies
Array of strings

optional (soft) dependencies

comment
string

deletion comment by the user performing the delete

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "items": [
    ],
  • "optionalDependencies": [
    ],
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Rename content

Required permission "content_write"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

parameters for rename content

siteId
required
string

site identifier

path
required
string

full path to the item to rename

name
required
string

new item name (just the name, no path)

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "path": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Get list of children for given item path

Required permission "get_children" and "site member"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
siteId
required
string

Site ID

path
required
string

item path to get children for

localeCode
string

filter children by locale code, or show source items (not translation) if translation to specified locale code does not exist

sortStrategy
string

sort strategy (sort order) Possible values:

  • alphabetical (default)
  • foldersFirst (order by: folders alphabetical, files alphabetical)
order
string <ASC, DESC>

order for sort strategy ascending or descending (ASC / DESC)

offset
integer

offset of first child in response - default 0

limit
integer

number of children to return

keyword
string

filter children by keyword

systemTypes
Array of strings

filter children by system type

excludes
Array of strings

exclude items by path

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "path": "string",
  • "localeCode": "string",
  • "sortStrategy": "string",
  • "order": "string",
  • "offset": 0,
  • "limit": 0,
  • "keyword": "string",
  • "systemTypes": [
    ],
  • "excludes": [
    ]
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "levelDescriptor": {
    },
  • "children": [
    ],
  • "total": 0,
  • "offset": 0,
  • "limit": 0
}

Get item details for given an item path

Required permission "get_children"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

path
required
string

item path

preferContent
boolean

when set to true, return an item instead of a folder if the path can match either

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "item": {
    }
}

Get list of items for given item paths

Required permission "get_children" and "site member"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
siteId
required
string

Site ID

paths
required
Array of strings

item paths to get

preferContent
boolean

when set to true, return an item instead of a folder if the path can match either

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "paths": [
    ],
  • "preferContent": true
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "items": [
    ],
  • "missingItems": [
    ]
}

Get the XML descriptor for a given path

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

The site ID

path
required
string

The path of the descriptor

flatten
boolean

Indicates if included descriptors should be flattened

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "xml": "string"
}

Paste a tree of items to a target path (copy content or move content). To be used by the UI in the clipboard implementation.

Required permission "Write"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
siteId
required
string

The id of the site

operation
string
Enum: "COPY" "CUT"

Indicate the type of operation

targetPath
string

The target path for the operation

required
object (PasteItem)

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "operation": "COPY",
  • "targetPath": "string",
  • "item": {
    }
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "items": [
    ]
}

Duplicate the given item in the same location

Required permission "Write"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
siteId
required
string

The id of the site

path
required
string

The path of the item to duplicate

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "path": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "item": "string"
}

Lock item by path

Required permission "content_write"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
siteId
required
string

The id of the site

path
required
string

Path of item to lock

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "path": "string"
}

Response samples

Content type
application/json
{
  • "result": {
    }
}

Unlock item by path

Required permission "item_unlock" or lock owner

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
siteId
required
string

The id of the site

path
required
string

The path of the item to unlock

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "path": "string"
}

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get content for commit id

Required permission "content_read"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

path
required
string

path of the content

commitId
required
string

commit id of the content version

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "content": "string"
}

configuration

Configuration operations

Get configuration content for site and configuration location

Required permission "read_configuration"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

Site ID

module
required
string

Module name (e.g. studio, engine)

path
required
string

Configuration file path, relative to /config/

environment
string

environment to use

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "content": "string"
}

Write configuration content for site

Required permission "write_configuration"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

write configuration request body

siteId
required
string

site ID

module
required
string

Module name (e.g. studio, engine)

path
required
string

Configuration file path, relative to /config/

environment
string

environment to use

content
required
string

configuration file content

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "module": "string",
  • "path": "string",
  • "environment": "string",
  • "content": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Clear all configuration cache for a given site

Required Permission: "write_configuration"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

Site ID

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get configuration history for site and configuration location

Required permission "read_configuration"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

Site ID

module
required
string

Module name (e.g. studio, engine)

path
required
string

Configuration file path, relative to /config/

environment
string

environment to use

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "history": {
    }
}

Get all usage of a given content-type

Required permission "content_read"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

contentType
required
string

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "dependencies": {
    }
}

Get preview image of a given content type

Required permission "content_read"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

contentTypeId
required
string

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Delete files related to a given content-type

Required permission "write_configuration"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
siteId
required
string

The id of the site

contentType
required
string

The content-type to delete

deleteDependencies
boolean

Indicates if all dependencies of the content-type should be deleted (defaults to false)

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "contentType": "string",
  • "deleteDependencies": true
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

plugin

Plugin operations

Get a file for a given plugin

query Parameters
siteId
required
string

The site ID

type
required
string

The plugin type (e.g. control, data-source)

name
required
string

The plugin name (e.g. custom-input)

filename
required
string

The name of the file (e.g. input.js, style/main.css)

pluginId
string

The id of the plugin (e.g. org.craftercms.plugin). This is only needed for plugins installed from the marketplace

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get configuration for the given site and plugin

Required permission "site member"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

The id of the site

pluginId
required
string

The id of the plugin

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "content": "string"
}

Write configuration content a given site and plugin

Required permission "write_configuration" and "site member"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

write configuration request body

siteId
required
string

The id of the site

pluginId
required
string

The id of the plugin

content
required
string

configuration file content

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "pluginId": "string",
  • "content": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Reloads groovy classes for all plugins in a given site

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

Site ID

token
required
string

Management token

Responses

Response samples

Content type
application/json
{
  • "response": {
    }
}

dependency

Dependencies operations

Get list of dependencies for given content paths

Required permission "content_read"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
siteId
required
string

Site ID

paths
required
Array of strings

Content paths to get dependencies for

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "paths": [
    ]
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "items": {
    }
}

marketplace

Marketplace operations

Search for compatible plugins in the marketplace

Authorizations:
jwtAuthbasicAuth
query Parameters
type
string

Plugin type to search (e.g. blueprint, control, datasource)

keywords
string

The keywords to filter plugins

showPending
boolean

Include plugins pending of approval (default to false)

offset
integer <int64>

Offset for pagination

limit
integer <int64>

Limit for pagination

showIncompatible
boolean

Include incompatible plugins (defaults to false)

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "items": [
    ]
}

Get the list of plugins installed in the given site

Required permission "list_plugins"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "plugins": [
    ]
}

Install a plugin in the given site

Required permission "install_plugins"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
siteId
required
string

The id of the site

pluginId
required
string

The id of the plugin

required
object (Version)
object

Object containing all parameters for the plugin. It should include all required parameters from the descriptor

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "pluginId": "string",
  • "pluginVersion": {
    },
  • "parameters": {
    }
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Copy a local plugin to a given site

Required permission "install_plugins"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
siteId
required
string

The id of the site

path
required
string

The path of the local plugin source folder

object

Object containing all parameters for the plugin. It should include all required parameters from the descriptor

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "path": "string",
  • "parameters": {
    }
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Remove a plugin from the given site

Required permission "remove_plugins"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
siteId
required
string

The id of the site

pluginId
required
string

The id of the plugin

force
any

Indicates if the plugin should be removed even if there are dependant items

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "pluginId": "string",
  • "force": null
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

List dependant items for a plugin

Required permission "remove_plugins"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

The id of the site

pluginId
required
string

The id of the plugin

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "items": [
    ]
}

webdav

WebDAV operations

Get a list of items from a WebDAV server

Required Permission: "webdav_read"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

The site ID

profileId
required
string

The profile ID

path
string

The path of the directory to list (defaults to the root)

type
string

The MIME-type of items to list, defaults to all

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "items": [
    ]
}

Upload a file to a WebDAV server

Required Permission: "webdav_write"

Authorizations:
jwtAuthbasicAuth
Request Body schema: multipart/form-data
siteId
required
string

The site ID

profileId
required
string

The profile ID

path
string

The path where the file will be uploaded

file
required
string <binary>

The content of the file to upload

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "item": {
    }
}

publishing

Publishing operations

Publishes the entire project to the target (staging or live)

Required permission "Publish"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

publish all request body

siteId
required
string

site ID

publishingTarget
required
string

the publishing target (staging or live)

submissionComment
string

optional submission comment

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "publishingTarget": "string",
  • "submissionComment": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Get the list of packages in the publishing queue

Required permission "get_publishing_queue"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

publishingTarget
string

filter by publishing target

path
string

regular expression to filter by path

states
Array of strings

filter by package state(s)

offset
integer <int64>

Offset for pagination

limit
integer <int64>

Limit for pagination

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "packages": [
    ]
}

Get package details

Required permission "get_publishing_queue"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

packageId
required
string

package ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "package": {
    }
}

Cancel publishing packages

Required permission "cancel_publish"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

cancel publishing packages request body

siteId
required
string

site ID

packageIds
required
Array of strings

packageIds

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "packageIds": [
    ]
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Get publishing status for site

Required permission "publish_status"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "publishingStatus": {
    }
}

Clear publishing lock for site

Required permission "publish_clear_lock"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

clear publishing lock request body

siteId
required
string

site ID

Responses

Request samples

Content type
application/json
{
  • "siteId": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Get publishing history for site

Required permission "publish"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

days
required
integer <int32>

number of days to display history for

num
required
integer <int32>

number of items to fetch

filterType
string

filter items by type (all, page, component, asset)

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "publishingStatus": {
    }
}

Get available publishing targets for site

Required permission "publish"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "publishingTargets": [
    ],
  • "published": true
}

Check if site has initial publish

Required permission "content_read"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "hasInitialPublish": true
}

security

Security operations

Encrypt a text value

Required permission "encryption_tool"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
text
required
string

Responses

Request samples

Content type
application/json
{
  • "text": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "item": "string"
}

Get all existing tokes for the current user

Required permission "manage_access_token"

Authorizations:
jwtAuthbasicAuth

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "tokens": [
    ]
}

Creates a new access token for the current user

Required permission "manage_access_token"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json
label
required
string

The label for the access token

expiresAt
string <date-time>

The date of expiration for the access token

Responses

Request samples

Content type
application/json
{
  • "label": "string",
  • "expiresAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "token": {
    }
}

Updates an access token for the current user

Required permission "manage_access_token"

Authorizations:
jwtAuthbasicAuth
path Parameters
id
required
integer <int64>

The id of the access token to update

Request Body schema: application/json
enabled
required
boolean

Indicates if the access token is enabled

Responses

Request samples

Content type
application/json
{
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "token": {
    }
}

Deletes an access token for the current user

Required permission "manage_access_token"

Authorizations:
jwtAuthbasicAuth
path Parameters
id
required
integer <int64>

The id of the access token to delete

Responses

Response samples

Content type
application/json
{
  • "response": {
    }
}

dashboard

Dashboard operations

Get user activities

Required permission "site_member"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

usernames
Array of strings

filter activities for given users only

actions
Array of strings

filter activities for given actions only

dateFrom
string <date-time>

lower boundary to filter by date-time range

dateTo
string <date-time>

upper boundary to filter by date-time range

offset
integer

offset of the first result item, default 0

limit
integer

number of results to return, default 10

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "activities": [
    ]
}

Get current user's activities

Required permission "site_member"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

actions
Array of strings

filter activities for given actions only

dateFrom
string <date-time>

lower boundary to filter by date-time range

dateTo
string <date-time>

upper boundary to filter by date-time range

offset
integer

offset of the first result item, default 0

limit
integer

number of results to return, default 10

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "activities": [
    ]
}

Get publishing packages that are pending for approval

Required permission "site_member"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

offset
integer

offset of the first result item, default 0

limit
integer

number of results to return, default 10

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "publishingItems": [
    ]
}

Get content items of the package that is pending for approval

Required permission "site_member"

Authorizations:
jwtAuthbasicAuth
path Parameters
id
required
string

package ID

query Parameters
siteId
required
string

site ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "publishingPackageItems": [
    ]
}

Get unpublished items for site

Required permission "content_read"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

offset
integer

offset of the first result item, default 0

limit
integer

number of results to return, default 10

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "unpublishedItems": [
    ]
}

Get scheduled publishing packages

Required permission "content_read"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

publishingTarget
string

publishing target to filter results

dateFrom
required
string <date-time>

lower boundary to filter by date-time range

dateTo
required
string <date-time>

upper boundary to filter by date-time range

offset
integer

offset of the first result item, default 0

limit
integer

number of results to return, default 10

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "publishingPackages": [
    ]
}

Get content items of the package that is scheduled

Required permission "content_read"

Authorizations:
jwtAuthbasicAuth
path Parameters
id
required
string

package ID

query Parameters
siteId
required
string

site ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "publishingPackageItems": [
    ]
}

Get history of published packages

Required permission "content_read"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

publishingTarget
string

publishing target to filter results

approver
string

approver user to filter results

dateFrom
required
string <date-time>

lower boundary to filter by date-time range

dateTo
required
string <date-time>

upper boundary to filter by date-time range

offset
integer

offset of the first result item, default 0

limit
integer

number of results to return, default 10

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "publishingPackages": [
    ]
}

Get content items of the package that was published

Required permission "content_read"

Authorizations:
jwtAuthbasicAuth
path Parameters
id
required
string

package ID

query Parameters
siteId
required
string

site ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "publishingPackageItems": [
    ]
}

Get publishing stats

Required permission "content_read"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

days
required
integer <int32>

number of days to display stats for

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "publishingStats": {
    }
}

Get content that is expiring

Required permission "site_member"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

dateFrom
required
string <date-time>

lower boundary to filter by date-time range

dateTo
required
string <date-time>

upper boundary to filter by date-time range

offset
integer

offset of the first result item, default 0

limit
integer

number of results to return, default 10

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "items": [
    ]
}

Get content that expired

Required permission "site_member"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

offset
integer

offset of the first result item, default 0

limit
integer

number of results to return, default 10

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "items": [
    ]
}

workflow

Workflow operations

Get item workflow states for site

Required permission "get_item_states"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

path
string

path regex

states
integer <int64>

states bitmap mask

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "items": [
    ]
}

Set item workflow states for site

Required permission "set_item_states"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

List of items to set workflow state(s)

siteId
required
string

site ID

items
required
Array of strings

path(s) of item(s)

clearSystemProcessing
boolean

true if system processing is to be cleared

clearUserLocked
boolean

true if user lock is to be cleared

live
boolean

true if item is to be set as live, otherwise false

staged
boolean

true if item is to be set as staged, otherwise false

new
boolean

true if item is to be set as new, otherwise false

modified
boolean

true if item is to be set as modified, otherwise false

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "items": [
    ],
  • "clearSystemProcessing": true,
  • "clearUserLocked": true,
  • "live": true,
  • "staged": true,
  • "new": true,
  • "modified": true
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Set item workflow states for site using query

Required permission "set_item_states"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

List of items to set workflow state(s)

required
object
required
object

Responses

Request samples

Content type
application/json
{
  • "query": {
    },
  • "update": {
    }
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Get workflow affected paths

Required permission "content_read"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

site ID

path
required
string

path of the content

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "items": [
    ]
}

Request publish for content

Required permission "site_member"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

parameters for request publish

siteId
required
string

site identifier

items
required
Array of strings

path(s) of content item(s)

optionalDependencies
Array of strings

optional (soft) dependencies

publishingTarget
required
string

target to publish content to

schedule
string <datetime>

schedule when to publish content

comment
string

comment about publish request

sendEmailNotifications
boolean

if true, send email notifications

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "items": [
    ],
  • "optionalDependencies": [
    ],
  • "publishingTarget": "string",
  • "schedule": "string",
  • "comment": "string",
  • "sendEmailNotifications": true
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Publish content

Required permission "publish"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

parameters for publish content

siteId
required
string

site identifier

items
required
Array of strings

path(s) of content item(s)

optionalDependencies
Array of strings

optional (soft) dependencies

publishingTarget
required
string

target to publish content to

schedule
string <datetime>

schedule when to publish content

comment
string

submission comment by publisher

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "items": [
    ],
  • "optionalDependencies": [
    ],
  • "publishingTarget": "string",
  • "schedule": "string",
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Approve request publish submission

Required permission "publish"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

parameters for approve request publish submission

siteId
required
string

site identifier

items
required
Array of strings

path(s) of content item(s)

optionalDependencies
Array of strings

optional (soft) dependencies

publishingTarget
required
string

target to publish content to

schedule
string <datetime>

schedule when to publish content

comment
string

Reviewer's comment

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "items": [
    ],
  • "optionalDependencies": [
    ],
  • "publishingTarget": "string",
  • "schedule": "string",
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Reject request publish submission

Required permission "publish"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

parameters for reject request publish submission

siteId
required
string

site identifier

items
required
Array of strings

path(s) of content item(s)

comment
string

Reviewer's rejection comment

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "items": [
    ],
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

List workflow packages order by scheduled date

Required permission "request_publish, publish"

Authorizations:
jwtAuthbasicAuth
query Parameters
siteId
required
string

filter workflow packages by site

dateFrom
string <date>

lower boundary for filtering results by scheduled date

dateTo
string <date>

upper boundary for filtering results by scheduled date

offset
integer <int32>

Offset of the first package in the response

limit
integer <int32>

Number of packages to return

order
string

ascending or descending (ASC | DESC). Default ascending

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "packages": [
    ]
}

Create workflow package

Required permission "request_publish, publish"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

parameters to create new workflow package

siteId
required
string

site identifier

paths
required
Array of strings

paths of content items to add to package

publishingTarget
required
string

target where to publish content

schedule
string <datetime>

schedule when publishing should be performed

authorComment
string

author's comment about the package

label
string

user friendly name for the package

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "paths": [
    ],
  • "publishingTarget": "string",
  • "schedule": "string",
  • "authorComment": "string",
  • "label": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Update workflow package

Required permission "request_publish, publish"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

Workflow package entity to update

id
required
string

workflow package ID

siteId
required
string

site identifier

status
required
string

workflow package status

author
required
string

username of the author

reviewer
string

username of the reviewer

schedule
string <datetime>

scheduled date and time to publish the package

publishingTarget
required
string

name of the publishing target where package will be published

authorComment
string

author's comment

reviewerComment
string

reviewer's comment

label
string

user friendly label for package

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "siteId": "string",
  • "status": "string",
  • "author": "string",
  • "reviewer": "string",
  • "schedule": "string",
  • "publishingTarget": "string",
  • "authorComment": "string",
  • "reviewerComment": "string",
  • "label": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "package": {
    }
}

Get workflow package by id

Required permission "request_publish, publish"

Authorizations:
jwtAuthbasicAuth
path Parameters
id
required
string <UUID>

The workflow package ID

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "package": {
    }
}

Approve workflow package

Required permission "publish"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

parameters to approve a workflow package

siteId
required
string

site identifier

required
Array of objects
schedule
string <datetime>

approved schedule when to publish package

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "packages": [
    ],
  • "schedule": "string"
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

Create workflow package

Required permission "request_publish, publish"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

parameters to create new workflow package

siteId
required
string

site identifier

required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "siteId": "string",
  • "packages": [
    ]
}

Response samples

Content type
application/json
{
  • "response": {
    }
}

loggers

Logger configuration operations

Get all loggers and their configured priority levels

Required permission "view_log_levels or configure_log_levels"

Authorizations:
jwtAuthbasicAuth

Responses

Response samples

Content type
application/json
{
  • "response": {
    },
  • "results": [
    ]
}

Update logger priority level

Required permission "configure_log_levels"

Authorizations:
jwtAuthbasicAuth
Request Body schema: application/json

parameters to update the logger level

name
required
string

the logger name

level
required
string

the logger priority level (off|error|warn|info|debug|trace|all)

createIfAbsent
boolean

if true, the logger will be created in case it does not exist yet. If false, a 404 status code will be returned if logger is not in the registry.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "level": "string",
  • "createIfAbsent": true
}

Response samples

Content type
application/json
{
  • "response": {
    },
  • "result": {
    }
}