AEM Admin API (11.71.1)

Download OpenAPI specification:Download

License: Apache 2.0

AEM Admin API is used to manage the lifecycle of content and code.

status

Status operations

General status

Returns the overall status of the respective resource. (If the ?edit=auto query param is set, this requires a call to your content source see https://www.aem.live/docs/limits#rate-limits-number-of-preview-operations-per-time)

Authorizations:
NoneAuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

path
required
string

Relative path of the resource

query Parameters
string or string

Optional URL of the edit (authoring) document

Responses

Response samples

Content type
application/json

Success response of a preview document.

{}

Start a bulk status job

Fetches the status of all resources specified in the paths property in the payload. If a path ends with /*, it is assumed to be a folder and is recursively processed.

The response will contain the folliowing information about a resource: path, sourceLastModified, previewLastModified and publishLastModified. It is possible to filter the information returned, by passing a combination of edit, preview and live in the select property in the payload.

Note that the bulk status is performed asynchronously and the response will contain information about the created job.

Authorizations:
NoneAuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

Request Body schema: application/json
paths
required
Array of strings

paths to filter the bulk status

select
Array of strings

a combination of edit, preview and live. The default is ['preview','live'].

Responses

Request samples

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

Response samples

Content type
application/json

Success response.

{}

publish

Publish operations

Publish Status

Returns the publish status of the respective resource.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

path
required
string

Relative path of the resource

Responses

Response samples

Content type
application/json

Success response of a published document.

{}

Publish a resource

Publish a resource by copying the resource content from the preview content-bus partition to the live content-bus partition. It additionally purges the live cdn and the byo cdn, if configured.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

path
required
string

Relative path of the resource

query Parameters
forceUpdateRedirects
boolean

forces an update of the redirects (only applies when updating/publishing redirects.json)

disableNotifications
boolean

disables notifications for affected resources

Responses

Response samples

Content type
application/json

Success response of the published document.

{}

Un-publish a resource

Un-publish a resource by deleting the content from from the live content-bus partition. It additionally purges the live cdn and the byo cdn, if configured.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

path
required
string

Relative path of the resource

query Parameters
disableNotifications
boolean

disables notifications for affected resources

Responses

Start a bulk publish job

Updates live resources specified in the paths property in the payload.
By default, only new and modified resources are updated, unless the forceUpdate property is set to true.
Note that configuration files, like /.helix/config or redirects.json, are always ignored during bulk publish.
Note that the bulk publish is performed asynchronously and this request will return information to the created job.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

Request Body schema: application/json
forceUpdate
boolean

forces an update of the resources during bulk-publish

paths
required
Array of strings

paths to filter the bulk publish

delete
boolean
Default: false

delete the resources from publish

Responses

Request samples

Content type
application/json
{
  • "forceUpdate": true,
  • "paths": [
    ],
  • "delete": false
}

Response samples

Content type
application/json

Success response.

{}

preview

Preview operations

Preview status

Returns the preview status of the respective resource.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

path
required
string

Relative path of the resource

Responses

Response samples

Content type
application/json

Success response of a preview document.

{}

Update preview

Updates the preview resource by fetching the latest content from the content providers (e.g. sharepoint, google docs, BYOM) and storing it in preview.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

path
required
string

Relative path of the resource

query Parameters
forceUpdateRedirects
boolean

forces an update of the redirects (only applies when updating/publishing redirects.json)

hlx-word2md-version
string

selects the version to use when invoking the word2md service.

hlx-gdocs2md-version
string

selects the version to use when invoking the gdocs2md service.

hlx-html2md-version
string

selects the version to use when invoking the html2md service.

Responses

Response samples

Content type
application/json

Success response.

{}

Delete preview

Deletes a preview resource from the preview partition in the content-bus..

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

path
required
string

Relative path of the resource

Responses

Start a bulk preview job

Updates preview resources specified in the paths property in the payload. If a path ends with /*, it is assume to be folder and is recursively previewed.
By default, only new and modified resources are updated, unless the forceUpdate property is set to true.
Note that configuration files, like /.helix/config or redirects.json, are always ignored during bulk preview.
Note that the bulk preview is performed asynchronously and this request will return information to the created job.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

query Parameters
hlx-word2md-version
string

selects the version to use when invoking the word2md service.

hlx-gdocs2md-version
string

selects the version to use when invoking the gdocs2md service.

hlx-html2md-version
string

selects the version to use when invoking the html2md service.

Request Body schema: application/json
forceUpdate
boolean

forces an update of the resources during bulk-preview

paths
required
Array of strings

paths to filter the bulk preview

delete
boolean
Default: false

delete the resources from preview

Responses

Request samples

Content type
application/json
{
  • "forceUpdate": true,
  • "paths": [
    ],
  • "delete": false
}

Response samples

Content type
application/json

Success response.

{}

code

Code bus operations

Code bus status

Returns the code bus status of the respective resource.

Authorizations:
NoneAuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

path
required
string

Relative path of the resource

query Parameters
string or string

Optional branch specifier in case the branch name contains slashes or uppercase characters.

Responses

Response samples

Content type
application/json

Success response of a code document.

{}

Update code

Updates the code-bus resource by fetching the latest content from github and storing it in the code-bus. If the last path segment is a *, it will recursively update the code-bus with the respective github tree (directory). It additionally purges the live cdn and the byo cdn, if configured.

Authorizations:
NoneAuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

path
required
string

Relative path of the resource

query Parameters
string or string

Optional branch specifier in case the branch name contains slashes or uppercase characters.

Responses

Response samples

Content type
application/json

Success response.

[]

Delete code

Deletes a code resource from the code-bus It additionally purges the live cdn and the byo cdn, if configured.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

path
required
string

Relative path of the resource

query Parameters
string or string

Optional branch specifier in case the branch name contains slashes or uppercase characters.

Responses

Batch update code

Processes a change event and updates the code-bus accordingly. It additionally purges the live cdn and the byo cdn, if configured.

Authorizations:
NoneAuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

Request Body schema: application/json
source
string

event source, eg: 'github'

baseRef
string

base ref for branch operations

required
Array of objects (changeEntry)

array of changes

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "type": "github",
  • "baseRef": "",
  • "installationId": 995843,
  • "changes": [
    ]
}

Response samples

Content type
application/json

Success response.

[]

cache

Cache operations

Purge live cache

Purges the resource from the respective live cdn. It optionally invokes the byo cdn purging hook, if configured.

Authorizations:
NoneAuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

path
required
string

Relative path of the resource

Responses

index

Index operations

Index Status

Returns the index status of the respective resource.

Authorizations:
NoneAuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

path
required
string

Relative path of the resource

Responses

Response samples

Content type
application/json

Success response of an index document.

{}

Re-index a resource.

Index a resource. If the last path segment is a *, it will recursively reindex all published resources below that sub tree.

Authorizations:
NoneAuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

path
required
string

Relative path of the resource

Responses

Response samples

Content type
application/json

Success response of indexing a resource.

{}

Remove a resource from the index.

Removes a resource from the index.

Authorizations:
NoneAuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

path
required
string

Relative path of the resource

Responses

Response samples

Content type
application/json

Success response of removing a resource from the index.

{
  • "webPath": "/en/2021/blog",
  • "resourcePath": "/en/2021/blog.md",
  • "index": {
    }
}

sitemap

Sitemap operations

Generates a sitemap

Generates a sitemap. The path specified should be the destination path of a sitemap.

Authorizations:
None
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

path
required
string

Relative path of the resource

Responses

Response samples

Content type
application/json

Success response of generating a sitemap

{
  • "paths": [
    ]
}

snapshot

Snapshot operations

Snapshot Manifest

Returns the snapshot manifest

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

snapshotId
required
string

Id of the snapshot

Responses

Response samples

Content type
application/json

Success response of a snapshot manifest.

{
  • "manifest": {
    },
}

Update snapshot Manifest

Updates the Snapshot manifest and allows to lock or unlock the snapshot. Note that in order to lock the snapshot, the request role also needs to include the preview:write permission, and in order to unlock the snapshot, the live:write permission is needed.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

snapshotId
required
string

Id of the snapshot

Request Body schema: application/json
locked
boolean
title
string
description
string
object

Responses

Request samples

Content type
application/json
{
  • "locked": true,
  • "title": "string",
  • "description": "string",
  • "metadata": { }
}

Response samples

Content type
application/json

Success response of a snapshot manifest.

{
  • "manifest": {
    },
}

Snapshot status

Returns the snapshot status of the respective resource.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

snapshotId
required
string

Id of the snapshot

path
required
string

Relative path of the resource

Responses

Response samples

Content type
application/json

Success response of a snapshot document.

{}

Create snapshot

Creates a snapshot of the specified resource and stores it in the preview partition below the .snapshot/snapshotId folder. If the path param ends with a *, a snapshot of the entire subtree is created. If the snapshot is locked, a 409 response is returned.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

snapshotId
required
string

Id of the snapshot

path
required
string

Relative path of the resource

query Parameters
filter
any
Default: "all"
Enum: "all" "modified"

Filters the resources that are selected for snapshot. If set to modified only the resources that have a preview date newer than the live date are selected.

Responses

Delete snapshot

Deletes a snapshot resource from the preview partition in the content-bus. If the path param ends with a *, the entire subtree is deleted. If the snapshot is locked, a 409 response is returned.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

snapshotId
required
string

Id of the snapshot

path
required
string

Relative path of the resource

Responses

Publish snapshot resource

Publish snapshot resources by copying the resource content from the snapshot location to the live content-bus partition. It additionally purges the live cdn and the byo cdn, if configured. If the path param ends with a * the resources of the path's entire subtree is published.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

snapshotId
required
string

Id of the snapshot

path
required
string

Relative path of the resource

query Parameters
publish
any
Value: "true"

Indicates that the snapshot should be published.

Responses

Response samples

Content type
application/json

Success response of the published document.

{}

Publish snapshot

Publish a snapshot by copying all resources from the snapshot location to the live content-bus partition. It additionally purges the live cdn and the byo cdn, if configured.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

snapshotId
required
string

Id of the snapshot

query Parameters
publish
any
Value: "true"

Indicates that the snapshot should be published.

Responses

Response samples

Content type
application/json

Success response of the published document.

{}

authentication

The API uses your existing Identity Provider (IDP) to authenticate users with administrative access. The general flow is that you open /login in a browser, select the IDP you want to use, and then are redirected to the IDP login page. After successful login, you are redirected back to the Admin API with an auth token in the response cookie (auth_token). This token is then used to authenticate all subsequent requests.

Alternatively, you can provide an authorization: token $API_KEY header. In order to obtain an API_KEY, talk to your AEM project lead.

Login Selection

Provides a selection of available IDP logins

Authorizations:
None

Responses

Response samples

Content type
application/json
Example

Success response.

{}

Auto login

Redirects to IDP corresponding the project setup

Authorizations:
None
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

Responses

Logout

Logs out the current session and redirects to the login screen

Authorizations:
None

Responses

Profile information

Display profile information

Authorizations:
NoneAuthCookie

Responses

Response samples

Content type
application/json

Success response.

{
  • "profile": {
    },
  • "links": {}
}

log

Log operations

Returns logs

Returns logs for a project. If there are more logs for the timespan specified, there will be a next link in the response to load the next batch.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

query Parameters
from
string

Indicates the starting date to get logs from. If not specified, uses the current date minus 15 minutes.

to
string

Indicates the ending date to get logs from. If not specified, uses the current date.

nextToken
string

Token returned from a previous call to continue

Responses

Response samples

Content type
application/json

Success response of a log request.

{
  • "from": "2023-11-07T14:00:00.000Z",
  • "to": "2023-11-07T16:15:12.454Z",
  • "entries": [
    ],
  • "nextToken": "ABAB==",
}

Add logs

Add logs to a project. The body should be in JSON format and contain an array called entries.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

Request Body schema: application/json
entries
required
Array of objects

entries to add to the logs

Responses

Request samples

Content type
application/json

This posts one entry to the audit log. To see what the added entry would look like, see the second entry in the getLog example.

{
  • "entries": [
    ]
}

job

Job operations

Job List

Returns the job list of jobs

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

topic
required
string

Topic of a job

Responses

Response samples

Content type
application/json

Success response of a job list.

{}

Job Status

Returns the job status

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

topic
required
string

Topic of a job

jobName
required
string

Name of a job

Responses

Response samples

Content type
application/json

Success response.

{}

Stop job

Stops a job.

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

topic
required
string

Topic of a job

jobName
required
string

Name of a job

Responses

Job Status Details

Returns the job status

Authorizations:
AuthCookie
path Parameters
owner
required
string

Repository owner.

repo
required
string

Name of the repository

ref
required
string

Ref (branch) of repository.

topic
required
string

Topic of a job

jobName
required
string

Name of a job

Responses

Response samples

Content type
application/json

Success response.

{}

Org Config

Org Config operations

OrgConfig

version
required
integer
Default: 1
Value: 1
title
string (title)

human readable title. has no influence on the configuration.

description
string (description)

description for clarity. has no influence on the configuration.

Array of objects (users)
object (groups)
{
  • "version": 1,
  • "title": "string",
  • "description": "string",
  • "users": [
    ],
  • "groups": { }
}

GroupsConfig

pattern property
object (Group)

A group of members. Can be referenced in access.admin.role.

{ }

Read Organisation Config

Returns the organisation level configuration.

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

Responses

Response samples

Content type
application/json
{
  • "version": 1,
  • "title": "string",
  • "description": "string",
  • "users": [
    ],
  • "groups": { }
}

Update Organisation Config

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

Request Body schema: application/json
version
required
integer
Default: 1
Value: 1
title
string (title)

human readable title. has no influence on the configuration.

description
string (description)

description for clarity. has no influence on the configuration.

Array of objects (users)
object (groups)

Responses

Request samples

Content type
application/json
{
  • "version": 1,
  • "title": "string",
  • "description": "string",
  • "users": [
    ],
  • "groups": { }
}

Response samples

Content type
application/json
{ }

Create Organisation Config

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

Request Body schema: application/json
version
required
integer
Default: 1
Value: 1
title
string (title)

human readable title. has no influence on the configuration.

description
string (description)

description for clarity. has no influence on the configuration.

Array of objects (users)
object (groups)

Responses

Request samples

Content type
application/json
{
  • "version": 1,
  • "title": "string",
  • "description": "string",
  • "users": [
    ],
  • "groups": { }
}

Delete Organisation Config

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

Responses

List Tokens

Returns the access tokens

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

Responses

Response samples

Content type
application/json
{ }

Create new access token

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

Responses

Response samples

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

Read token

Returns the access token

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

id
required
string

access token id.

Responses

Response samples

Content type
application/json
{ }

Delete access token

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

id
required
string

access token id.

Responses

List Users

Returns the org users

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create new org user

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "email": "user@example.com",
  • "name": "string",
  • "roles": [
    ]
}

Read user

Returns the user

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

id
required
string

user id.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "email": "user@example.com",
  • "name": "string",
  • "roles": [
    ]
}

Delete user

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

id
required
string

user id.

Responses

Site Config

Please note that most of the configuration objects that have an explicit schema can also be addressed directly, even if not listed in this documentation.
For example the production CDN configuration can be managed via the /config/{org}/sites/{site}/cdn/prod.json endpoint.

SiteConfig

version
required
integer
Default: 1
Value: 1
name
string^[a-z0-9]+(?:-[a-z0-9]+)*$

Site name; part of the hostname

title
string (title)

human readable title. has no influence on the configuration.

description
string (description)

description for clarity. has no influence on the configuration.

required
object (content)

Defines the content bus location and source.

required
object (code)

Defines the code bus location and source.

object (folders)
object (headers)
object (cdn)
object (access)
object (tokens)
object (groups)
object (sidekick)
object (metadata-source)
object (robots)
public
object (public)

Public configuration

object
{
  • "version": 1,
  • "name": "string",
  • "title": "string",
  • "description": "string",
  • "content": {
    },
  • "code": {
    },
  • "folders": { },
  • "headers": { },
  • "cdn": {
    },
  • "access": {
    },
  • "tokens": { },
  • "groups": { },
  • "sidekick": {
    },
  • "metadata": {
    },
  • "robots": {
    },
  • "public": { },
  • "extends": {
    }
}

SiteConfigList

required
Array of objects
{
  • "sites": [
    ]
}

AdminAccessConfig

object (Role)
boolean or string
Default: "auto"

Enforce authentication if set to true. If set to 'auto' it will enforce authentication if a role mapping is defined. defaults to 'auto'.

defaultRole
Array of strings
Items Enum: "admin" "author" "publish" "develop" "basic_author" "basic_publish" "config" "config_admin"

the default roles assigned to the users. defaults to basic_publish for unauthenticated setups.

apiKeyId
Array of strings

the id of the API key(s). this is used to validate the API KEYS and allows to invalidate them.

{
  • "role": { },
  • "requireAuth": "auto",
  • "defaultRole": [
    ],
  • "apiKeyId": [
    ]
}

SiteAccessConfig

apiKeyId
Array of strings

IDs of the api keys (tokens) that are allowed.

clientCertDN
Array of strings

the DNs of the client certificates that are allowed.

{
  • "apiKeyId": [
    ],
  • "clientCertDN": [
    ]
}

AccessConfig

object (access-admin)
object (access-site)
object (access-site)
object (access-site)
{
  • "admin": {
    },
  • "site": {
    },
  • "preview": {
    },
  • "live": {
    }
}

CDNConfig

Fastly CDN Config (object) or Cloudflare CDN Config (object) or Akamai CDN Config (object) or Managed CDN Config (object) or Cloudfront CDN Config (object) or EmptyConfig (object)
object
object
{
  • "prod": {
    },
  • "live": {
    },
  • "preview": {
    }
}

CodeConfig

title
string (title)

human readable title. has no influence on the configuration.

description
string (description)

description for clarity. has no influence on the configuration.

owner
required
string[a-zA-Z0-9_-]+
repo
required
string[a-zA-Z0-9_-]+
required
object
{
  • "title": "string",
  • "description": "string",
  • "owner": "string",
  • "repo": "string",
  • "source": {}
}

ContentConfig

title
string (title)

human readable title. has no influence on the configuration.

description
string (description)

description for clarity. has no influence on the configuration.

contentBusId
required
string
required
Google Content Source (object) or Onedrive Content Source (object) or Markup Content Source (object)
{
  • "title": "string",
  • "description": "string",
  • "contentBusId": "string",
  • "source": {}
}

FoldersConfig

^/[a-zA-Z0-9-/.]*$
pattern property
string
{ }

HeadersConfig

pattern property
Array of objects (keyValuePair)
{ }

MetadataConfig

source
Array of strings
{
  • "source": [
    ]
}

PublicConfig

object (PublicConfig)

Public configuration

{ }

GroupsConfig

pattern property
object (Group)

A group of members. Can be referenced in access.admin.role.

{ }

RobotsConfig

txt
string
{
  • "txt": "string"
}

SidekickConfig

Array of objects (sidekickPlugin)
{
  • "plugins": [
    ]
}

TokensConfig

pattern property
object
{ }

List Site Config

Returns the site level configuration names.

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

Responses

Response samples

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

Read Site Config

Returns the site level configuration. If migrate is set to true, the configuration will be aggregated based on the legacy config (fstab, .helix/config.xlsx, etc).

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

site
required
string

site id.

query Parameters
migrate
boolean

indicates to migrate the config.

Responses

Response samples

Content type
application/json
{
  • "version": 1,
  • "name": "string",
  • "title": "string",
  • "description": "string",
  • "content": {
    },
  • "code": {
    },
  • "folders": { },
  • "headers": { },
  • "cdn": {
    },
  • "access": {
    },
  • "tokens": { },
  • "groups": { },
  • "sidekick": {
    },
  • "metadata": {
    },
  • "robots": {
    },
  • "public": { },
  • "extends": {
    }
}

Update Site Config.

Stores new site configuration. If migrate is set to true, the configuration will be aggregated based on the legacy config (fstab, .helix/config.xlsx, etc) and will overwrite the existing configuration.

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

site
required
string

site id.

query Parameters
migrate
boolean

indicates to migrate the config.

Request Body schema: application/json
version
required
integer
Default: 1
Value: 1
name
string^[a-z0-9]+(?:-[a-z0-9]+)*$

Site name; part of the hostname

title
string (title)

human readable title. has no influence on the configuration.

description
string (description)

description for clarity. has no influence on the configuration.

required
object (content)

Defines the content bus location and source.

required
object (code)

Defines the code bus location and source.

object (folders)
object (headers)
object (cdn)
object (access)
object (tokens)
object (groups)
object (sidekick)
object (metadata-source)
object (robots)
public
object (public)

Public configuration

object

Responses

Request samples

Content type
application/json
{
  • "version": 1,
  • "name": "string",
  • "title": "string",
  • "description": "string",
  • "content": {
    },
  • "code": {
    },
  • "folders": { },
  • "headers": { },
  • "cdn": {
    },
  • "access": {
    },
  • "tokens": { },
  • "groups": { },
  • "sidekick": {
    },
  • "metadata": {
    },
  • "robots": {
    },
  • "public": { },
  • "extends": {
    }
}

Response samples

Content type
application/json
{
  • "version": 1,
  • "name": "string",
  • "title": "string",
  • "description": "string",
  • "content": {
    },
  • "code": {
    },
  • "folders": { },
  • "headers": { },
  • "cdn": {
    },
  • "access": {
    },
  • "tokens": { },
  • "groups": { },
  • "sidekick": {
    },
  • "metadata": {
    },
  • "robots": {
    },
  • "public": { },
  • "extends": {
    }
}

Create Site Config

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

site
required
string

site id.

Request Body schema: application/json
version
required
integer
Default: 1
Value: 1
name
string^[a-z0-9]+(?:-[a-z0-9]+)*$

Site name; part of the hostname

title
string (title)

human readable title. has no influence on the configuration.

description
string (description)

description for clarity. has no influence on the configuration.

required
object (content)

Defines the content bus location and source.

required
object (code)

Defines the code bus location and source.

object (folders)
object (headers)
object (cdn)
object (access)
object (tokens)
object (groups)
object (sidekick)
object (metadata-source)
object (robots)
public
object (public)

Public configuration

object

Responses

Request samples

Content type
application/json
{
  • "version": 1,
  • "name": "string",
  • "title": "string",
  • "description": "string",
  • "content": {
    },
  • "code": {
    },
  • "folders": { },
  • "headers": { },
  • "cdn": {
    },
  • "access": {
    },
  • "tokens": { },
  • "groups": { },
  • "sidekick": {
    },
  • "metadata": {
    },
  • "robots": {
    },
  • "public": { },
  • "extends": {
    }
}

Response samples

Content type
application/json
{
  • "version": 1,
  • "name": "string",
  • "title": "string",
  • "description": "string",
  • "content": {
    },
  • "code": {
    },
  • "folders": { },
  • "headers": { },
  • "cdn": {
    },
  • "access": {
    },
  • "tokens": { },
  • "groups": { },
  • "sidekick": {
    },
  • "metadata": {
    },
  • "robots": {
    },
  • "public": { },
  • "extends": {
    }
}

Delete Site Config

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

site
required
string

site id.

Responses

Read Site robots.txt Config

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

site
required
string

site id.

Responses

Update Site robots.txt Config.

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

site
required
string

site id.

Request Body schema: text/plain
string

Responses

Profile Config

Please note that most of the configuration objects that have an explicit schema can also be addressed directly, even if not listed in this documentation.
For example the production CDN configuration can be managed via the /config/{org}/profiles/default-profile/cdn/prod.json endpoint.

ProfileConfig

version
required
integer
Default: 1
Value: 1
title
string (title)

human readable title. has no influence on the configuration.

description
string (description)

description for clarity. has no influence on the configuration.

object (content)

Defines the content bus location and source.

object (code)

Defines the code bus location and source.

object (folders)
object (headers)
object (cdn)
object (access)
object (tokens)
object (groups)
object (sidekick)
object (metadata-source)
object (robots)
public
object (public)

Public configuration

{
  • "version": 1,
  • "title": "string",
  • "description": "string",
  • "content": {
    },
  • "code": {
    },
  • "folders": { },
  • "headers": { },
  • "cdn": {
    },
  • "access": {
    },
  • "tokens": { },
  • "groups": { },
  • "sidekick": {
    },
  • "metadata": {
    },
  • "robots": {
    },
  • "public": { }
}

ProfileConfigList

required
Array of objects
{
  • "profiles": [
    ]
}

AdminAccessConfig

object (Role)
boolean or string
Default: "auto"

Enforce authentication if set to true. If set to 'auto' it will enforce authentication if a role mapping is defined. defaults to 'auto'.

defaultRole
Array of strings
Items Enum: "admin" "author" "publish" "develop" "basic_author" "basic_publish" "config" "config_admin"

the default roles assigned to the users. defaults to basic_publish for unauthenticated setups.

apiKeyId
Array of strings

the id of the API key(s). this is used to validate the API KEYS and allows to invalidate them.

{
  • "role": { },
  • "requireAuth": "auto",
  • "defaultRole": [
    ],
  • "apiKeyId": [
    ]
}

SiteAccessConfig

apiKeyId
Array of strings

IDs of the api keys (tokens) that are allowed.

clientCertDN
Array of strings

the DNs of the client certificates that are allowed.

{
  • "apiKeyId": [
    ],
  • "clientCertDN": [
    ]
}

AccessConfig

object (access-admin)
object (access-site)
object (access-site)
object (access-site)
{
  • "admin": {
    },
  • "site": {
    },
  • "preview": {
    },
  • "live": {
    }
}

CDNConfig

Fastly CDN Config (object) or Cloudflare CDN Config (object) or Akamai CDN Config (object) or Managed CDN Config (object) or Cloudfront CDN Config (object) or EmptyConfig (object)
object
object
{
  • "prod": {
    },
  • "live": {
    },
  • "preview": {
    }
}

CodeConfig

title
string (title)

human readable title. has no influence on the configuration.

description
string (description)

description for clarity. has no influence on the configuration.

owner
required
string[a-zA-Z0-9_-]+
repo
required
string[a-zA-Z0-9_-]+
required
object
{
  • "title": "string",
  • "description": "string",
  • "owner": "string",
  • "repo": "string",
  • "source": {}
}

ContentConfig

title
string (title)

human readable title. has no influence on the configuration.

description
string (description)

description for clarity. has no influence on the configuration.

contentBusId
required
string
required
Google Content Source (object) or Onedrive Content Source (object) or Markup Content Source (object)
{
  • "title": "string",
  • "description": "string",
  • "contentBusId": "string",
  • "source": {}
}

FoldersConfig

^/[a-zA-Z0-9-/.]*$
pattern property
string
{ }

HeadersConfig

pattern property
Array of objects (keyValuePair)
{ }

MetadataConfig

source
Array of strings
{
  • "source": [
    ]
}

PublicConfig

object (PublicConfig)

Public configuration

{ }

RobotsConfig

txt
string
{
  • "txt": "string"
}

SidekickConfig

Array of objects (sidekickPlugin)
{
  • "plugins": [
    ]
}

TokensConfig

pattern property
object
{ }

List Profile Config

Returns the configuration profile names.

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

Responses

Response samples

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

Read Profile Config

Returns the Profile level configuration.

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

profile
required
string

profile name.

Responses

Response samples

Content type
application/json
{
  • "version": 1,
  • "title": "string",
  • "description": "string",
  • "content": {
    },
  • "code": {
    },
  • "folders": { },
  • "headers": { },
  • "cdn": {
    },
  • "access": {
    },
  • "tokens": { },
  • "groups": { },
  • "sidekick": {
    },
  • "metadata": {
    },
  • "robots": {
    },
  • "public": { }
}

Update Profile Config

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

profile
required
string

profile name.

Request Body schema: application/json
version
required
integer
Default: 1
Value: 1
title
string (title)

human readable title. has no influence on the configuration.

description
string (description)

description for clarity. has no influence on the configuration.

object (content)

Defines the content bus location and source.

object (code)

Defines the code bus location and source.

object (folders)
object (headers)
object (cdn)
object (access)
object (tokens)
object (groups)
object (sidekick)
object (metadata-source)
object (robots)
public
object (public)

Public configuration

Responses

Request samples

Content type
application/json
{
  • "version": 1,
  • "title": "string",
  • "description": "string",
  • "content": {
    },
  • "code": {
    },
  • "folders": { },
  • "headers": { },
  • "cdn": {
    },
  • "access": {
    },
  • "tokens": { },
  • "groups": { },
  • "sidekick": {
    },
  • "metadata": {
    },
  • "robots": {
    },
  • "public": { }
}

Response samples

Content type
application/json
{
  • "version": 1,
  • "title": "string",
  • "description": "string",
  • "content": {
    },
  • "code": {
    },
  • "folders": { },
  • "headers": { },
  • "cdn": {
    },
  • "access": {
    },
  • "tokens": { },
  • "groups": { },
  • "sidekick": {
    },
  • "metadata": {
    },
  • "robots": {
    },
  • "public": { }
}

Create Profile Config

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

profile
required
string

profile name.

Request Body schema: application/json
version
required
integer
Default: 1
Value: 1
title
string (title)

human readable title. has no influence on the configuration.

description
string (description)

description for clarity. has no influence on the configuration.

object (content)

Defines the content bus location and source.

object (code)

Defines the code bus location and source.

object (folders)
object (headers)
object (cdn)
object (access)
object (tokens)
object (groups)
object (sidekick)
object (metadata-source)
object (robots)
public
object (public)

Public configuration

Responses

Request samples

Content type
application/json
{
  • "version": 1,
  • "title": "string",
  • "description": "string",
  • "content": {
    },
  • "code": {
    },
  • "folders": { },
  • "headers": { },
  • "cdn": {
    },
  • "access": {
    },
  • "tokens": { },
  • "groups": { },
  • "sidekick": {
    },
  • "metadata": {
    },
  • "robots": {
    },
  • "public": { }
}

Delete Profile Config

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

profile
required
string

profile name.

Responses

Read Profile robots.txt Config

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

profile
required
string

profile name.

Responses

Update Profile robots.txt Config.

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

profile
required
string

profile name.

Request Body schema: text/plain
string

Responses

Index Config

A configuration containing one or more index definitions.

IndexConfig

version
integer
Default: 1
Value: 1
object
{
  • "version": 1,
  • "indices": { }
}

Read Index Configuration

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

site
required
string

site id.

Responses

Response samples

Content type
text/yaml

Success response of reading an index configuration

version: 1
indices:
  default:
    include:
      - '/**'
    target: /query-index.json
    properties:
      lastModified:
        select: none
        value: parseTimestamp(headers["last-modified"], "ddd, DD MMM YYYY hh:mm:ss GMT")

Update Index Configuration

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

site
required
string

site id.

Request Body schema: text/yaml
required
version
integer
Default: 1
Value: 1
object

Responses

Create Index Configuration

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

site
required
string

site id.

Request Body schema: text/yaml
required
version
integer
Default: 1
Value: 1
object

Responses

Delete Index Configuration

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

site
required
string

site id.

Responses

Sitemap Config

A configuration containing one or more sitemap definitions.

SitemapConfig

version
integer
Default: 1
Value: 1
object
{
  • "version": 1,
  • "sitemaps": { }
}

Read Sitemap Configuration

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

site
required
string

site id.

Responses

Response samples

Content type
text/yaml

Success response of reading a sitemap configuration

version: 1
sitemaps:
  default:
    source: /sitemap-index.json
    destination: /sitemap.xml
    lastmod: YYYY-MM-DD

Update Sitemap Configuration

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

site
required
string

site id.

Request Body schema: text/yaml
required
version
integer
Default: 1
Value: 1
object

Responses

Create Sitemap Configuration

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

site
required
string

site id.

Request Body schema: text/yaml
required
version
integer
Default: 1
Value: 1
object

Responses

Delete Sitemap Configuration

Authorizations:
AuthCookie
path Parameters
org
required
string

organisation name.

site
required
string

site id.

Responses