1. Overview

These enhanced services manage CMS-related items specifically designed for SmartEdit.

1.1. Version information

Version : 1.0

1.2. License information

License : Use of this file is subject to the terms of your agreement with SAP SE or its affiliates respecting the use of the SAP product for which this file relates.
Terms of service : null

1.3. URI scheme

Host : localhost:9001
BasePath : /cmssmarteditwebservices

1.4. Tags

  • catalogs : Catalog Controller

  • categories : Category Controller

  • inbox : Inbox Controller

  • page component types : Page Component Types Controller

  • page operations : Page Operations Controller

  • products : Product Controller

  • synchronizations : Synchronization Controller

  • workflows : Workflow Editable Items Controller

1.5. Produces

  • application/json

2. Paths

2.1. Retrieves component types.

GET /v1/catalogs/{catalogId}/versions/{versionId}/pages/{pageId}/types

2.1.1. Description

Retrieves the component types that can be added to a page.

2.1.2. Parameters

Type Name Description Schema Default

Path

catalogId
required

The catalog id

string

Path

pageId
required

The uid of the page for which to find its valid component types

string

Path

versionId
required

The uid of the catalog version

string

Query

currentPage
optional

The requested page number

string

"0"

Query

fields
optional

Response configuration (list of fields, which should be returned in response)

enum (BASIC, DEFAULT, FULL)

"DEFAULT"

Query

langIsoCode
optional

language ISO Code

string

Query

mask
optional

Search mask applied to the type code and name fields, Uses partial matching

string

Query

pageSize
required

Page size for paging

string

Query

readOnly
optional

Read only mode for attributes. Is only used if attributes are returned (FULL fields option is used)

string

"false"

Query

sort
optional

string

2.1.3. Responses

HTTP Code Description Schema

200

The dto containing the list of component types applicable to a page. The results are paged.

400

If the given page cannot be found (CMSItemNotFoundException).

No Content

401

Must be authenticated as an Admin or CMS Manager to access this resource

No Content

2.1.4. Tags

  • page component types

2.1.5. Security

Type Name

oauth2

oauth2

2.2. Retrieves the list of objects that tells whether a particular item is editable in any workflow or not

GET /v1/catalogs/{catalogId}/versions/{versionId}/workfloweditableitems

2.2.1. Description

Retrieves the list of objects that tells whether a particular item is editable in any workflow or not

2.2.2. Parameters

Type Name Description Schema

Path

catalogId
required

The uid of the catalog

string

Path

versionId
required

The uid of the catalog version

string

Query

itemUids
required

List of item uids

< string > array(multi)

2.2.3. Responses

HTTP Code Description Schema

200

The dto containing the list of objects that tells whether a particular item is editable in any workflow or not.

401

Must be authenticated as an Admin or CMS Manager to access this resource

No Content

404

When no cms item is found matching the given uid (UnknownIdentifierException).

No Content

2.2.4. Tags

  • workflows

2.2.5. Security

Type Name

oauth2

oauth2

2.3. Retrieves all workflow tasks for the current user that are yet to be acted upon

GET /v1/inbox/workflowtasks

2.3.1. Description

Endpoint that retrieves all workflow tasks for the current user

2.3.2. Parameters

Type Name Description Schema Default

Query

currentPage
optional

The requested page number

string

"0"

Query

pageSize
optional

The maximum number of elements in the result list.

string

"10"

Query

sort
optional

The string field the results will be sorted with

string

2.3.3. Responses

HTTP Code Description Schema

200

The dto containing the workflow tasks

401

Must be authenticated as an Admin or CMS Manager to access this resource

No Content

2.3.4. Tags

  • inbox

2.3.5. Security

Type Name

oauth2

oauth2

2.4. Find product categories by text or mask

GET /v1/productcatalogs/{catalogId}/versions/{versionId}/categories

2.4.1. Description

Endpoint to find product categories using a free text search field.

2.4.2. Parameters

Type Name Description Schema Default

Path

catalogId
required

The uid of the catalog

string

Path

versionId
required

The uid of the catalog version

string

Query

currentPage
optional

The requested page number

string

"0"

Query

langIsoCode
optional

The language iso code used to filter products

string

Query

mask
optional

The string value on which products will be filtered if no text value is provided

string

Query

pageSize
optional

The maximum number of elements in the result list.

string

"10"

Query

sort
optional

The string field the results will be sorted with

string

Query

text
optional

The string value on which products will be filtered

string

2.4.3. Responses

HTTP Code Description Schema

200

DTO which serves as a wrapper object that contains a list of CategoryData, never null

400

Bad Request e.g. incorrect parameter value

No Content

401

Must be authenticated as an Admin or CMS Manager to access this resource

No Content

2.4.4. Tags

  • categories

2.4.5. Security

Type Name

oauth2

oauth2

2.5. Find products by text or mask

GET /v1/productcatalogs/{catalogId}/versions/{versionId}/products

2.5.1. Description

Endpoint to retrieve products using a free text search field.

2.5.2. Parameters

Type Name Description Schema Default

Path

catalogId
required

The uid of the catalog

string

Path

versionId
required

The uid of the catalog version

string

Query

currentPage
optional

The requested page number

string

"0"

Query

langIsoCode
optional

The language iso code by which products will be filtered

string

Query

mask
optional

The string value on which products will be filtered if no text value is provided

string

Query

pageSize
optional

The maximum number of elements in the result list.

string

"10"

Query

sort
optional

The string field the results will be sorted with

string

Query

text
optional

The string value on which products will be filtered

string

2.5.3. Responses

HTTP Code Description Schema

200

DTO which serves as a wrapper object that contains a list of ProductData, never null

401

Must be authenticated as an Admin or CMS Manager to access this resource

No Content

2.5.4. Tags

  • products

2.5.5. Security

Type Name

oauth2

oauth2

2.6. Perform different operations on the page item.

POST /v1/sites/{baseSiteId}/catalogs/{catalogId}/pages/{pageId}/operations

2.6.1. Description

Endpoint to perform different operations on the page item such as delete a page etc.

2.6.2. Parameters

Type Name Description Schema

Path

baseSiteId
required

Base site identifier

string

Path

catalogId
required

The uid of the catalog

string

Path

pageId
required

The uid of the page to be updated

string

Body

dto
required

The DTO object containing all the information about operation to be performed

2.6.3. Responses

HTTP Code Description Schema

200

The page operation item.

400

When the payload does not have the 'operation' property. (IllegalArgumentException)

No Content

401

Must be authenticated as an Admin or CMS Manager to access this resource

No Content

404

When the item has not been found (UnknownIdentifierException)

No Content

2.6.4. Consumes

  • application/json

2.6.5. Tags

  • page operations

2.6.6. Security

Type Name

oauth2

oauth2

2.7. Perform synchronization

POST /v1/sites/{baseSiteId}/catalogs/{catalogId}/versions/{versionId}/synchronizations/versions/{targetCatalogVersion}

2.7.1. Description

Will perform synchronization status on a list of item identifier by their ItemSynchronizationWsDTO.

2.7.2. Parameters

Type Name Description Schema

Path

baseSiteId
required

Base site identifier

string

Path

catalogId
required

The catalog uid

string

Path

targetCatalogVersion
required

The target catalog version from a synchronization perspective

string

Path

versionId
required

The source catalog version from a synchronization perspective

string

Body

synchronizationWsDTO
required

The SynchronizationWsDTO containing the list of requested synchronizations

2.7.3. Responses

HTTP Code Description Schema

204

No Content

No Content

401

Must be authenticated as an Admin or CMS Manager to access this resource

No Content

2.7.4. Consumes

  • application/json

2.7.5. Tags

  • synchronizations

2.7.6. Security

Type Name

oauth2

oauth2

2.8. Get synchronization status

GET /v1/sites/{baseSiteId}/catalogs/{catalogId}/versions/{versionId}/synchronizations/versions/{targetCatalogVersion}/pages/{pageId}

2.8.1. Description

Will build the synchronization status of a page including detailed status of its content slots and their cms components.

2.8.2. Parameters

Type Name Description Schema

Path

baseSiteId
required

Base site identifier

string

Path

catalogId
required

The catalog uid

string

Path

pageId
required

The uid of the page from which to retrieve the synchronization status

string

Path

targetCatalogVersion
required

The target catalog version from a synchronization perspective

string

Path

versionId
required

The source catalog version from a synchronization perspective

string

2.8.3. Responses

HTTP Code Description Schema

200

DTO containing the complex synchronization status of the AbstractPageModel page

401

Must be authenticated as an Admin or CMS Manager to access this resource

No Content

2.8.4. Tags

  • synchronizations

2.8.5. Security

Type Name

oauth2

oauth2

2.9. Get category by code (uuid)

GET /v1/sites/{baseSiteId}/categories/{code}

2.9.1. Description

Endpoint to retrieve a category that matches the given product category code uuid.

2.9.2. Parameters

Type Name Description Schema

Path

baseSiteId
required

Base site identifier

string

Path

code
required

Category code (uuid)

string

2.9.3. Responses

HTTP Code Description Schema

200

Category data

400

When the item has not been found (CMSItemNotFoundException) or when there was problem during conversion (ConversionException).

No Content

401

Must be authenticated as an Admin or CMS Manager to access this resource

No Content

2.9.4. Tags

  • categories

2.9.5. Security

Type Name

oauth2

oauth2

2.10. Get content catalogs

GET /v1/sites/{baseSiteId}/contentcatalogs

2.10.1. Description

Endpoint to retrieve content catalog information including the related catalog versions for all catalogs for a given site and its parents.

2.10.2. Parameters

Type Name Description Schema

Path

baseSiteId
required

The site identifier

string

2.10.3. Responses

HTTP Code Description Schema

200

OK

401

Must be authenticated as an Admin or CMS Manager to access this resource

No Content

2.10.4. Tags

  • catalogs

2.10.5. Security

Type Name

oauth2

oauth2

2.11. Get product catalogs

GET /v1/sites/{baseSiteId}/productcatalogs

2.11.1. Description

Endpoint to retrieve product catalog information including the related catalog versions for all catalogs for a given site

2.11.2. Parameters

Type Name Description Schema

Path

baseSiteId
required

The site identifier

string

2.11.3. Responses

HTTP Code Description Schema

200

OK

401

Must be authenticated as an Admin or CMS Manager to access this resource

No Content

2.11.4. Tags

  • catalogs

2.11.5. Security

Type Name

oauth2

oauth2

2.12. Get product by code (uuid)

GET /v1/sites/{baseSiteId}/products/{code}

2.12.1. Description

Endpoint to retrieve a product that matches the given product code uuid.

2.12.2. Parameters

Type Name Description Schema

Path

baseSiteId
required

Base site identifier

string

Path

code
required

Product code (uuid)

string

2.12.3. Responses

HTTP Code Description Schema

200

Product data

400

When the item has not been found (CMSItemNotFoundException) or when there was problem during conversion (ConversionException).

No Content

401

Must be authenticated as an Admin or CMS Manager to access this resource

No Content

2.12.4. Tags

  • products

2.12.5. Security

Type Name

oauth2

oauth2

3. Definitions

3.1. AbstractPageWsDTO

Name Schema

catalogVersionUuid
optional

string

cloneComponents
optional

boolean

creationtime
optional

string (date-time)

defaultPage
optional

boolean

modifiedtime
optional

string (date-time)

name
optional

string

onlyOneRestrictionMustApply
optional

boolean

pk
optional

string

restrictions
optional

< string > array

template
optional

string

title
optional

< string, string > map

typeCode
optional

string

uid
optional

string

3.2. CMSComponentTypeListWsDTO

Name Schema

componentTypes
optional

< ComponentTypeData > array

pagination
optional

3.3. CMSPageOperationWsDTO

Name Schema

catalogId
optional

string

operation
optional

string

sourceCatalogVersion
optional

string

targetCatalogVersion
optional

string

3.4. CMSWorkflowAction

Specifies properties of the CMS workflow action.

Name Description Schema

code
optional

Example : "0000000C"

string

description
optional

Example : { "en" : "Decision for approving content", "fr" : "D├ęcision d’approbation du contenu" }

< string, string > map

isCurrentUserParticipant
optional

Example : true

boolean

modifiedtime
optional

Example : "yyyy-MM-dd HH:mm:ss+0000"

string (date-time)

name
optional

Example : { "en" : "Approve", "fr" : "Approuver" }

< string, string > map

startedAgoInMillis
optional

Example : 5283

integer (int64)

status
optional

Example : "IN_PROGRESS"

string

3.5. CMSWorkflowAttachmentData

Specifies properties of the CMS workflow attachment data.

Name Description Schema

catalogId
optional

Example : "electronicsContentCatalog"

string

catalogName
optional

Example : { "en" : "Electronics Content Catalog", "de" : "Elektronikkatalog" }

< string, string > map

catalogVersion
optional

Example : "Staged"

string

pageName
optional

Example : "Homepage"

string

pageUid
optional

Example : "homepage"

string

3.6. CMSWorkflowEditableItemListWsDTO

Name Schema

editableItems
optional

3.7. CMSWorkflowEditableItemWsDTO

Contains information about whether the item from a workflow is editable by session user or not.

Name Description Schema

editableByUser
optional

Indicates whether the session user can edit the item from a workflow or not.

boolean

editableInWorkflow
optional

Contains the workflow code where item can be edited. It either contains the code of the oldest workflow that contains item or null if there is no workflow. Is used by SmartEdit ui to restrict user from editing an item in a workflow that is not the oldest one.

string

uid
optional

string

uuid
optional

string

3.8. CMSWorkflowTaskListWsDTO

Name Schema

pagination
optional

tasks
optional

3.9. CMSWorkflowTaskWsDTO

Name Schema

action
optional

attachments
optional

3.10. CatalogListWsDTO

List of catalogs

Name Schema

catalogs
optional

< catalog > array

3.11. CategorySearchResultWsDTO

DTO which serves as a wrapper object that contains a list of CategoryData

Name Schema

pagination
optional

productCategories
optional

< CategoryWsDTO > array

3.12. CategoryWsDTO

Name Schema

catalogId
optional

string

catalogVersion
optional

string

code
optional

string

description
optional

< string, string > map

name
optional

< string, string > map

thumbnail
optional

uid
optional

string

3.13. ComponentTypeAttributeData

Name Schema

cmsStructureEnumType
optional

string

cmsStructureType
optional

string

collection
optional

boolean

containedTypes
optional

< string > array

dependsOn
optional

string

editable
optional

boolean

i18nKey
optional

string

idAttribute
optional

string

labelAttributes
optional

< string > array

localized
optional

boolean

options
optional

< OptionData > array

paged
optional

boolean

params
optional

< string, string > map

placeholder
optional

string

qualifier
optional

string

required
optional

boolean

subTypes
optional

< string, string > map

uri
optional

string

3.14. ComponentTypeData

Name Schema

attributes
optional

category
optional

string

code
optional

string

i18nKey
optional

string

name
optional

string

type
optional

string

3.15. DisplayConditionData

Name Schema

options
optional

< OptionData > array

typecode
optional

string

3.16. MediaWsDTO

Name Schema

altText
optional

string

catalogId
optional

string

catalogVersion
optional

string

code
optional

string

description
optional

string

downloadUrl
optional

string

mime
optional

string

url
optional

string

3.17. OptionData

Name Schema

id
optional

string

label
optional

string

3.18. ProductSearchResultWsDTO

Name Schema

pagination
optional

products
optional

< ProductWsDTO > array

3.19. ProductWsDTO

Name Schema

catalogId
optional

string

catalogVersion
optional

string

code
optional

string

description
optional

< string, string > map

name
optional

< string, string > map

thumbnail
optional

uid
optional

string

3.20. SynchronizationWsDTO

Name Schema

items
optional

3.21. catalog

Catalog DTO

Name Schema

catalogId
optional

string

name
optional

< string, string > map

parents
optional

< catalogHierarchy > array

sites
optional

< site > array

versions
optional

< catalogVersion > array

3.22. catalogHierarchy

Name Schema

catalogId
optional

string

catalogName
optional

< string, string > map

sites
optional

< site > array

versions
optional

< catalogVersion > array

3.23. catalogVersion

Name Schema

active
optional

boolean

homepage
optional

pageDisplayConditions
optional

thumbnailUrl
optional

string

uuid
optional

string

version
optional

string

3.24. homepage

Name Schema

current
optional

fallback
optional

old
optional

3.25. itemSynchronization

Name Schema

itemId
optional

string

itemType
optional

string

3.26. itemType

Name Schema

i18nKey
optional

string

itemType
optional

string

3.27. pagination

Pagination info

Name Description Schema

count
optional

Number of elements on this page

integer (int32)

hasNext
optional

Indicates if there is next page

boolean

hasPrevious
optional

Indicates if there is previous page

boolean

page
optional

Current page number

integer (int32)

totalCount
optional

Total number of elements

integer (int64)

totalPages
optional

Total number of pages

integer (int32)

3.28. site

Name Schema

name
optional

< string, string > map

uid
optional

string

3.29. syncItemStatus

DTO that contains the complex synchronization status of the page

Name Schema

catalogVersionUuid
optional

string

dependentItemTypesOutOfSync
optional

< itemType > array

itemId
optional

string

itemType
optional

string

lastModifiedDate
optional

integer (int64)

lastSyncStatus
optional

integer (int64)

name
optional

string

selectedDependencies
optional

< syncItemStatus > array

sharedDependencies
optional

< syncItemStatus > array

status
optional

string

unavailableDependencies
optional

< syncItemStatus > array

4. Security

4.1. oauth2_client_credentials

Type : oauth2
Flow : application
Token URL : /authorizationserver/oauth/token

Name

extended

4.2. oauth2_password

Type : oauth2
Flow : password
Token URL : /authorizationserver/oauth/token

Name

basic