OMN Core API Reference

Introduction

The OMN Core API is a REST over HTTP-like API used to create integrations/interactions between OMN and other applications. It offers endpoints that cover the main OMN modules (DAM, PIM, CM, PEO etc.) to retrieve/manage (CRUDe) the module’s resources (data objects) like Assets, Versions, Variations, Directories, Products, Classifications, Projects, Keywords, Glossaries and more.

Covered Modules

The OMN Core API covers the following modules.

Module / Component Description Links

Common

Common API provides access to common, cross-module OMN resources that are not part of one specific OMN main module.

Endpoint Overview

API Reference

DAM - Digital Asset Management

DAM API provides access to resources of the DAM module and is used to manage and structure digital assets.

Endpoint Overview

API Reference

PIM - Product Information Management

PIM API provides access to resources of the PIM module. PIM is an abbreviation for Product Information Management. It refers to the management of all product-defining information and its provision for use in output channels. In addition to the classic product master data (item price, technical specifications, etc.), this information also includes advertising texts and associated image material. The supporting technology is called PIM system.

Endpoint Overview

API Reference

CM - Channel Management

DAM API provides access to resources of the CM module and is used to manage (sales) channels.

Endpoint Overview

API Reference

PEO - Project Export Objects

DAM API provides access to PEO resources. PEO is an abbreviation for "Product Export Option". This refers to filters on articles or products of the OMN, e.g. to be able to define different prices or texts for an advertising material or for a web shop.

Endpoint Overview

API Reference

Common API

Common API provides access to common, cross-module OMN resources that are not part of one specific OMN main module.

Main resources:

Resource Description

Locale

Set of parameters that define language and country/region codes and also locale configuration information and meta-data.

Keyword

Keywords are used to organize OMN resources in a virtual tree structure to enable users to navigate through these trees to find related resources (Keyword navigation).

Glossary

Glossaries represent list of terms in a particular context. A Glossary contains a name, languages, meta-data, numbers of terms/entries/sentences.

Glossary Entries

Represent concrete localized entries in a Glossary.

Message

Messages represent sent text messages. They can be written as well as retrieved. The user can receive messages from other users as well as notifications from the system, such as notifications about uploads. They can be managed via the Core API or in the UI via Message Client.

Link

Links represent references between OMN resources.

Transform API

Provides the transformation between all supported API formats e.g. XML, JSON and compact JSON

Formats Transformation

Transformation between different API formats

Description

We currently support different API formats, e.g. XML, JSON, Compact JSON. This endpoint could transform them from any source format to target format. It helps the users to understand/compare the different formats easily.

It only supports the transformation for OmnType data.

Table 1. Details

Resource path

/api/core/v1/common/transform

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body Parameter

Accept one of the supported format (XML, JSON or Compact JSON) which has the data type OmnType.

Use HTTP header Content-Type to specify your source format.

Name Description Required Default Pattern

OmnType

OmnType

X

Return Type

Return the expected format which has the same type OmnType.

Use HTTP header Accept to specify your expect target format.

Responses
Table 2. Http response codes
Code Message Datatype

200

Responses for each message

OmnType

400

Bad request. Indicates an issue with the format of the request (missing required value or a wrong data type)

ResponsesType

Samples
Transform XML format to compact or default JSON
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/transform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--header 'Accept: application/json+compact' \
--data-raw '<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageMode">delta</itm>
        <itm key="messageTime">2019-09-17T11:32:08.022Z</itm>
        <itm key="sourceEnv">customer-prod</itm>
        <itm key="productImportPreProcessor">customerProductImportPreProcessor</itm>
        <itm key="productImportPostProcessor">customerProductImportPostProcessor</itm>
        <itm key="projectImportPostProcessor">defaultProjectImportPostProcessor</itm>
    </meta>
</pim>'
Request body PimType in XML format

(Content-Type Header: application/xml)

<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageMode">delta</itm>
        <itm key="messageTime">2019-09-17T11:32:08.022Z</itm>
        <itm key="sourceEnv">customer-prod</itm>
        <itm key="productImportPreProcessor">customerProductImportPreProcessor</itm>
        <itm key="productImportPostProcessor">customerProductImportPostProcessor</itm>
        <itm key="projectImportPostProcessor">defaultProjectImportPostProcessor</itm>
    </meta>
</pim>
Response body with compact JSON format (Accept: application/json+compact)
{
    "meta": {
        "messageType": "request",
        "messageMode": "delta",
        "messageTime": "2019-09-17T11:32:08.022Z",
        "sourceEnv": "customer-prod",
        "productImportPreProcessor": "customerProductImportPreProcessor",
        "productImportPostProcessor": "customerProductImportPostProcessor",
        "projectImportPostProcessor": "defaultProjectImportPostProcessor"
    },
    "schemaVersion": "5.6.0"
}
Response body with default JSON format (Accept: application/json)
{
    "meta": {
        "itm": [
            {
                "key": "messageType",
                "value": "request"
            },
            {
                "key": "messageMode",
                "value": "delta"
            },
            {
                "key": "messageTime",
                "value": "2019-09-17T11:32:08.022Z"
            },
            {
                "key": "sourceEnv",
                "value": "customer-prod"
            },
            {
                "key": "productImportPreProcessor",
                "value": "customerProductImportPreProcessor"
            },
            {
                "key": "productImportPostProcessor",
                "value": "customerProductImportPostProcessor"
            },
            {
                "key": "projectImportPostProcessor",
                "value": "defaultProjectImportPostProcessor"
            }
        ]
    },
    "schemaVersion": "5.6.0"
}

Locales API

Provides operations on OMN locales.

Retrieve locales

/common/locales/retrieve Returns locales by mode, ids or identifiers
Table 3. Details

Resource path

/api/core/v1/common/locales/retrieve

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Specified by LocaleRequest

  • ids - (List of type Integer) - a list of locale ids which should be returned; (Optional)

  • tids - (List of type String) - a list of locale tids which should be returned; (Optional)

  • mode - a specified mode of languages loading. The following values are here: (Required)

    • ID - locales for the given ids should be loaded;

    • TID - locales for the given identifiers should be loaded;

    • ALL - a list of all locales should be loaded;

    • CONTENT - a list of content locales should be loaded;

    • FRONTEND - a list of frontend locales should be loaded

  • exportConfig - (true|false) - whether the "config" information (tag) should be returned. By default, it is false; (Optional)

If "ids" parameter is set then the "mode" must be "ID" - it is required;

If "tids" parameter is set then the "mode" must be "TID" - it is required;

Return Type

PimType with filled LocalesType

Responses
Table 4. Http response codes
Code Message Datatype

200

PimType with list of locales

PimType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Table 5. Request examples
Use-case Request body JSON

Get a list of all locales

{
    "mode": "ALL"
}

Get a list of specific locales by ids

{
"ids": [6000, 6003],
"mode": "ID"
}

Get a list of specific locales by identifiers

{
"tids": ["en_EN"],
"mode": "TID"
}

Get all content languages

{
"mode": "CONTENT"
}

Get all frontend languages

{
"mode": "FRONTEND"
}

Get a list of the specified locales with config information

{
"tids": ["en_EN", "de_DE"],
"mode": "TID",
"exportConfig": true
}
Get a list of all locales with configuration
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/locales/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "mode": "ALL",
    "exportConfig": true
}'
Request body
{
    "mode": "ALL",
    "exportConfig": true
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <locales mode="delta">
        <locale country="EN" id="6000" language="en" name="English" tid="en_EN">
            <config>
                <itms mode="delta" type="dateFormat">
                    <itm key="customDateFormatsEnabled">false</itm>
                </itms>
            </config>
            <meta>
                <itm key="contentLocale">true</itm>
                <itm key="defaultContentLocale">true</itm>
                <itm key="defaultFrontendLocale">false</itm>
                <itm key="frontendLocale">true</itm>
            </meta>
        </locale>
        <locale country="DE" id="6003" language="de" name="German" tid="de_DE">
            <config>
                <itms mode="delta" type="dateFormat">
                    <itm key="customDateFormatsEnabled">false</itm>
                </itms>
            </config>
            <meta>
                <itm key="contentLocale">true</itm>
                <itm key="defaultContentLocale">false</itm>
                <itm key="defaultFrontendLocale">true</itm>
                <itm key="frontendLocale">true</itm>
            </meta>
        </locale>
    </locales>
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-19T07:17:57.303Z</itm>
        <itm key="sourceEnv">dev</itm>
        <itm key="itemInformationType">locale</itm>
    </meta>
</pim>
Get a list of specific locales
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/locales/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
"tids": ["en_EN"],
"mode": "TID",
"exportConfig": true
}'
Request body
{
"tids": ["en_EN"],
"mode": "TID"
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <locales mode="delta">
        <locale country="EN" id="6000" language="en" name="English" tid="en_EN">
            <meta>
                <itm key="contentLocale">true</itm>
                <itm key="defaultContentLocale">true</itm>
                <itm key="defaultFrontendLocale">false</itm>
                <itm key="frontendLocale">true</itm>
            </meta>
        </locale>
    </locales>
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-19T07:23:29.494Z</itm>
        <itm key="sourceEnv">pddevelop_test</itm>
        <itm key="itemInformationType">locale</itm>
    </meta>
</pim>

Keywords API

Provides operations on OMN keywords.

Retrieve keywords

/common/keywords/retrieve Returns keywords by specified path.
Table 6. Details

Resource path

/api/core/v1/common/keywords/retrieve

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Specified by KeywordRequest

  • path - (String) - Keyword path

  • level - (Integer) - It defines how many level should be loaded. Default value is 1. -1 means to load all levels. 0 is invalid value

  • retrieveLinks - (true|false) - It defines whether linked to keyword items should be retrieved or not By default, it is false; (Optional)

Return Type

OmnType with filled KeywordsType

Responses
Table 7. Http response codes
Code Message Datatype

200

OmnType with list of keywords

OmnType

400

Invalid input provided

ResponseType

404

The requested resource could not be found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Get a list of all keywords
Request body
{
    "path": "/",
    "level": -1
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-11-29T21:55:49.197Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <kwds>
        <kwd id="46190" path="/rootKwd">
            <name>
                <itm>rootKwd</itm>
                <itm loc="en_EN">rootKwd_en</itm>
            </name>
            <meta>
                <itm key="creationDate">2022-06-10T20:07:45.684Z</itm>
                <itm key="orderNumber">0</itm>
            </meta>
        </kwd>
        <kwd id="57210" path="/root2">
            <name>
                <itm>root2</itm>
            </name>
            <meta>
                <itm key="creationDate">2022-07-14T20:05:17.534Z</itm>
                <itm key="orderNumber">0</itm>
            </meta>
        </kwd>
    </kwds>
</pim>
Get a list of child keywords for the specified keyword
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/keywords/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "path": "/rootKwd",
    "level": 1
}'
Request body
{
    "path": "/rootKwd",
    "level": 1
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-11-29T21:56:42.688Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <kwds>
        <kwd id="46190" path="/rootKwd">
            <name>
                <itm>rootKwd</itm>
                <itm loc="en_EN">rootKwd_en</itm>
            </name>
            <meta>
                <itm key="creationDate">2022-06-10T20:07:45.684Z</itm>
                <itm key="orderNumber">0</itm>
            </meta>
        </kwd>
    </kwds>
</pim>
Get a list of keywords with linked assets
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/keywords/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "path": "/rootKwd",
    "level": 2,
    "retrieveLinks": true
}'
Request body
{
    "path": "/rootKwd",
    "level": 2,
    "retrieveLinks": true
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-11-29T21:57:37.832Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <kwds>
        <kwd id="46190" path="/rootKwd">
            <name>
                <itm>rootKwd</itm>
                <itm loc="en_EN">rootKwd_en</itm>
            </name>
            <meta>
                <itm key="creationDate">2022-06-10T20:07:45.684Z</itm>
                <itm key="orderNumber">0</itm>
            </meta>
            <links>
                <itms type="asset">
                    <itm>C150E62E-F9F5-4DF5-B5FB-5AFDC5A3B87C</itm>
                    <itm>0CA65815-03DF-40CA-ACCD-309882B74A36</itm>
                </itms>
            </links>
        </kwd>
        <kwd id="46191"
           parentId="46190"
           path="/rootKwd/subKwd"
           parentPath="/rootKwd">
            <name>
                <itm>subKwd</itm>
            </name>
            <meta>
                <itm key="creationDate">2022-06-10T20:08:13.339Z</itm>
                <itm key="orderNumber">1</itm>
                <itm key="parent">rootKwd</itm>
            </meta>
            <links>
                <itms type="asset">
                    <itm>C150E62E-F9F5-4DF5-B5FB-5AFDC5A3B87C</itm>
                </itms>
            </links>
        </kwd>
    </kwds>
</pim>

Persist keywords

/common/keywords/persist Create or update the keywords
Table 8. Details

Resource path

/api/core/v1/common/keywords/persist

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

PimType with filled KeywordsType

Return Type

PimType with filled ResponsesType

Responses
Table 9. Http response codes
Code Message Datatype

200

PimType with list of successful or error ResponseTypes

PimType

400

Invalid input provided

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Create a root Keyword
Create without specifying path
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/keywords/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <kwds>
        <kwd>
            <name>
                <itm>rootKeyword</itm>
                <itm loc="en_GB">rootKeyword-en</itm>
                <itm loc="de_DE">rootKeyword-de</itm>
            </name>
        </kwd>
    </kwds>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <kwds>
        <kwd>
            <name>
                <itm>rootKeyword</itm>
                <itm loc="en_GB">rootKeyword-en</itm>
                <itm loc="de_DE">rootKeyword-de</itm>
            </name>
        </kwd>
    </kwds>
</pim>
Create with specifying path
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/keywords/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <kwds>
        <kwd parentPath="/">
            <name>
                <itm>rootKeyword</itm>
                <itm loc="en_GB">rootKeyword-en</itm>
                <itm loc="de_DE">rootKeyword-de</itm>
            </name>
        </kwd>
    </kwds>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <kwds>
        <kwd parentPath="/">
            <name>
                <itm>rootKeyword</itm>
                <itm loc="en_GB">rootKeyword-en</itm>
                <itm loc="de_DE">rootKeyword-de</itm>
            </name>
        </kwd>
    </kwds>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:42:19.832Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="keyword" id="52731" action="create" path="/rootKeyword">
            <status>SUCCESS</status>
            <description>The keyword has been created successfully</description>
        </response>
    </responses>
</pim>
Create a sub Keyword
Create under specified path
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/keywords/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <kwds>
        <kwd parentPath="/rootKeyword">
            <name>
                <itm>keyword1</itm>
                <itm loc="en_GB">keyword1-en</itm>
                <itm loc="de_DE">keyword1-de</itm>
            </name>
        </kwd>
    </kwds>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <kwds>
        <kwd parentPath="/rootKeyword">
            <name>
                <itm>keyword1</itm>
                <itm loc="en_GB">keyword1-en</itm>
                <itm loc="de_DE">keyword1-de</itm>
            </name>
        </kwd>
    </kwds>
</pim>
Create under specified parent keyword
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/keywords/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <kwds>
        <kwd parentId="12345">
            <name>
                <itm>keyword1</itm>
                <itm loc="en_GB">keyword1-en</itm>
                <itm loc="de_DE">keyword1-de</itm>
            </name>
        </kwd>
    </kwds>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <kwds>
        <kwd parentId="12345">
            <name>
                <itm>keyword1</itm>
                <itm loc="en_GB">keyword1-en</itm>
                <itm loc="de_DE">keyword1-de</itm>
            </name>
        </kwd>
    </kwds>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:39:54.776Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="keyword"
                id="52730"
                action="create"
                path="/rootKeyword/keyword1">
            <status>SUCCESS</status>
            <description>The keyword has been created successfully</description>
        </response>
    </responses>
</pim>
Update a Keyword
Update by id
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/keywords/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <kwds>
        <kwd parentId="12345">
            <name>
                <itm>keyword1</itm>
                <itm loc="en_GB">keyword1-en</itm>
                <itm loc="de_DE">keyword1-de</itm>
            </name>
        </kwd>
    </kwds>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <kwds>
        <kwd id="12345">
            <name>
                <itm>keyword1</itm>
                <itm loc="en_GB">new-name-en</itm>
                <itm loc="de_DE">new-name-de</itm>
            </name>
        </kwd>
    </kwds>
</pim>
Update by path
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/keywords/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <kwds>
        <kwd path="/kwd1/kwd11">
            <name>
                <itm>kwd11</itm>
                <itm loc="en_GB">new-name-en</itm>
                <itm loc="de_DE">new-name-de</itm>
            </name>
        </kwd>
    </kwds>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <kwds>
        <kwd path="/kwd1/kwd11">
            <name>
                <itm>kwd11</itm>
                <itm loc="en_GB">new-name-en</itm>
                <itm loc="de_DE">new-name-de</itm>
            </name>
        </kwd>
    </kwds>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="keyword" id="12345" path="/rootKeyword/new-name-en" action="update">
            <status>SUCCESS</status>
            <description>The keyword has been saved successfully</description>
        </response>
    </responses>
</pim>
Error responses
No keyword by id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:45:41.247Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="keyword" id="12345" action="update">
            <status>ERROR</status>
            <description>Entity class com.meylemueller.obj.isy.KeywordEntity with identity=111 not found</description>
        </response>
    </responses>
</pim>
No keyword by path
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:49:25.214Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="keyword" action="update" path="/rootKeyword">
            <status>ERROR</status>
            <description>No keyword by path '/rootKeyword'</description>
        </response>
    </responses>
</pim>
Keyword is not available for update
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:50:01.107Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="keyword" id="39400" action="update" path="/Root">
            <status>ERROR</status>
            <description>The keyword is not available by access rights</description>
        </response>
    </responses>
</pim>
Parent keyword is not available
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:50:27.170Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="keyword" action="create" path="/Root">
            <status>ERROR</status>
            <description>Parent keyword is not available by access rights</description>
        </response>
    </responses>
</pim>
Value is duplicated on the same level
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:51:21.269Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="keyword" action="create">
            <status>ERROR</status>
            <description>Keyword value 'child2-1' for language 'de_DE' is duplicated. Unique keyword values under one parent should be provided</description>
        </response>
    </responses>
</pim>

Perform keywords

/common/keywords/perform Perform actions of the specific type on keywords
Table 10. Details

Resource path

/api/core/v1/common/keywords/perform

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

PimType with filled ActionsType

  • Provided ActionTypes must have the following fields:

    • Data type: keyword;

    • ID or path of keyword;

    • Action type: delete, move, etc.

Return Type

PimType with filled ResponsesType

Responses
Table 11. Http response codes
Code Message Datatype

200

PimType with list of successful or error ResponseTypes

PimType

400

Invalid input provided

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Delete keyword
Delete by id
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/keywords/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="keyword" id="73452957" type="delete"/>
    </actions>
</pim>'
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="keyword" id="73452957" type="delete"/>
    </actions>
</pim>
Delete by path
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/keywords/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="keyword" path="/rootKeyword/keyword1" type="delete"/>
    </actions>
</pim>'
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="keyword" path="/rootKeyword/keyword1" type="delete"/>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:24:53.286Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="keyword"
                id="73452957"
                path="/rootKeyword/keyword1"
                action="delete">
            <status>SUCCESS</status>
            <description>The keyword has been deleted successfully</description>
        </response>
    </responses>
</pim>
Move keyword to another parent
Move by id
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/keywords/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="keyword" id="73452957" type="move">
            <meta>
                <itm key="destinationKwdId">73452957</itm>
            </meta>
        </action>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="keyword" id="73452957" type="move">
            <meta>
                <itm key="destinationKwdId">73452957</itm>
            </meta>
        </action>
    </actions>
</pim>
Move by path
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/keywords/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="keyword" path="/rootKeyword2/keyword1" type="move">
            <meta>
                <itm key="destinationKwdPath">/rootKeyword</itm>
            </meta>
        </action>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="keyword" path="/rootKeyword2/keyword1" type="move">
            <meta>
                <itm key="destinationKwdPath">/rootKeyword</itm>
            </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T10:54:57.295Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="keyword"
                id="73452957"
                path="/rootKeyword/keyword1"
                action="move">
            <status>SUCCESS</status>
            <description>keyword has been moved</description>
        </response>
    </responses>
</pim>
Error responses
No keyword by id: Keyword has not been found for provided identity
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:36:54.983Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="keyword"
                id="73452957"
                path="/rootKeyword/keyword1"
                action="delete">
            <status>ERROR</status>
            <description>There is no keyword with the given id</description>
        </response>
    </responses>
</pim>
No access to destination keyword (Move): Access to destination keyword is limited by access rights
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T10:54:57.295Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="keyword"
                id="73452957"
                path="/rootKeyword/keyword1"
                action="move">
            <status>ERROR</status>
            <description>Error during moving: No access to destination object '/rootKeyword/keyword1'</description>
        </response>
    </responses>
</pim>
No access to keyword: Access to source keyword is limited by access rights
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T11:06:29.771Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="keyword"
                id="73452957"
                path="/rootKeyword/keyword1"
                action="move">
            <status>ERROR</status>
            <description>Error during moving: No access to source objects</description>
        </response>
    </responses>
</pim>
Wrong data type: Data type is not equal to "keyword"
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:38:16.444Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="keyword"
                id="73452957"
                path="/rootKeyword/keyword1"
                action="delete">
            <status>ERROR</status>
            <description>The data type of the passed item is wrong. It must be 'keyword'</description>
        </response>
    </responses>
</pim>

Glossaries API

Provides operations on OMN glossaries.

Retrieve glossaries

/common/glossaries/retrieve Retrieve a list of glossaries by specified params.
Table 12. Details

Resource path

/api/core/v1/common/glossaries/retrieve

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Specified by GlossaryRequest

  • names - (List of type String) - The names of the glossaries to retrieve;

  • ids - (List of type Integer) - The ids of the glossaries to retrieve;

  • retrieveLinks - (true|false) - It defines whether the contained entries (terms and sentences) should be included in the response. By default, it is false; (Optional)

  • sourceLocales - (List of type String) - Limits the source languages to the specified list of locales. Default: empty array which means all languages;

  • targetLocales - (List of type String) - Limits the target languages to the specified list of locales. Default: empty array which means all languages;

Return Type

OmnType with filled GlossariesType

Responses
Table 13. Http response codes
Code Message Datatype

200

OmnType with list of keywords

OmnType

400

Invalid input provided

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Retrieve all glossaries
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/glossaries/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
}'
Request body
{
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T07:20:18.420Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <glossaries>
        <glossary id="0">
            <meta>
                <itm key="creationDate">1970-01-20T05:27:05.461Z</itm>
                <itm key="creationUser">system</itm>
                <itm key="getNumberOfTerms">0</itm>
                <itm key="modificationDate">1970-01-20T05:27:05.461Z</itm>
                <itm key="modificationUser">system</itm>
                <itm key="numberOfSentences">0</itm>
            </meta>
            <name>Default</name>
        </glossary>
        ...
        <glossary id="180350">
            <meta>
                <itm key="creationDate">1970-01-20T05:27:05.461Z</itm>
                <itm key="creationUser">system</itm>
                <itm key="getNumberOfTerms">4</itm>
                <itm key="modificationDate">1970-01-20T05:27:05.461Z</itm>
                <itm key="modificationUser">system</itm>
                <itm key="numberOfAllEntries">8</itm>
                <itm key="numberOfSentences">4</itm>
            </meta>
            <name>Latest Glossary</name>
            <vals>
                <val attr="CUSTOM_DATE_ATTRIBUTE">
                    <itm>2022-08-24T02:37:38.000Z</itm>
                </val>
                <val attr="CUSTOM_BOOLEAN_ATTRIBUTE">
                    <itm>false</itm>
                </val>
            </vals>
        </glossary>
    </glossaries>
</pim>
Retrieve specific Glossary with entries, target links embedded and filter source- and target-languages
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/glossaries/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "names": [
        "Latest Glossary"
    ],
    "retrieveEntries": true,
    "sourceLocales": [
        "de_DE"
    ],
    "targetLocales": [
        "en_EN",
        "fr_FR"
    ]
}'
Request body
{
    "names": [
        "Latest Glossary"
    ],
    "retrieveEntries": true,
    "sourceLocales": [
        "de_DE"
    ],
    "targetLocales": [
        "en_EN",
        "fr_FR"
    ]
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T09:13:17.366Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <glossaries>
        <glossary id="180350">
            <meta>
                <itm key="creationDate">1970-01-20T05:27:05.461Z</itm>
                <itm key="creationUser">system</itm>
                <itm key="getNumberOfTerms">4</itm>
                <itm key="modificationDate">1970-01-20T05:27:05.461Z</itm>
                <itm key="modificationUser">system</itm>
                <itm key="numberOfAllEntries">8</itm>
                <itm key="numberOfSentences">4</itm>
            </meta>
            <name>Latest Glossary</name>
            <vals>
                <val attr="CUSTOM_DATE_ATTRIBUTE">
                    <itm>2022-08-24T02:37:38.000Z</itm>
                </val>
                <val attr="CUSTOM_BOOLEAN_ATTRIBUTE">
                    <itm>false</itm>
                </val>
            </vals>
        </glossary>
    </glossaries>
    <glossaryEntries>
        <glossaryEntry id="185852" parentId="180350" loc="de_DE" type="term">
            <meta>
                <itm key="value" loc="de_DE">de</itm>
                <itm key="lastEditedUsername">admin</itm>
                <itm key="lastEditedDate">2022-08-15T00:00:00.000Z</itm>
            </meta>
            <links>
                <itms id="185850" loc="en_EN" type="term">
                    <itm key="similarity">100</itm>
                    <itm key="forbidden">true</itm>
                    <itm key="value" loc="en_EN">en</itm>
                    <itm key="lastEditedUsername">admin</itm>
                    <itm key="lastEditedDate">2022-08-15T00:00:00.000Z</itm>
                </itms>
                <itms id="185851" loc="fr_FR" type="term">
                    <itm key="similarity">100</itm>
                    <itm key="forbidden">true</itm>
                    <itm key="value" loc="fr_FR">fr</itm>
                    <itm key="lastEditedUsername">admin</itm>
                    <itm key="lastEditedDate">2022-08-15T00:00:00.000Z</itm>
                </itms>
            </links>
        </entry>
    </glossaryEntries>
</pim>

Persist glossaries

/common/glossaries/persist Create or update the glossaries
Table 14. Details

Resource path

/api/core/v1/common/glossaries/persist

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

OmnType with filled GlossariesType

Return Type

OmnType with filled ResponsesType

Responses
Table 15. Http response codes
Code Message Datatype

200

OmnType with list of ResponseTypes

OmnType

400

Invalid input provided

ResponseType

404

The requested resource could not be found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Create glossary
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/glossaries/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <glossaries>
        <glossary>
            <name>Default</name>
            <meta>
                <itm key="multipleTranslations">true</itm>
            </meta>
        </glossary>
  </glossaries>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <glossaries>
        <glossary>
            <name>Default</name>
            <meta>
                <itm key="multipleTranslations">true</itm>
            </meta>
        </glossary>
  </glossaries>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="create" dataType="glossary" id="2380740">
            <description>The glossary has been created successfully</description>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
Update glossary
Update glossary by ID
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/glossaries/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <glossaries>
        <glossary id="180350">
            <name>New glossary name</name>
            <vals>
                <val attr="STRING_PROP_TO_EDIT">
                    <itm>new value</itm>
                </val>
            </vals>
        </glossary>
    </glossaries>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <glossaries>
        <glossary id="180350">
            <name>New glossary name</name>
            <vals>
                <val attr="STRING_PROP_TO_EDIT">
                    <itm>new value</itm>
                </val>
            </vals>
        </glossary>
    </glossaries>
</pim>
Update glossary by TID
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/glossaries/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <glossaries>
        <glossary tid="56948c33-29bc-46d1-be81-6fd9452d910f">
            <vals>
                <val attr="NUM_PROP_TO_EDIT">
                    <itm>1234</itm>
                </val>
            </vals>
        </glossary>
    </glossaries>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <glossaries>
        <glossary tid="56948c33-29bc-46d1-be81-6fd9452d910f">
            <vals>
                <val attr="NUM_PROP_TO_EDIT">
                    <itm>1234</itm>
                </val>
            </vals>
        </glossary>
    </glossaries>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="glossary" id="180350" action="update">
            <status>SUCCESS</status>
            <description>The glossary has been updated successfully</description>
        </response>
    </responses>
</pim>
Error responses
Unable to create the glossary: glossary with provided name already exists
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
  <details>
    <itm key="supportId">3C5D451A-91D9-437F-8477-03A232C13527</itm>
    </details>
    <issues>
        <itm key="code">1000</itm>
        <itm key="description">An unknown internal error occurred</itm>
        <itms type="details">
            <itm key="errorMessage">Unable to create the glossary: glossary with name 'Default' already exists.</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>

Delete glossaries

/common/glossaries/perform Delete Glossaries Custom Attributes
Table 16. Details

Resource path

/api/core/v1/common/glossaries/perform

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters
Return Type
Responses
Table 17. Http response codes
Code Message Datatype

200

[OmnType] with list of [ResponseType]s

[OmnType]

400

Invalid input provided

[ResponseTypeDto]

401

Not authorized

[ResponseTypeDto]

404

The requested resource could not be found

[ResponseTypeDto]

500

An unknown internal error occurred

[ResponseTypeDto]

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Delete glossary attribute by glossary ID
curl
curl --location -g --request POST 'https://<OMN_SERVER>/common/glossaries/perform' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-08T12:54:32.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="glossary" id="37272" type="delete"/>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-08T12:54:32.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="glossary" id="123" type="delete"/>
    </actions>
</pim>
Response body (Success)
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-15T13:37:04.635Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="glossary" id="123" action="delete">
            <status>SUCCESS</status>
            <description>Glossary has been deleted.</description>
        </response>
    </responses>
</pim>
Response body (Error: a Glossary does not exist)
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-15T13:37:53.018Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="glossary" action="delete" id="123">
            <status>ERROR</status>
            <description>The glossary with id "123" does not exist.</description>
        </response>
    </responses>
</pim>

Glossary entries API

Provides operations on OMN glossary entries.

Persist glossary entries

/common/glossaryEntries/persist Create or update the glossary entries
Table 18. Details

Resource path

/api/core/v1/common/glossaryEntries/persist

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters
Return Type

PimType with filled ResponsesType

Responses
Table 19. Http response codes
Code Message Datatype

200

PimType with list of ResponseTypes

PimType

400

Invalid input provided

ResponseType

404

The requested resource could not be found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Create glossary entry
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/glossaryEntries/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <glossaryEntries>
        <glossaryEntry parentId="41550" loc="de_DE" type="term">
            <meta>
                <itm key="value" loc="de_DE">T DE 1</itm>
                <itm key="forbidden">false</itm>
                <itm key="lastEditedUsername">admin</itm>
                <itm key="lastEditedDate">2022-12-14T03:00:00.000+03:00</itm>
            </meta>
            <links>
                <itms loc="en_EN" mode="delta" type="term">
                    <itm key="similarity">100</itm>
                    <itm key="value" loc="en_EN">T EN 1</itm>
                    <itm key="forbidden">false</itm>
                    <itm key="lastEditedUsername">admin</itm>
                    <itm key="lastEditedDate">2022-12-14T03:00:00.000+03:00</itm>
                </itms>
            </links>
        </glossaryEntry>
    </glossaryEntries>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <glossaryEntries>
        <glossaryEntry parentId="41550" loc="de_DE" type="term">
            <meta>
                <itm key="value" loc="de_DE">T DE 1</itm>
                <itm key="forbidden">false</itm>
                <itm key="lastEditedUsername">admin</itm>
                <itm key="lastEditedDate">2022-12-14T03:00:00.000+03:00</itm>
            </meta>
            <links>
                <itms loc="en_EN" mode="delta" type="term">
                    <itm key="similarity">100</itm>
                    <itm key="value" loc="en_EN">T EN 1</itm>
                    <itm key="forbidden">false</itm>
                    <itm key="lastEditedUsername">admin</itm>
                    <itm key="lastEditedDate">2022-12-14T03:00:00.000+03:00</itm>
                </itms>
            </links>
        </glossaryEntry>
    </glossaryEntries>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:42:19.832Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="create" dataType="glossaryEntry" tid="56948c33-29bc-46d1-be81-6fd9452d910f">
          <description>The glossary entry has been created successfully</description>
          <status>SUCCESS</status>
        </response>
    </responses>
</pim>
Update glossary entry
Update by ID
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/glossaryEntries/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <glossaryEntries>
        <glossaryEntry id="29638" parentId="99" loc="de_DE" type="term">
            <meta>
                <itm key="value" loc="de_DE">T DE 1 updated</itm>
            </meta>
        </glossaryEntry>
    </glossaryEntires>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <glossaryEntries>
        <glossaryEntry id="29638" parentId="99" loc="de_DE" type="term">
            <meta>
                <itm key="value" loc="de_DE">T DE 1 updated</itm>
            </meta>
        </glossaryEntry>
    </glossaryEntries>
</pim>
Update by TID
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/glossaryEntries/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <glossaryEntries>
        <glossaryEntry tid="3C5D451A-91D9-437F-8477-03A232C13527" parentTid="D870FF6D-BDF9-41D3-944D-67A8296BD095" loc="de_DE" type="term">
            <meta>
                <itm key="value" loc="de_DE">T DE 1 updated</itm>
            </meta>
        </glossaryEntry>
    </glossaryEntires>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <glossaryEntries>
        <glossaryEntry tid="3C5D451A-91D9-437F-8477-03A232C13527" parentTid="D870FF6D-BDF9-41D3-944D-67A8296BD095" loc="de_DE" type="term">
            <meta>
                <itm key="value" loc="de_DE">T DE 1 updated</itm>
            </meta>
        </glossaryEntry>
    </glossaryEntires>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="update" dataType="glossaryEntry" id="29638">
            <description>The glossary entry has been updated successfully</description>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
Error responses
Unknown translation entry type: Unsupported translation entry type was used
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:45:41.247Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="glossaryEntry" id="29638">
            <description>Unknown translation entry type 'sentenc'</description>
            <status>ERROR</status>
        </response>
    </responses>
</pim>
Sentence/term not found: Sentence or term with provided ID/TID does not exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:45:41.247Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="glossaryEntry" id="29638">
            <description>Sentence with identity '29638' not found.</description>
            <status>ERROR</status>
        </response>
    </responses>
</pim>
Glossary entry does not contain a link to glossary: Either parentId or parenTid must always be present
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:45:41.247Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="glossaryEntry" tid="56948c33-29bc-46d1-be81-6fd9452d910f">
            <description>Glossary entry '56948c33-29bc-46d1-be81-6fd9452d910f' does not contain a link to glossary.</description>
            <status>ERROR</status>
        </response>
    </responses>
</pim>
Glossary does not exist: Glossary with provided parentId/parentTid does not exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T10:54:57.295Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="glossaryEntry" id="25246">
          <description>There is no glossary with the given identity</description>
          <status>ERROR</status>
        </response>
    </responses>
</pim>

Perform glossary entries

/common/glossaryEntries/perform Perform action of the specific type on glossary entries
Table 20. Details

Resource path

/api/core/v1/common/glossaryEntries/perform

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

OmnType with filled ActionsType

  • Provided ActionTypes must have the following fields:

    • Data type: glossaryEntry;

    • ID or TID of glossary entry;

    • Action type: delete, copyToGlossary or moveToGlossary.

Return Type

OmnType with filled ResponsesType

Responses
Table 21. Http response codes
Code Message Datatype

200

OmnType with list of successful or error ResponseTypes

OmnType

400

Invalid input provided

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Delete glossary entry
Delete by ID
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/glossaryEntries/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="glossaryEntry" id="30670" type="delete"/>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="glossaryEntry" id="30670" type="delete"/>
    </actions>
</pim>
Delete by TID
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/glossaryEntries/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="glossaryEntry" tid="56948c33-29bc-46d1-be81-6fd9452d910f" type="delete"/>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="glossaryEntry" tid="56948c33-29bc-46d1-be81-6fd9452d910f" type="delete"/>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:24:53.286Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="delete" dataType="glossaryEntry" id="30670">
          <description>The glossary entry has been deleted successfully</description>
          <status>SUCCESS</status>
        </response>
    </responses>
</pim>
Copy glossary entry to another glossary
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/glossaryEntries/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="glossaryEntry" id="29637" type="copyToGlossary">
            <meta>
                <itm key="glossaryId">25246</itm>
            </meta>
        </action>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="glossaryEntry" id="29637" type="copyToGlossary">
            <meta>
                <itm key="glossaryId">25246</itm>
            </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:24:53.286Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="copyToGlossary" dataType="glossaryEntry" id="29637">
            <description>Glossary entry has been copied</description>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
Move glossary entry to another glossary
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/glossaryEntries/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="glossaryEntry" id="29637" type="moveToGlossary">
            <meta>
                <itm key="glossaryId">25246</itm>
            </meta>
        </action>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="glossaryEntry" id="29637" type="moveToGlossary">
            <meta>
                <itm key="glossaryId">25246</itm>
            </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:24:53.286Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="moveToGlossary" dataType="glossaryEntry" id="29637">
            <description>Glossary entry has been moved</description>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
Error responses
Glossary entry does not exist: Glossary entry with provided ID/TID does not exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:36:54.983Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
      <response action="delete" dataType="glossaryEntry" id="30670">
        <description>There is no glossary entry with the given tid/identity</description>
        <status>ERROR</status>
      </response>
    </responses>
</pim>
Glossary does not exist: Glossary with provided ID/TID does not exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T10:54:57.295Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="copyToGlossary" dataType="glossaryEntry" id="25246">
          <description>There is no glossary with the given identity</description>
          <status>ERROR</status>
        </response>
    </responses>
</pim>

Components API

Provides information about enabled OMN components.

Retrieve components

/common/components/retrieve Retrieves a list of enabled OMN components
Table 22. Details

Resource path

/api/core/v1/common/components/retrieve

HTTP method

POST

Response content type

application/json

Return Type

Map <String, String>. key - component name, value - status of the component

Responses
Table 23. Http response codes
Code Message Datatype

200

Components with statuses

Map <String, String>.

400

Invalid input provided

ResponseType

404

The requested resource could not be found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Get all components
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/components/retrieve' \
--header 'Authorization: Bearer <TOKEN> \
--header 'Content-Type: application/json'
Response body
{
    "omn-versioning": "inactive",
    "omn-search": "active"
}

Messages API

Provides operations on OMN Messages.

Persist messages

/common/messages/persist Sends a message to a user and/or group
Description

Sends a message to a user or role whereby the role has precedence if both are specified. Either a recipient user or a recipient role has to be specified. They can not both be empty.

Table 24. Details

Resource path

/api/core/v1/common/messages/persist

HTTP method

POST

Request content type

application/json

Response content type

application/json

Body Parameter

Specified by MessagesPersistRequest

Name Description Required Default Pattern

MessagesPersistRequest

MessagesPersistRequest

X

Return Type
Responses
Table 25. Http response codes
Code Message Datatype

200

Responses for each message

ResponsesType

400

Bad request. Indicates an issue with the format of the request (missing required value or a wrong data type)

ResponsesType

Samples
Send a message
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/common/messages/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "messages": [
    {
      "tid": "85a4ebbc-7e19-4021-b76b-373436628bb8",
      "subject": "AI-Tagging Failed",
      "body": "The AI-Tagging process for asset with id '\''43691245'\'' failed!",
      "severity": "ERROR",
      "recipientUser": "ap-admin",
      "recipientRole": "monitoring",
      "senderApplication": "Camunda",
      "senderPlugin": "AI-Tagging",
      "parameters": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      }
    }
  ]
}'
{
  "messages": [
    {
      "tid": "85a4ebbc-7e19-4021-b76b-373436628bb8",
      "subject": "AI-Tagging Failed",
      "body": "The AI-Tagging process for asset with id '43691245' failed!",
      "severity": "ERROR",
      "recipientUser": "ap-admin",
      "recipientRole": "monitoring",
      "senderApplication": "Camunda",
      "senderPlugin": "AI-Tagging",
      "parameters": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      }
    }
  ]
}
Response body
{
    "response": [
        {
            "dataType": "message",
            "issues": [],
            "status": "SUCCESS",
            "tid": "85a4ebbc-7e19-4021-b76b-373436628bb8"
        }
    ]
}

Provides operations on OMN links.

/common/links/persist Create links between OMN objects (Assets, Products, Projects)
Table 26. Details

Resource path

/api/core/v1/common/links/persist

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters
Return Type

PimType with filled ResponsesType

Responses
Table 27. Http response codes
Code Message Datatype

200

PimType with list of ResponseTypes

PimType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. Link single asset to single product
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <links>
        <itms type="assetToProduct">
            <itms type="Main_Image">
                <itm key="assetTid">assetTid1</itm>
                <itm key="productTid">productTid1</itm>
            </itms>
        </itms>
    </links>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="link" action="create">
            <status>SUCCESS</status>
            <description>The link has been saved successfully</description>
            <details>
                <itm key="productTid">productTid1</itm>
                <itm key="assetTid">assetTid1</itm>
                <itm key="linkType">Main_Image</itm>
            </details>
        </response>
    </responses>
</pim>
2. Link single asset to single product by id
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <links>
        <itms type="assetToProduct">
            <itms type="Main_Image">
                <itm key="assetId">1</itm>
                <itm key="productId">2</itm>
            </itms>
        </itms>
    </links>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="link" action="create">
            <status>SUCCESS</status>
            <description>The link has been saved successfully</description>
            <details>
                <itm key="productTid">productTid3</itm>
                <itm key="assetTid">assetTid3</itm>
                <itm key="linkType">Main_Image</itm>
            </details>
        </response>
    </responses>
</pim>
3. Link multiple assets to single product
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <links>
        <itms type="assetToProduct">
            <itms type="Main_Image">
                <itms type="assetTid">
                    <itm>assetTid1</itm>
                    <itm>assetTid2</itm>
                </itms>
                <itm key="productTid">productTid1</itm>
            </itms>
        </itms>
    </links>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="link" action="create">
            <status>SUCCESS</status>
            <description>The link has been saved successfully</description>
            <details>
                <itms type="assetTid">
                    <itm>assetTid1</itm>
                    <itm>assetTid2</itm>
                </itms>
                <itm key="productTid">productTid1</itm>
            </details>
        </response>
    </responses>
</pim>
4. Link single asset to multiple products
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <links>
        <itms type="assetToProduct">
            <itms type="Main_Image">
                <itm key="assetTid">assetTid1</itm>
                <itms type="productTid">
                    <itm>productTid1</itm>
                    <itm>productTid2</itm>
                </itms>
            </itms>
        </itms>
    </links>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="link" action="create">
            <status>SUCCESS</status>
            <description>The link has been saved successfully</description>
            <details>
                <itm key="productTid">productTid1</itm>
                <itm key="assetTid">assetTid1</itm>
                <itm key="linkType">Main_Image</itm>
            </details>
        </response>

        <response dataType="link" action="create">
            <status>SUCCESS</status>
            <description>The link has been saved successfully</description>
            <details>
                <itm key="productTid">productTid1</itm>
                <itm key="assetTid">assetTid2</itm>
                <itm key="linkType">Main_Image</itm>
            </details>
        </response>
    </responses>
</pim>
5. Link multiple assets to multiple products
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <links>
        <itms type="assetToProduct">
            <itms type="Main_Image">
                <itms type="assetTid">
                    <itm>assetTid1</itm>
                    <itm>assetTid2</itm>
                </itms>
                <itms type="productTid">
                    <itm>productTid1</itm>
                    <itm>productTid2</itm>
                </itms>
            </itms>
        </itms>
    </links>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="link" action="create">
            <status>SUCCESS</status>
            <description>The link has been saved successfully</description>
            <details>
                <itm key="productTid">productTid1</itm>
                <itms type="assetTid">
                    <itm>assetTid1</itm>
                    <itm>assetTid2</itm>
                </itms>
                <itm key="linkType">Main_Image</itm>
            </details>
        </response>

        <response dataType="link" action="create">
            <status>SUCCESS</status>
            <description>The link has been saved successfully</description>
            <details>
                <itm key="productTid">productTid1</itm>
                <itms type="assetTid">
                    <itm>assetTid1</itm>
                    <itm>assetTid2</itm>
                </itms>
                <itm key="linkType">Main_Image</itm>
            </details>
        </response>
    </responses>
</pim>
Error responses
1. Asset not found: There is no asset(s) with provided identity / tid
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="link" id="1">
            <status>ERROR</status>
            <description>Asset not found</description>
        </response>
    </responses>
</pim>
2. Product not found: There is no product(s) with provided identity / tid
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="link" id="2">
            <status>ERROR</status>
            <description>Product not found</description>
        </response>
    </responses>
</pim>
3. Attribute not found: There is no attribute with provided identifier
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="link" tid="Main_Image">
            <status>ERROR</status>
            <description>Attribute not found</description>
        </response>
    </responses>
</pim>
4. Asset is not available by access rights: Asset(s) has/have been restricted by access rights
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="link" tid="assetTid">
            <status>ERROR</status>
            <description>Asset is not available by access rights</description>
        </response>
    </responses>
</pim>
5. Product is not available by access rights: Product(s) has/have been restricted by access rights
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="link" tid="productTid">
            <status>ERROR</status>
            <description>Product is not available by access rights</description>
        </response>
    </responses>
</pim>
6. Asset has been already linked to the product: Product already has provided asset(s) in linked assets
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="link" tid="productTid1">
            <status>ERROR</status>
            <description>Asset has been already linked to the product</description>
            <details>
                <itm key="assetTid">assetTid1</itm>
                <itm key="productTid">productTid1</itm>
            </details>
        </response>
    </responses>
</pim>
7. Product attribute cardinality has been exceeded: Product attribute configured cardinality is less than it will be after linking asset(s)
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:34:40.177Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="link" action="create">
            <status>ERROR</status>
            <description>Product attribute cardinality has been exceeded</description>
            <details>
                <itms type="assetTid">
                    <itm>assetTid1</itm>
                    <itm>assetTid2</itm>
                </itms>
                <itm key="productTid">productTid1</itm>
            </details>
        </response>
    </responses>
</pim>

DAM API

DAM API provides access to resources of the DAM module and is used to manage and structure digital assets.

Main resources:

Resource Description

Asset

Any digital asset that is supported by OMN. An asset can be, for example, an image, a photo, a graphic, a video, an audio file, a 3D file, a 360° product image or a document.

Version

Versions are different states of a file, e.g. a modified version of an image. Each version of a file has the same file name.

In contrast to Variations , there can only be one active version of a file in OMN at one time, which is displayed in all standard views, e.g. in the table, and is used in OMN.

Variation

Variations (aka variants) are separate files that are related to each other and usually have different file names.

Directory

Represents a directory (aka folder) in a directory tree structure which can contain sub-directories or Assets.

RNC

Abbreviation for Root Node Configuration which represents a configuration of FileSystem accesses for OMN, which is configured in the OMN configuration client.

Assets API

Provides operations on OMN assets and related asset information.

Chunked upload. Start

/dam/assets/bin/chunked/start Initializes a chunk upload session for the file

Chunk upload workflow consist of 3 general steps:

Table 28. Details

Resource path

/api/core/v1/dam/assets/bin/chunked/start

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Specified by AssetUploadRequest

path is required and should contain the file name.
Return Type

OmnType with filled ResponsesType

Response type contains upload tid - the unique identity of the upload session. Upload tid is required for next upload steps.

Responses
Table 29. Http response codes
Code Message Datatype

200

OmnType with filled ResponsesType

OmnType

400

Invalid input provided

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Start upload session
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/bin/chunked/start' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "path":"/MAM/demo/file2.jpg",
    "tid": "AAAAA-AAAAA-AAAAAA-AAAAAA",
}'
Request body AssetUploadRequest
{
    "tid":"0AA31C0C-F2AE-422C-9C6A-25BAB368706E",
    "path": "/MAM/demo/filename.jpg"
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn">
    <responses>
        <response tid="9f9417cc-031b-4bf4-ae98-e1df1fc93fef">
            <status>SUCCESS</status>
            <description>Chunk upload could be started by upload UUID/tid</description>
        </response>
    </responses>
</pim>
Error responses
File already exists
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">f21311c9-a868-4d4e-bc48-adaa96436335</itm>
    </details>
    <issues>
        <itm key="code">1000</itm>
        <itm key="description">An unknown internal error occurred</itm>
        <itms type="details">
            <itm key="errorMessage">File already exists by path: '/demo/file.jpg'</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>
File already exists with the provided tid, but in another path
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">f21311c9-a868-4d4e-bc48-adaa96436335</itm>
    </details>
    <issues>
        <itm key="code">1000</itm>
        <itm key="description">An unknown internal error occurred</itm>
        <itms type="details">
            <itm key="errorMessage">File already exists by path: '/demo/file.jpg'</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>
No access to the destination
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">9fdfc6ce-6999-4f3b-8513-be5c431974ee</itm>
    </details>
    <issues>
        <itm key="code">1000</itm>
        <itm key="description">An unknown internal error occurred</itm>
        <itms type="details">
            <itm key="errorMessage">No permissions to upload by path: /demo/file.jpg</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>
No destination
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">9fdfc6ce-6999-4f3b-8513-be5c431974ee</itm>
    </details>
    <issues>
        <itm key="code">1000</itm>
        <itm key="description">An unknown internal error occurred</itm>
        <itms type="details">
            <itm key="errorMessage">No target directory by path: '[demo]' in rnc: 'MAM'</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>

Chunked upload. Upload a chunk

/dam/assets/bin/chunked/upload/{uploadTid} Upload a specified chunk of an asset.
Upload session must be started before a chunk upload.
Table 30. Details

Resource path

/api/core/v1/dam/assets/bin/chunked/upload/{uploadTid}

HTTP method

POST

Request content type

multipart/form-data

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Parameters
Path Parameters
Name Description Required Default Pattern

uploadTid

The session identifier of the started chunked upload.

X

Form Parameters
Name Description Required Default Pattern

chunkId

Identity of an asset chunk which should be uploaded integer

X

Int32. Positive numbers starting from 0.

payload

Blob file

X

Return Type

PimType with filled ResponsesType

Response contains status of the chunk upload.

Responses
Table 31. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Upload a chunk
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/bin/chunked/upload/9f9417cc-031b-4bf4-ae98-e1df1fc93fef' \
--header 'Authorization: Bearer <TOKEN>' \
--form 'payload=@"<PATH_TO_FILE>500x500.jpg"' \
--form 'chunkId="0";type=application/json'
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn">
    <responses>
        <response action="create" id="0" tid="c15af96a-4ce2-4d05-8965-e375c00daf1b">
            <status>SUCCESS</status>
            <description>Chunk has been uploaded</description>
        </response>
    </responses>
</pim>

Chunked upload. Finish

/dam/assets/bin/chunked/persist/{uploadTid} Finalize the chunking upload of an asset.
Some chunks should be uploaded before notifying the server that API consumer uploaded all chunks.
Table 32. Details

Resource path

/api/core/v1/dam/assets/bin/chunked/persist/{uploadTid}

HTTP method

PUT

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Parameters
Path Parameters
Name Description Required Default Pattern

uploadTid

The session identifier of the started chunked upload.

X

Body parameters

Specified by AssetUploadRequest. The AssetUploadRequest's path and tid parameters should be the same as was sent for /dam/assets/bin/chunked/start

path is required and should contain the file name.
Return Type

PimType with filled ResponsesType

Response type contains status and info about asset that were uploaded to the system.

Responses
Table 33. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input provided

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Finalize upload session
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/bin/chunked/persist/c9fd0ff5-69e6-4053-b895-887be66ccfd9' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "path":"/MAM/demo/file2.jpg",
    "tid": "AAAAA-AAAAA-AAAAAA-AAAAAA",
    "doPreviewsAsync": true,
    "doOverwrite": true
}'
Request body AssetUploadRequest
{
    "tid":"0AA31C0C-F2AE-422C-9C6A-25BAB368706E",
    "path": "/MAM/demo/filename.jpg",
    "doPreviewsAsync": true,
    "doOverwrite": true
}
Response body. With status and uploaded asset info
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn">
    <responses>
        <response action="create"
                dataType="asset"
                id="75440"
                path="/demo/file.jpg"
                tid="1296BDF9-E367-492C-ACB8-59FA7C310CE8">
            <status>SUCCESS</status>
            <description>The asset has been uploaded</description>
        </response>
    </responses>
</pim>
Error responses

It is possible, that during chunks upload, the another file with the same name and path or tid was uploaded to the system, target or the target directory is not available.

File already exists:
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">f21311c9-a868-4d4e-bc48-adaa96436335</itm>
    </details>
    <issues>
        <itm key="code">1000</itm>
        <itm key="description">An unknown internal error occurred</itm>
        <itms type="details">
            <itm key="errorMessage">File already exists by path: '/demo/file.jpg'</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>
File already exists with the provided tid, but in another path
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">f21311c9-a868-4d4e-bc48-adaa96436335</itm>
    </details>
    <issues>
        <itm key="code">1000</itm>
        <itm key="description">An unknown internal error occurred</itm>
        <itms type="details">
            <itm key="errorMessage">File already exists by path: '/demo/file.jpg'</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>
No access to the destination
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">9fdfc6ce-6999-4f3b-8513-be5c431974ee</itm>
    </details>
    <issues>
        <itm key="code">1000</itm>
        <itm key="description">An unknown internal error occurred</itm>
        <itms type="details">
            <itm key="errorMessage">No permissions to upload by path: /demo/file.jpg</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>
No destination
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">9fdfc6ce-6999-4f3b-8513-be5c431974ee</itm>
    </details>
    <issues>
        <itm key="code">1000</itm>
        <itm key="description">An unknown internal error occurred</itm>
        <itms type="details">
            <itm key="errorMessage">No target directory by path: '[demo]' in rnc: 'MAM'</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>

Retrieve Binary Assets

/dam/assets/bin/retrieve Retrieves binary data of asset(s).
Table 34. Details

Resource path

/api/core/v1/dam/assets/bin/retrieve

HTTP method

POST

Request content type

application/json

Response content type

application/octet-stream

Body parameters

Specified by AssetRequest

  • tids - (List of String) - Filter parameter, asset TIDs (Metatag GUID), identifying unique objects

  • ids - (List of Integer) - Filter parameter, asset IDs, identifying unique objects

  • formats - (List of String) - Filter parameter, asset formats, identifying preview format or asset.

Return Type

Binary data. In case when multiple assets and / or multiple formats are requested, then files will be compressed into the zip. The zip file should be of the following structure: One directory per tid/id. In this directory the file name of the asset + the format prefix (+ file-suffix) should be used as file name.

Responses
Table 35. Http response codes
Code Message Datatype

200

OmnType with list of keywords

OmnType

400

Invalid input provided

ResponseType

404

The requested resource could not be found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
curl sample
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/assets/bin/retrieve' \
--header 'content-type: application/json' \
--header 'Authorization: Bearer <TOKEN> ' \
--data-raw <REQUEST_BODY>

Initial data: 2 files

1st file:

  • name: apollon_logo.jpg

  • identity: 1331131

  • tid: 05954601-9289-49A7-8652-BE74A7DB0E06

2nd file:

  • name: apollon_bg.png

  • identity: 22738178

  • tid: 7CD062AE-B69E-47D5-8422-8840E4A22E88

1. Retrieve asset by id
Request body
{
  "ids": [1331131]
}
Response body. The file
apollon_logo_original.png
2. Retrieve single asset by tid
Request body
{
  "tids": ["7CD062AE-B69E-47D5-8422-8840E4A22E88"]
}
Response body. The file
apollon_bg_original.png
3. Retrieve multiple assets by tids/ids:
Request body. By id
{
  "ids": [1331131, 22738178]
}

or

Request body. By tid
{
  "tids": ["7CD062AE-B69E-47D5-8422-8840E4A22E88", "05954601-9289-49A7-8652-BE74A7DB0E06"]
}
Response body. Zip with several assets files
result.zip
        |----- 7CD062AE-B69E-47D5-8422-8840E4A22E88
        |                                    |---- apollon_logo_original.jpg
        |
        |----- 05954601-9289-49A7-8652-BE74A7DB0E06
                                             |---- apollon_bg_original.png
4. Retrieve single asset’s single preview
Request body
{
  "ids": [1331131],
  "formats": ["previewThumbnail"]
}
Response body. The file preview
apollon_logo_previewThumbnail.png
5. Retrieve single asset’s multiple previews:
Request body
{
  "ids": [1331131],
  "formats": ["previewThumbnail", "previewOriginal"]
}
Response body. Zip with several previews
result.zip
        |----- 7CD062AE-B69E-47D5-8422-8840E4A22E88
                                             |---- apollon_logo_previewThumbnail.jpg
                                             |---- apollon_logo_previewOriginal.jpg
6. Retrieve multiple asset’s multiple previews:
Request body
{
  "tids": ["7CD062AE-B69E-47D5-8422-8840E4A22E88", "05954601-9289-49A7-8652-BE74A7DB0E06"],
  "formats": ["previewThumbnail", "previewOriginal"]
}
Response body. Zip with several previews
result.zip
        |----- 7CD062AE-B69E-47D5-8422-8840E4A22E88
        |                                    |---- apollon_logo_previewThumbnail.jpg
        |                                    |---- apollon_logo_previewOriginal.jpg
        |
        |----- 05954601-9289-49A7-8652-BE74A7DB0E06
                                             |---- apollon_bg_previewThumbnail.jpg
                                             |---- apollon_bg_previewOriginal.jpg

Asset upload

/dam/assets/bin/persist Upload asset to the system.

Semantic is the same as in chunked asset upload. Within this endpoint it’s possible to upload file per one request without splitting to chunks.

Table 36. Details

Resource path

/api/core/v1/dam/assets/bin/persist

HTTP method

POST

Request content type

multipart/form-data

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Form Parameters
AssetUploadRequest.path should be provided to the OMN known directory.
Name Description Required Default Pattern

params

Upload parameters AssetUploadRequest

X

payload

Blob file

X

Return Type

PimType with filled ResponsesType

Response type contains status and info about upload asset operation.

Responses
Table 37. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input

ResponseType

409

File already exists

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Upload a file
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/bin/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--form 'payload=@"/<FILE_PATH>/artworks-bQbImNIL55TZ52he-gAKJ7w-t500x500.jpg"' \
--form 'params="{
    \"path\":\"/MAM/demo/\",
    \"tid\": \"AAAAA-AAAAA-AAAAAA-AAAAAA\",
    \"doPreviewsAsync\": true,
    \"doOverwrite\": true
}";type=application/json''
Request body AssetUploadRequest
{
    "path":"/MAM/demo/",
    "tid": "AAAAA-AAAAA-AAAAAA-AAAAAA",
    "doPreviewsAsync": true,
    "doOverwrite": true
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn">
    <responses>
        <response action="create"
                dataType="asset"
                id="86670"
                path="/MAM/demo/file.jpg"
                tid="AAAAA-AAAAA-AAAAAA-AAAAAA">
            <status>SUCCESS</status>
            <description>The asset has been uploaded</description>
        </response>
    </responses>
</pim>
Error response
No access to the asset
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">9fdfc6ce-6999-4f3b-8513-be5c431974ee</itm>
    </details>
    <issues>
        <itm key="code">1000</itm>
        <itm key="description">An unknown internal error occurred</itm>
        <itms type="details">
            <itm key="errorMessage">No permissions to upload by path: /demo/file.jpg</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>
Assets already exists
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">d2540d63-e9b5-4647-b875-bcb0c9dfabe5</itm>
    </details>
    <issues>
        <itm key="code">1003</itm>
        <itm key="description">The resource already exists</itm>
        <itms type="details">
            <itm key="errorMessage">File already exists by path: '/demo/file.jpg'</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>

Retrieve assets previews info

/dam/assets/previews/retrieve Retrieve assets previews information.
Table 38. Details

Resource path

/api/core/v1/dam/assets/previews/retrieve

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Specified by PreviewInfoRequest

Return Type

OmnType with filled AssetsType. More info AssetType

Responses
Table 39. Http response codes
Code Message Datatype

200

OmnType with assets preview info in AssetType

OmnType

500

Error in ResponseType

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Get previews info
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/previews/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
   "tids":[
      "11319367-DE26-4FB8-9148-3C341766C1BA"
   ],
  "formats": [
    "original",
    "previewOriginal",
    "previewCoarse",
    "previewThumbnail",
    "previewCustom",
    "previewOriginalPixel",
    "previewOriginalVector",
    "previewOriginalMultimedia"
  ]
}'

Request body:

by ids:
{
  "ids": [
    74628354
  ],
  "formats": [
    "original",
    "previewOriginal",
    "previewCoarse",
    "previewThumbnail",
    "previewCustom",
    "previewOriginalPixel",
    "previewOriginalVector",
    "previewOriginalMultimedia"
  ]
}
by tids:
{
  "tids": [
    "11319367-DE26-4FB8-9148-3C341766C1BA"
  ],
  "formats": [
    "original",
    "previewOriginal",
    "previewCoarse",
    "previewThumbnail",
    "previewCustom",
    "previewOriginalPixel",
    "previewOriginalVector",
    "previewOriginalMultimedia"
  ]
}
by paths:
{
  "paths": [
    "/MAM/rootDirectory/childDirectory1/pic.jpeg"
  ],
  "formats": [
    "original",
    "previewOriginal",
    "previewCoarse",
    "previewThumbnail",
    "previewCustom",
    "previewOriginalPixel",
    "previewOriginalVector",
    "previewOriginalMultimedia"
  ]
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-19T09:46:46.471Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <assets>
        <asset tid="11319367-DE26-4FB8-9148-3C341766C1BA">
            <name>artworks-bQbImNIL55TZ52he-gAKJ7w-t500x500_print_variation_print_variation.jpg</name>
            <meta>
                <itm key="identity">87961</itm>
                <itm key="pathStringStr">/demo/artworks-bQbImNIL55TZ52he-gAKJ7w-t500x500_print_variation_print_variation.jpg</itm>
            </meta>
            <previews>
                <preview tid="E5B04787-87BD-4D18-AAA6-6CD26498EB0A" type="ORIGINAL_PIXEL">
                    <meta>
                        <itm key="extension">jpeg</itm>
                        <itm key="height">230</itm>
                        <itm key="modificationDate">2022-09-08T13:11:29.802Z</itm>
                        <itm key="pageNumber">-1</itm>
                        <itm key="size">0</itm>
                        <itm key="status">ORIGINAL</itm>
                        <itm key="url">/dam/assets/bin?assetTid=11319367-DE26-4FB8-9148-3C341766C1BA&amp;format=previewOriginalPixel</itm>
                        <itm key="width">219</itm>
                    </meta>
                </preview>
                <preview tid="0B0A042E-6F51-44C2-8CE7-5F13E4719FCF" type="THUMBNAIL">
                    <meta>
                        <itm key="extension">jpeg</itm>
                        <itm key="height">40</itm>
                        <itm key="modificationDate">2022-09-08T13:11:29.802Z</itm>
                        <itm key="pageNumber">-1</itm>
                        <itm key="size">0</itm>
                        <itm key="status">ORIGINAL</itm>
                        <itm key="url">/dam/assets/bin?assetTid=11319367-DE26-4FB8-9148-3C341766C1BA&amp;format=previewThumbnail</itm>
                        <itm key="width">38</itm>
                    </meta>
                </preview>
                <preview tid="11F00126-6D35-4355-99C3-2763A9743C00" type="COARSE">
                    <meta>
                        <itm key="extension">jpeg</itm>
                        <itm key="height">480</itm>
                        <itm key="modificationDate">2022-09-08T13:11:29.802Z</itm>
                        <itm key="pageNumber">-1</itm>
                        <itm key="size">0</itm>
                        <itm key="status">ORIGINAL</itm>
                        <itm key="url">/dam/assets/bin?assetTid=11319367-DE26-4FB8-9148-3C341766C1BA&amp;format=previewCoarse</itm>
                        <itm key="width">457</itm>
                    </meta>
                </preview>
            </previews>
        </asset>
    </assets>
</pim>

Perform actions on assets

/dam/assets/perform Perform different types of actions on DAM assets

Available action types:

  1. Delete

  2. Move

  3. Copy

  4. Checkin (unlock)

  5. Checkout (lock)

  6. Clean checkout (force unlock)

Table 40. Details

Resource path

/api/core/v1/dam/assets/perform

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

API consumer should provide one of asset identifiers (usually tid) to perform action/s on the asset.

Some actions require additional info that should be provided in MetaType in key/value way.

ActionType's type is required and be provided. Possible values:

  1. delete

  2. checkout

  3. checkin

  4. cleanCheckout

  5. unlink

  6. move

  7. copy

ActionType's dataType is - asset

Tables legend

"As <action> attribute" describes, that parameter is in the xml attribute of <action> tag. Otherwise, parameter should be in ItemType.

"Required groups" - one of parameter in the one group is required e.g. entity identifier (e.g. tid or id or path)

Table 41. Delete action parameters
Parameter Name As <action> attribute Required Type Description Format

tid

X

X

string

Tid of the asset that should be deleted

Table 42. Move and Copy actions parameters
Parameter Name As <action> attribute Required Type Description Format

tid

X

X G1

string

Tid of the asset that should be moved

id

X

X G1

Long

Asset identity

int64

path

X

X G1

string

Path to the asset. Starts from RNC name.

/ (forward slash) - as separator. RNC identifier - as root entry.

destinationDirTid

X G2

string

Destination directory Tid

destinationDirId

X G2

Long

Destination directory Id

int64

destinationDirPath

X G2

string

Path to the destination directory. Starts from RNC name.

/ (forward slash) - as separator. RNC identifier - as root entry.

overwrite

boolean

Overwrite file if exists

true/false

Table 43. Checkin/Checkout/Clean checkout actions parameters
Parameter Name As <action> attribute Required Type Description Format

tid

X

X

string

Tid of the asset that should checked-in/checked-out or cleaned from checkout

Return Type

PimType with filled ResponsesType

Response types contains status information about each action passed to perform.

Responses
Actions are processed separately. ResponseType for individual action need to checked. Exceptions thrown during the execution of actions will be reported in ResponseType.
Table 44. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType.

PimType

400

Invalid input provided

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Delete
Delete asset by tid
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" tid="37590039-3AEA-4A13-9C3A-C6EC3C94ADCE" type="delete"/>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" tid="37590039-3AEA-4A13-9C3A-C6EC3C94ADCE" type="delete"/>
    </actions>
</pim>
Response example
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:24:53.286Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                tid="37590039-3AEA-4A13-9C3A-C6EC3C94ADCE"
                action="delete">
            <status>SUCCESS</status>
            <description>The asset has been deleted successfully</description>
        </response>
    </responses>
</pim>
Error response case
The asset doesn’t exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:36:54.983Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                tid="37590039-3AEA-4A13-9C3A-C6EC3C94ADCE2"
                action="delete">
            <status>ERROR</status>
            <description>There is no asset with the given tid</description>
        </response>
    </responses>
</pim>
Move
Move asset by tid/id/path
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml; charset=UTF8' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" tid="52F78637-63AE-4F3E-8D4B-664E070C6AA1" type="move">
        <meta>
         <itm key="destinationDirTid">52F78637-63AE-4F3E-8D4B-664E070C6AB8</itm>
         <itm key="overwrite">false</itm>
        </meta>
        </action>
    </actions>
</pim>'

Move request body examples:

By Tid
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" tid="52F78637-63AE-4F3E-8D4B-664E070C6AA1" type="move">
            <meta>
                <itm key="destinationDirTid">52F78637-63AE-4F3E-8D4B-664E070C6AB8</itm>
                <itm key="overwrite">false</itm>
            </meta>
        </action>
    </actions>
</pim>
By id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" id="74638" type="move">
            <meta>
                <itm key="destinationDirId">55273453</itm>
                <itm key="overwrite">false</itm>
            </meta>
        </action>
    </actions>
</pim>
By path
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" path="/MAM/demo/photo.jpg" type="move">
            <meta>
                <itm key="destinationDirPath">/MAM/demo/copies/</itm>
                <itm key="overwrite">false</itm>
            </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T10:53:35.841Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                  tid="52F78637-63AE-4F3E-8D4B-664E070C6AA1"
                  id="74638"
                  action="move"
                  path="/MAM/demo/copies/photo.jpg">
            <status>SUCCESS</status>
            <description>asset has been moved</description>
            <details>
                <itm key="monitorId">77833</itm>
            </details>
        </response>
    </responses>
</pim>
Error responses
The asset doesn’t exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T10:54:05.989Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset" action="move" path="/MAM/demo/copies/photo2.jpg">
            <status>ERROR</status>
            <description>The asset does not exist</description>
        </response>
    </responses>
</pim>
The destination doesn’t exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T10:54:31.036Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset" action="move" path="/MAM/demo/photo.jpg">
            <status>ERROR</status>
            <description>The destination does not exist</description>
        </response>
    </responses>
</pim>
No access to the asset
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T11:06:29.771Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                tid="9EC194D7-07B6-48A1-BDD3-19C729492F7E"
                id="76890"
                action="move"
                path="/MAM/demo/copies/tempAR/photo.jpg">
            <status>ERROR</status>
            <description>Error during moving: No access to source objects</description>
        </response>
    </responses>
</pim>
No access to the destination
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T10:54:57.295Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                tid="0F837828-AE84-431A-BC79-65B967C6400D"
                id="73442"
                action="move"
                path="/MAM/demo/photo.jpg">
            <status>ERROR</status>
            <description>Error during moving: No access to destination object '/demo/copies/tempAR'</description>
        </response>
    </responses>
</pim>
Collision
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T11:07:26.533Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                tid="E40ACAEB-963C-4D06-B3ED-7C01B3E51C37"
                id="77971"
                action="move"
                path="/MAM/demo/photo.jpg">
            <status>ERROR</status>
            <description>Collision during move. Collision asset name:'photo.jpg'</description>
            <details>
                <itm key="collision">true</itm>
                <itm key="monitorId">77835</itm>
            </details>
        </response>
    </responses>
</pim>
Copy
Copy asset by tid/id/path
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml; charset=UTF8' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" tid="52F78637-63AE-4F3E-8D4B-664E070C6AA1" type="copy">
        <meta>
         <itm key="destinationDirTid">52F78637-63AE-4F3E-8D4B-664E070C6AB8</itm>
         <itm key="overwrite">false</itm>
        </meta>
        </action>
    </actions>
</pim>'

Copy request body examples:

By Tid
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" tid="52F78637-63AE-4F3E-8D4B-664E070C6AA1" type="copy">
            <meta>
                <itm key="destinationDirTid">52F78637-63AE-4F3E-8D4B-664E070C6AB8</itm>
                <itm key="overwrite">false</itm>
            </meta>
        </action>
    </actions>
</pim>
By id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" id="74638" type="copy">
            <meta>
                <itm key="destinationDirId">55273453</itm>
                <itm key="overwrite">false</itm>
            </meta>
        </action>
    </actions>
</pim>
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" path="/MAM/demo/photo.jpg" type="copy">
            <meta>
                <itm key="destinationDirPath">/MAM/demo/copies/</itm>
                <itm key="overwrite">false</itm>
            </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T10:53:35.841Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                  tid="52F78637-63AE-4F3E-8D4B-664E070C6AA1"
                  id="74638"
                  action="copy"
                  path="/MAM/demo/copies/photo.jpg">
            <status>SUCCESS</status>
            <description>asset has been copied</description>
            <details>
                <itm key="monitorId">77833</itm>
            </details>
        </response>
    </responses>
</pim>
Error responses
The asset doesn’t exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T10:54:05.989Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset" action="copy" path="/MAM/demo/copies/photo2.jpg">
            <status>ERROR</status>
            <description>The asset does not exist</description>
        </response>
    </responses>
</pim>
The destination doesn’t exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T10:54:31.036Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset" action="copy" path="/MAM/demo/photo.jpg">
            <status>ERROR</status>
            <description>The destination does not exist</description>
        </response>
    </responses>
</pim>
No access to the asset
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T11:06:29.771Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                tid="9EC194D7-07B6-48A1-BDD3-19C729492F7E"
                id="76890"
                action="copy"
                path="/MAM/demo/copies/tempAR/photo.jpg">
            <status>ERROR</status>
            <description>Error during moving: No access to source objects</description>
        </response>
    </responses>
</pim>
No access to the destination
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T10:54:57.295Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                tid="0F837828-AE84-431A-BC79-65B967C6400D"
                id="73442"
                action="copy"
                path="/MAM/demo/photo.jpg">
            <status>ERROR</status>
            <description>Error during moving: No access to destination object '/demo/copies/tempAR'</description>
        </response>
    </responses>
</pim>
Collision
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-17T11:07:26.533Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                tid="E40ACAEB-963C-4D06-B3ED-7C01B3E51C37"
                id="77971"
                action="copy"
                path="/MAM/demo/photo.jpg">
            <status>ERROR</status>
            <description>Collision during copy. Collision asset name:'photo.jpg'</description>
            <details>
                <itm key="collision">true</itm>
                <itm key="monitorId">77845</itm>
            </details>
        </response>
    </responses>
</pim>
Checkin
Checkin asset by tid
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml; charset=UTF8' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" tid="71A1021B-786C-4538-8883-70A1C6754034" type="checkin"/>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" tid="71A1021B-786C-4538-8883-70A1C6754034" type="checkin"/>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-17T09:23:08.154Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                tid="71A1021B-786C-4538-8883-70A1C6754034"
                action="update">
            <status>SUCCESS</status>
            <description>The asset has been checked-in</description>
        </response>
    </responses>
</pim>
Error responses
The asset doesn’t exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:38:06.734Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset" tid="DB2B33D8-C9DF-4A0B-BCC4-F5222CB8A5122" action="update">
            <status>ERROR</status>
            <description>Isy object with meta tag guid 'DB2B33D8-C9DF-4A0B-BCC4-F5222CB8A5122' is not found.</description>
        </response>
    </responses>
</pim>
The asset is locked by another user
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:40:00.264Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset" tid="DB2B33D8-C9DF-4A0B-BCC4-F5222CB8A512" action="update">
            <status>ERROR</status>
            <description>The asset is checked-out (locked) by another user</description>
        </response>
    </responses>
</pim>
No access to the asset
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:40:00.264Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset" tid="DB2B33D8-C9DF-4A0B-BCC4-F5222CB8A512" action="update">
            <status>ERROR</status>
            <description>The asset access is denied</description>
        </response>
    </responses>
</pim>
Checkout
Checkout asset by tid
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml; charset=UTF8' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" tid="71A1021B-786C-4538-8883-70A1C6754034" type="checkout"/>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" tid="71A1021B-786C-4538-8883-70A1C6754034" type="checkout"/>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-17T09:23:08.154Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                tid="71A1021B-786C-4538-8883-70A1C6754034"
                action="update">
            <status>SUCCESS</status>
            <description>The asset has been checked-out</description>
        </response>
    </responses>
</pim>
Error responses
The asset doesn’t exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:38:06.734Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset" tid="DB2B33D8-C9DF-4A0B-BCC4-F5222CB8A5122" action="update">
            <status>ERROR</status>
            <description>Isy object with meta tag guid 'DB2B33D8-C9DF-4A0B-BCC4-F5222CB8A5122' is not found.</description>
        </response>
    </responses>
</pim>
The asset is locked by another user
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:40:00.264Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset" tid="DB2B33D8-C9DF-4A0B-BCC4-F5222CB8A512" action="update">
            <status>ERROR</status>
            <description>The asset is checked-out (locked) by another user</description>
        </response>
    </responses>
</pim>
No access to the asset
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:40:00.264Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset" tid="DB2B33D8-C9DF-4A0B-BCC4-F5222CB8A512" action="update">
            <status>ERROR</status>
            <description>The asset access is denied</description>
        </response>
    </responses>
</pim>
Clean checkout
Clean checkout asset by tid
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml; charset=UTF8' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" tid="71A1021B-786C-4538-8883-70A1C6754034" type="cleanCheckout"/>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="asset" tid="71A1021B-786C-4538-8883-70A1C6754034" type="cleanCheckout"/>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-17T09:23:08.154Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                tid="71A1021B-786C-4538-8883-70A1C6754034"
                action="update">
            <status>SUCCESS</status>
            <description>The asset has been clean from checkout</description>
        </response>
    </responses>
</pim>
Error responses
The asset doesn’t exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:38:06.734Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset" tid="DB2B33D8-C9DF-4A0B-BCC4-F5222CB8A5122" action="update">
            <status>ERROR</status>
            <description>Isy object with meta tag guid 'DB2B33D8-C9DF-4A0B-BCC4-F5222CB8A5122' is not found.</description>
        </response>
    </responses>
</pim>
No access to the asset
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-14T14:40:00.264Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset" tid="DB2B33D8-C9DF-4A0B-BCC4-F5222CB8A512" action="update">
            <status>ERROR</status>
            <description>The asset access is denied</description>
        </response>
    </responses>
</pim>

Retrieve assets

/dam/assets/retrieve Retrieve asset information and attributes details.

The endpoint can also provide information about previews and asset’s history.

Table 45. Details

Resource path

/api/core/v1/dam/assets/retrieve

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Asset attributes

Asset attributes are stored in AssetType.vals

Asset attributes type and examples
Attribute type Is localized Response template Example

Boolean

<val attr="{attribute_name}">
    <itm>{attribute_value}</itm>
</val>
<val attr="BOOLEAN_SIMPLE">
    <itm>false</itm>
</val>

Boolean

X

<val attr="{attribute_name}" type="localized">
    <itm loc="{language_code}">{attribute_value}</itm>
</val>
<val attr="BOOLEAN_LANGUAGE" type="localized">
    <itm loc="en_EN">true</itm>
</val>

Date

<val attr="{attribute_name}">
    <itm>{iso8601_date}</itm>
</val>
<val attr="DATE_SIMPLE">
    <itm>2022-06-11T13:05:32.000Z</itm>
</val>

Date

X

<val attr="{attribute_name}" type="localized">
    <itm loc="{language_code}">{iso8601_date}</itm>
</val>
<val attr="DATE_LANGUAGE" type="localized">
    <itm loc="en_EN">2022-06-04T13:05:32.000Z</itm>
</val>

Enumeration

<val attr="{attribute_name}" type="multiple">
    <itm pos="0">{attribute_value0}</itm>
    <itm pos="1">{attribute_value1}</itm>
    <itm pos="N">{attribute_valuen}</itm>
</val>
<val attr="ENUMERATION_SIMPLE" type="multiple">
    <itm pos="0">value0</itm>
    <itm pos="1">value1</itm>
    <itm pos="2">value2</itm>
</val>

Enumeration

X

<val attr="{attribute_name}" type="multi_loc">
    <i18n loc="{language_code}">
        <itm pos="0">{attribute_value0}</itm>
        <itm pos="1">{attribute_value1}</itm>
        <itm pos="N">{attribute_valuen}</itm>
    </i18n>
</val>
<val attr="ENUMERATION_LANGUAGE" type="multi_loc">
    <i18n loc="en_EN">
        <itm pos="0">value0</itm>
        <itm pos="1">value1</itm>
        <itm pos="2">value2</itm>
    </i18n>
</val>

Number

<val attr="{attribute_name}">
    <itm>{attribute_value}</itm>
</val>
<val attr="NUMBER_SIMPLE">
    <itm>33</itm>
</val>

Number

X

<val attr="{attribute_name}" type="localized">
    <itm loc="{language_code}">{value}</itm>
</val>
<val attr="NUMBER_LANGUAGE" type="localized">
    <itm loc="en_EN">77</itm>
</val>

String

<val attr="{attribute_name}">
    <itm>{attribute_value}</itm>
</val>
<val attr="NUMBER_SIMPLE">
    <itm>33</itm>
</val>

String

X

<val attr="{attribute_name}" type="localized">
     <itm>{attribute_value}</itm>
</val>
<val attr="STRING_SIMPLE">
    <itm>temp</itm>
</val>

XMP

<val attr="xmp.{attribute_name}" type="xmp">
    <itm>{attribute_value}</itm>
</val>

<val attr="xmp.{attribute_name}" type="xmp">
    <itm>{value0}</itm>
    <itm>{value1}</itm>
    <itm>{valuen}</itm>
</val>
<val attr="xmp.IPTC.Title" type="xmp">
    <itm>title-value</itm>
</val>


<val attr="xmp.IPTC.Keywords" type="xmp">
    <itm>666</itm>
    <itm>333</itm>
    <itm>888</itm>
</val>
Body parameters

Specified by AssetRequest

Return Type

PimType with filled AssetsType. More info AssetType

Responses
Table 46. Http response codes
Code Message Datatype

200

PimType with list of assets

PimType

500

Error in ResponseType

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Get asset details with asset history and previews info
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ids": [
      24478
    ],
    "retrieveHistory": true,
    "retrievePreviews": true
}'
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <assets>
        <asset parent="01427CB0-AF41-41CF-96FC-51EC7B6ADEC1"
               tid="6FC0022A-E978-4ADF-ABFE-DBF0BE99042F"
               type="IMG">
            <name>100192855000_96p.jpg</name>
            <meta>
                <itm key="annotationstate">false</itm>
                <itm key="archivestate">ONLINE</itm>
                <itm key="creationDate">2022-10-04T11:39:13.943+02:00</itm>
                <itm key="discriminator">IMG</itm>
                <itm key="fileCreationDate">2022-10-04T11:39:13.937+02:00</itm>
                <itm key="fileModificationDate">2022-10-04T11:39:13.937+02:00</itm>
                <itm key="fileTypeShortName">JPEG</itm>
                <itm key="hidden">false</itm>
                <itm key="identity">24478</itm>
                <itm key="imageColorspace">YCBCR</itm>
                <itm key="imageHeightInMM">705.5555555555555</itm>
                <itm key="imageHeightInPixel">2000</itm>
                <itm key="imageICCProfile">sRGB IEC61966-2-1 withBPC</itm>
                <itm key="imageWidthInMM">465.66666666666663</itm>
                <itm key="imageWidthInPixel">1320</itm>
                <itm key="imageXResolutionValue">72.0</itm>
                <itm key="imageYResolutionValue">72.0</itm>
                <itm key="modificationDate">2022-10-04T11:39:16.272+02:00</itm>
                <itm key="nameWithoutExtension">100192855000_96p</itm>
                <itm key="numberOfVersions">0</itm>
                <itm key="online">true</itm>
                <itm key="pathStringStr">/Productimages/100/192/855/100192855000_96p.jpg</itm>
                <itm key="previewCoarse">1C85040C-D61C-41E7-97CC-15B08B0675FE</itm>
                <itm key="previewOriginal"/>
                <itm key="previewOriginalMultimedia"/>
                <itm key="previewOriginalPixel">48C064B8-B3EC-4476-A84B-11474684FF2B</itm>
                <itm key="previewOriginalVector"/>
                <itm key="previewThumbnail">FC24D91C-69FE-4FB3-A6FA-B9A66EB37CBC</itm>
                <itm key="resourceSize">0</itm>
                <itm key="rncIdentifier">MAM</itm>
                <itm key="size">112209</itm>
                <itm key="totalChecksum">8a6c74821055ccc8da8603eed6976017</itm>
                <itm key="totalChecksumHashAlgorithm">MD5</itm>
                <itm key="totalSize">112209</itm>
            </meta>
            <vals>
                <val attr="xmp.IPTC.Description" type="xmp">
                    <itm>100192296041383437</itm>
                </val>
                <val attr="xmp.dc:description" type="xmp">
                    <itm>100192296041383437</itm>
                </val>
                <val attr="xmp.dc:subject" type="xmp">
                    <itm>1001/100192/855000/19;</itm>
                </val>
                <val attr="xmp.tiff.Orientation" type="xmp">
                    <itm>1</itm>
                </val>
                <val attr="xmp.dc:creator" type="xmp">
                    <itm>p</itm>
                </val>
                <val attr="xmp.IPTC.Keywords" type="xmp">
                    <itm>1001/100192/855000/19;</itm>
                </val>
                <val attr="xmp.dc:format" type="xmp">
                    <itm>image/jpeg</itm>
                </val>
                <val attr="xmp.IPTC.Creator" type="xmp">
                    <itm>p</itm>
                </val>
                <val attr="xmp.exif:ExposureTime" type="xmp">
                    <itm>1/160</itm>
                </val>
                <val attr="STRING_SIMPLE">
                    <itm>string</itm>
                </val>
                <val attr="ENUMERATION_L" type="multi_loc">
                    <i18n loc="en_EN">
                        <itm pos="0">Brown</itm>
                        <itm pos="1">Yellow</itm>
                    </i18n>
                </val>
            </vals>
            <histories>
                <history id="37220">
                    <meta>
                        <itm key="changedProperty">STRING_SIMPLE</itm>
                        <itm key="eventDate">2022-10-21T15:45:04.110+02:00</itm>
                        <itm key="eventDescription">Saving object details.</itm>
                        <itm key="eventIdentifier">SAVE_DETAILS</itm>
                        <itm key="newValue">testttest</itm>
                        <itm key="oldValue">aeorosol</itm>
                        <itm key="userIdentifier">test@apollon.de</itm>
                    </meta>
                </history>
                <history id="54321">
                    <meta>
                        <itm key="changedProperty">STRING_SIMPLE</itm>
                        <itm key="eventDate">2022-10-21T15:45:15.928+02:00</itm>
                        <itm key="eventDescription">Saving object details.</itm>
                        <itm key="eventIdentifier">SAVE_DETAILS</itm>
                        <itm key="newValue">hi</itm>
                        <itm key="oldValue">testttest</itm>
                        <itm key="userIdentifier">test@apollon.de</itm>
                    </meta>
                </history>
            </histories>
            <previews>
                <preview tid="E5B04787-87BD-4D18-AAA6-6CD26498EB0A" type="ORIGINAL_PIXEL">
                    <meta>
                        <itm key="extension">jpeg</itm>
                        <itm key="height">230</itm>
                        <itm key="modificationDate">2022-09-08T13:11:29.802Z</itm>
                        <itm key="pageNumber">-1</itm>
                        <itm key="size">0</itm>
                        <itm key="status">ORIGINAL</itm>
                        <itm key="url">/dam/assets/bin?assetTid=11319367-DE26-4FB8-9148-3C341766C1BA&amp;format=previewOriginalPixel</itm>
                        <itm key="width">219</itm>
                    </meta>
                </preview>
                <preview tid="0B0A042E-6F51-44C2-8CE7-5F13E4719FCF" type="THUMBNAIL">
                    <meta>
                        <itm key="extension">jpeg</itm>
                        <itm key="height">40</itm>
                        <itm key="modificationDate">2022-09-08T13:11:29.802Z</itm>
                        <itm key="pageNumber">-1</itm>
                        <itm key="size">0</itm>
                        <itm key="status">ORIGINAL</itm>
                        <itm key="url">/dam/assets/bin?assetTid=11319367-DE26-4FB8-9148-3C341766C1BA&amp;format=previewThumbnail</itm>
                        <itm key="width">38</itm>
                    </meta>
                </preview>
                <preview tid="11F00126-6D35-4355-99C3-2763A9743C00" type="COARSE">
                    <meta>
                        <itm key="extension">jpeg</itm>
                        <itm key="height">480</itm>
                        <itm key="modificationDate">2022-09-08T13:11:29.802Z</itm>
                        <itm key="pageNumber">-1</itm>
                        <itm key="size">0</itm>
                        <itm key="status">ORIGINAL</itm>
                        <itm key="url">/dam/assets/bin?assetTid=11319367-DE26-4FB8-9148-3C341766C1BA&amp;format=previewCoarse</itm>
                        <itm key="width">457</itm>
                    </meta>
                </preview>
            </previews>
        </asset>
    </assets>
</pim>

Persist assets

/dam/assets/persist Saves asset information and asset attributes details.

Allows to

  1. Rename the asset

  2. Change attribute values (AssetType.vals)

  3. Link keywords (AssetType.links)

Table 47. Details

Resource path

/api/core/v1/dam/assets/persist

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Asset attribute persisting

Asset attributes are stored in AssetType.vals. More info about asset attributes

Only provided attribute values are persisted, other values that are not provided in AssetType.vals will be not changed.
Only values of attributes registered in OMN could be saved.

Keyword links are stored in AssetType.links. See below for sample

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2024-05-08T09:42:06.853Z</itm>
        <itm key="sourceEnv">ocd_dev</itm>
    </meta>
    <assets>
        <asset id="58525" parent="7CFD9FB3-8124-4363-8C06-B844CC58249C" tid="5B8EF672-A396-43BC-B880-E8B1FC2F7376" type="IMG">
            <name>MyAsset.jpg</name>
            <links>
                <itms mode="delta" type="kwds">
                    <itm pos="1">/MyRootKW/MySubKW</itm>
                </itms>
            </links>
        </asset>
    </assets>
</pim>
Only existing keywords can be linked. Non-existent keywords won’t be created automatically.
Body parameters

Accepts PimType with AssetsType

Return Type

PimType with statuses ResponsesType about each persisted asset.

Responses
Table 48. Http response codes
Code Message Datatype

200

PimType with list of responses

PimType

500

Error in ResponseType

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Save asset attributes and new name
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '<BODY>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <assets>
        <asset parent="01427CB0-AF41-41CF-96FC-51EC7B6ADEC1"
               tid="6FC0022A-E978-4ADF-ABFE-DBF0BE99042F"
               type="IMG">
            <name>100192855000_96p.jpg</name>
            <vals>
                <val attr="STRING_SIMPLE">
                    <itm>string</itm>
                </val>
                <val attr="NUMBER_SIMPLE">
                    <itm>6395629</itm>
                </val>
                <val attr="ENUMERATION_L" type="multi_loc">
                    <i18n loc="en_EN">
                        <itm pos="0">Brown</itm>
                        <itm pos="1">Yellow</itm>
                    </i18n>
                </val>
                <val attr="xmp.IPTC.Description" type="xmp">
                    <itm>100192296041383437</itm>
                </val>
                <val attr="xmp.dc:description" type="xmp">
                    <itm>100192296041383437</itm>
                </val>
                <val attr="xmp.dc:subject" type="xmp">
                    <itm>1001/100192/855000/19;</itm>
                </val>
                <val attr="xmp.tiff.Orientation" type="xmp">
                    <itm>1</itm>
                </val>
                <val attr="xmp.IPTC.Keywords" type="xmp">
                    <itm>1001/100192/855000/19;</itm>
                </val>
                <val attr="xmp.dc:format" type="xmp">
                    <itm>image/jpeg</itm>
                </val>
                <val attr="xmp.IPTC.Creator" type="xmp">
                    <itm>p</itm>
                </val>
                <val attr="xmp.exif:ExposureTime" type="xmp">
                    <itm>1/160</itm>
                </val>
            </vals>
        </asset>
    </assets>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-03T07:28:00.168Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="ASSET" tid="71A1021B-786C-4538-8883-70A1C6754034" action="update">
            <status>SUCCESS</status>
            <description>The asset has been saved successfully</description>
        </response>
    </responses>
</pim>
Link keywords to asset
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '<BODY>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2024-05-08T09:42:06.853Z</itm>
        <itm key="sourceEnv">ocd_dev</itm>
    </meta>
    <assets>
        <asset id="58525" parent="7CFD9FB3-8124-4363-8C06-B844CC58249C" tid="5B8EF672-A396-43BC-B880-E8B1FC2F7376" type="IMG">
            <name>MyAsset.jpg</name>
            <links>
                <itms mode="delta" type="kwds">
                    <itm pos="0">/MyRootKeyword</itm>
                    <itm pos="1">/AnotherRootKeyword/MySubKeyword</itm>
                </itms>
            </links>
        </asset>
    </assets>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-03T07:28:00.168Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="ASSET" tid="71A1021B-786C-4538-8883-70A1C6754034" action="update">
            <status>SUCCESS</status>
            <description>The asset has been saved successfully</description>
        </response>
    </responses>
</pim>
Error responses
The asset doesn’t exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-03T07:46:16.200Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset" tid="71A1021B-786C-4538-8883-70A1C675403422" action="update">
            <status>ERROR</status>
            <description>The asset does not exist</description>
        </response>
    </responses>
</pim>
The keyword doesn’t exist
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<pim xmlns="http://www.apollon.de/omn">
    <meta>
        <itm key="messageType">response</itm>
        <itm key="messageTime">2024-05-13T04:54:05.030Z</itm>
        <itm key="refMessageId">1131</itm>
        <itm key="sourceEnv">ocd_dev</itm>
    </meta>
    <responses>
        <response dataType="asset" tid="5B8EF672-A396-43BC-B880-E8B1FC2F7376">
            <status>SUCCESS</status>
            <issues type="1002">
                <itm key="description">Keyword could not be linked: Keyword with path '/nonexistentkeyword' not found.</itm>
            </issues>
        </response>
    </responses>
</pim>
No access to the asset
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-03T07:46:16.200Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset" tid="71A1021B-786C-4538-8883-70A1C675403422" action="update">
            <status>ERROR</status>
            <description>The asset does not exist</description>
        </response>
    </responses>
</pim>
No access rights to save some attributes
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T09:15:35.301Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="ASSET" tid="71A1021B-786C-4538-8883-70A1C6754034" action="update">
            <status>WARNING</status>
            <description>The asset has been saved successfully. Some attributes were not saved due to Access Rights</description>
        </response>
    </responses>
</pim>

Query assets

/dam/assets/query Gets list of asset tids by allowed criteria

Allows to get assets tids by:

  1. By modification date (from/until)

  2. By file type

  3. By directory

Tip: Criteria combined with AND operator.

Table 49. Details

Resource path

/api/core/v1/dam/assets/query

HTTP method

POST

Request content type

application/json;

Response content type

application/json;

Body parameters

Accepts AssetQuery

Return Type

Filled with asset tids AssetRequest

Responses
Table 50. Http response codes
Code Message Datatype

200

Found assets ids

AssetRequest

400

Invalid input error ResponseType

ResponseType

500

Error in ResponseType

ResponseType

Samples
Query asset by modified dates, asset discriminator, parent directory
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/query' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "modifiedFrom": "2022-12-09T08:33:09.734Z",
  "modifiedUntil": "2022-12-12T08:33:09.734Z",
  "fileTypes": [
    "IMG"
  ],
  "directory": {
    "path": "/MAM/dir1/dir2/dir3"
  }
}
'

Request body examples:

Request assets with type IMG, in specified directory limited by modification dates range
{
  "modifiedFrom": "2022-12-09T08:33:09.734Z",
  "modifiedUntil": "2022-12-12T08:33:09.734Z",
  "fileTypes": [
    "IMG"
  ],
  "directory": {
    "path": "/MAM/dir1/dir2/dir3"
  }
}
Request asset in directory by tid
{
    "directory": {
        "tid": "DBF6D18D-6CB4-4765-8966-10000DD22A6E"
    }
}
Request asset in directory by id
{
    "directory": {
        "id": 74628354
    }
}
Request asset in directory by path
{
    "directory": {
        "path": "/MAM/rootDirectory/childDirectory"
    }
}
Response body
{
    "tids": [
        "8E93BA7A-0521-4FB2-A7B7-40941C7A5AFA",
        "218BCAED-A63B-4CE4-B23F-42B479E4E9FB",
        "C3617CA4-0869-4A60-9CDC-32DCA0322F63",
        "2BA8E460-964E-4197-9292-1E4365B29386",
        "5BD22A27-7C2E-49B9-B90F-00F209900480",
        "A168315F-24BF-4EF3-8BF9-619C71502D42",
        "C9229729-D0D6-4CDA-92C8-3B916D1B4F85",
        "2ABE86E5-6261-4BBF-A30B-235964B6EDBD",
        "365F8ED1-1B75-4218-824A-E0B394D1DFEE",
        "2312639C-F5D7-4F82-BEEF-4DD5E9668425",
        "8195578A-AB9D-4BFD-9B86-2519E0A74E85",
        "FC2E1C48-5904-4754-9E4E-8032ABE6949C",
        "599641D5-7637-46DB-97BC-635F915C188A",
        "D1019EE5-F1E0-49FA-8C2B-AD7FE3F8402C",
        "6BD4B93B-2F35-4B9F-909E-974443B7C96B",
        "DA32F94E-98B8-4F62-B588-EE804D97717B",
        "08E3AF9C-1D28-4962-9C82-4E54633A9A4B",
        "F008FE89-7372-4C17-83AB-670A664B57D9",
        "95E7D312-1C4B-43BF-93C9-2219248ABF33",
        "A905D075-8312-49EA-AB09-65D6FDBEE573",
        "19F2C143-68D0-410C-BC24-53B33B70D270"
    ],
    "retrieveHistory": false,
    "retrievePreviews": false
}

Retrieve statuses of an assets

/dam/assets/status Gets the status information for given assets.

The endpoint could provide information about asset import and object statuses.

Table 51. Details

Resource path

/api/core/v1/dam/assets/status

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Specified by AssetRequest

  • ids: it might be used to get assets statuses by asset’s id's

  • tids: it might be used to get assets statuses by asset’s tid's

Assets statuses are retrieved by tids OR ids. ids are ignored if the request contains tids and ids.
Return Type

OmnType with filled AssetsType. More info AssetType

Responses
Table 52. Asset Import statuses
Value Description

pending

Import is in processing queue

running

General status if import is running

available

Asset, previews and metadata available

incomplete

Import failed at some state and is incomplete (most of the time Asset is available but not synchronized)

Table 53. Asset Object statuses
Value Description

import incomplete

Object is not synchronized (check-in not complete)

available

Asset, previews and metadata available after import/checkin

locked

Asset is "checked out"

marked for deletion

Asset is marked for deletion

Table 54. Http response codes
Code Message Datatype

200

PimType with filled AssetsType

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. To get a list of assets statuses by assets tids
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/assets/status' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "tids": ["986A971D-1B8B-4E72-ACB3-0ED272CB504"]
}'
Request body
{
    "tids": ["986A971D-1B8B-4E72-ACB3-0ED272CB504"]
}
Response body
 <?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-27T12:41:38.795Z</itm>
        <itm key="itemInformationType">asset</itm>
    </meta>
    <assets>
        <asset tid="986A971D-1B8B-4E72-ACB3-0ED272CB504" id="64556">
            <meta>
                <itm key="ImportState">available</itm>
                <itm key="ObjectState">available</itm>
            </meta>
        </asset>
    </assets>
</pim>
2. To get a list of assets statuses by assets ids
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/assets/status' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ids": ["15185"]
}'
Request body
{
    "ids": ["15185"]
}
Response body
 <?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-27T12:41:38.795Z</itm>
        <itm key="itemInformationType">asset</itm>
    </meta>
    <assets>
        <asset tid="986A971D-1B8B-4E72-ACB3-0ED272CBCCC" id="15185">
            <meta>
                <itm key="ImportState">available</itm>
                <itm key="ObjectState">available</itm>
            </meta>
        </asset>
    </assets>
</pim>

Retrieve Histories

/dam/assets/histories/retrieve Retrieve asset histories by specified path.
Table 55. Details

Resource path

/api/core/v1/dam/assets/histories/retrieve

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Specified by HistoryRequest

  • tids - (List of String) - Filter parameter, asset TIDs (Metatag GUID), identifying unique objects

  • ids - (List of Integer) - Filter parameter, asset IDs, identifying unique objects

  • paths - (List of String) - Filter parameter, asset paths, identifying unique objects

Return Type

OmnType with filled HistoriesType

Responses
Table 56. Http response codes
Code Message Datatype

200

OmnType with list of histories

OmnType

404

The requested resource could not be found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Retrieve history for assets by tids/ids/paths

Request body:

by tids
{
    "tids": ["71A1021B-786C-4538-8883-70A1C6754034", "5FB0C015-2937-4B5C-AD45-7E7A49EEF026"]
}
by ids
{
    "ids": [25151, 25167]
}
by path
{
    "paths": ["/MAM/test/invisible/image1.png", "/MAM/test/simple/image2.png"]
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-05-24T06:45:03.459Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <assets>
        <asset tid="71A1021B-786C-4538-8883-70A1C6754034">
            <name>image1.png</name>
            <meta>
                <itm key="identity">25151</itm>
                <itm key="pathStringStr">MAM/test/invisible/image1.png</itm>
            </meta>
            <histories>
                <history id="98765">
                    <itm key='changedProperty'>prop1</itm>
                    <itm key='eventDate'>02.02.2022</itm>
                    <itm key='eventDescription'>Description</itm>
                    <itm key='eventIdentifier'>SAVE_DETAILS</itm>
                    <itm key='newValue'>NewText</itm>
                    <itm key='oldValue'>OldText</itm>
                    <itm key='userIdentifier'>admin</itm>
                </history>
            </histories>
        </asset>
        <asset tid="5FB0C015-2937-4B5C-AD45-7E7A49EEF026">
            <name>image2.png</name>
            <meta>
                <itm key="identity">25167</itm>
                <itm key="pathStringStr">MAM/test/simple/image2.png</itm>
            </meta>
                <history id="54321">
                    <itm key='changedProperty'>prop2</itm>
                    <itm key='eventDate'>02.02.2022</itm>
                    <itm key='eventDescription'>Description</itm>
                    <itm key='eventIdentifier'>SAVE_DETAILS</itm>
                    <itm key='newValue'>future</itm>
                    <itm key='oldValue'>past</itm>
                    <itm key='userIdentifier'>user</itm>
                </history>
            </histories>
        </asset>
    </assets>
</pim>

Versions API

Provides operations on OMN assets version and related version information.

Version chunked upload. Start

/dam/assets/versions/bin/chunked/start Initialize chunk upload session for the version file.

Initialize chunk upload session for the file

Version chunk upload workflow consist from 3 general steps like the asset upload:

Upload as version feature will create a version for the file that currently is on the system and then replace the file on the system with the uploaded.

Table 57. Details

Resource path

/api/core/v1/dam/assets/versions/bin/chunked/start

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters
tid - is required and refers to asset for which version file will be uploaded.
Return Type

PimType with filled ResponsesType

Response type contains upload tid - the unique identity of the upload session. Upload tid is required for next upload steps.

Responses
Table 58. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input provided

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Start upload session
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/versions/bin/chunked/start' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "tid": "0AA31C0C-F2AE-422C-9C6A-25BAB368706E",
}'
{
    "tid":"0AA31C0C-F2AE-422C-9C6A-25BAB368706E",
}
Response body. With upload tid.
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn">
    <responses>
        <response tid="614cde94-fdd6-47aa-86e6-c090d900032c">
            <status>SUCCESS</status>
            <description>Version chunk upload could be started by upload UUID/tid</description>
        </response>
    </responses>
</pim>
Error responses
No asset by tid
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">8dbfd28d-9487-4c6c-a878-9f30557f2e1b</itm>
    </details>
    <issues>
        <itm key="code">1002</itm>
        <itm key="description">The requested resource could not be found</itm>
        <itms type="details">
            <itm key="errorMessage">Isy object with meta tag guid '0AA31C0C-F2AE-422C-9C6A-25BAB368706E' is not found.</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>
No access to the asset
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn">
    <responses>
        <response action="update"
                dataType="asset"
                tid="0AA31C0C-F2AE-422C-9C6A-25BAB368706E">
            <status>ERROR</status>
            <description>Asset is not available by access rights</description>
        </response>
    </responses>
</pim>

Version chunked upload. Upload a chunk

/dam/assets/versions/bin/chunked/upload/{uploadTid} Upload a specified chunk of an asset.
Upload session must be started before a chunk upload.
Table 59. Details

Resource path

/api/core/v1/dam/assets/versions/bin/chunked/upload/{uploadTid}

HTTP method

POST

Request content type

multipart/form-data

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Parameters
Path Parameters
Name Description Required Default Pattern

uploadTid

The session identifier of the started chunked upload.

X

Form Parameters
Name Description Required Default Pattern

chunkId

Identity of an asset chunk which should be uploaded

X

Int32. Positive numbers starting from 0.

payload

Blob file

X

Return Type

PimType with filled ResponsesType

Response contains status of the chunk upload.

Responses
Table 60. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Upload a chunk
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/versions/bin/chunked/upload/614cde94-fdd6-47aa-86e6-c090d900032c' \
--header 'Authorization: Bearer <TOKEN>' \
--form 'payload=@"<PATH_TO_FILE>500x500.jpg"' \
--form 'chunkId="0";type=application/json'
Response body. With upload status
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn">
    <responses>
        <response action="create" id="0" tid="614cde94-fdd6-47aa-86e6-c090d900032c">
            <status>SUCCESS</status>
            <description>Chunk has been uploaded</description>
        </response>
    </responses>
</pim>

Version chunked upload. Finish

/dam/assets/versions/bin/chunked/persist/{uploadTid} Finalize the chunk upload of the asset version.

Finalize the chunking upload of the asset version.

Upload as version feature will create a version for file that currently is on the system and then replace the file on the system with the uploaded.

Some chunks should be uploaded before notifying the server that API consumer uploaded all chunks.
Table 61. Details

Resource path

/api/core/v1/dam/assets/versions/bin/chunked/persist/{uploadTid}

HTTP method

PUT

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Parameters
Path Parameters
Name Description Required Default Pattern

uploadTid

The session identifier of the started chunked upload.

X

Body parameters

Version of the existing file will be created with provided parameters AssetVersionUploadRequest

It’s a finalization step for file version upload. The AssetVersionUploadRequest's tid parameter should be the same as was sent for /dam/assets/versions/bin/chunked/start.
Return Type

PimType with filled ResponsesType

Response type contains status and info about asset that was uploaded to the system.

Responses
Table 62. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input provided

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Finalize upload session
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/versions/bin/chunked/persist/614cde94-fdd6-47aa-86e6-c090d900032c' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "tid": "0AA31C0C-F2AE-422C-9C6A-25BAB368706E",
    "versionComment": "Created before upload via API",
    "timeoutDate": "2022-09-07T09:16:09.171Z",
    "protectedAfterDate": "2022-09-07T09:16:09.171Z",
    "protectedBeforeDate": "2022-09-07T09:16:09.171Z",
}'
{
    "tid":"0AA31C0C-F2AE-422C-9C6A-25BAB368706E",
    "versionComment": "Created before upload via API",
    "timeoutDate": "{Date in the ISO8601 format}",
    "protectedAfterDate": "{Date in the ISO8601 format}",
    "protectedBeforeDate": "{Date in the ISO8601 format}"
}}
Response body. With status and uploaded asset info
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn">
    <responses>
        <response action="update"
                dataType="asset"
                tid="0AA31C0C-F2AE-422C-9C6A-25BAB368706E">
            <status>SUCCESS</status>
            <description>Old file has been versioned and new file has been uploaded</description>
        </response>
    </responses>
</pim>
Error responses

It is possible, that during chunks upload, the target is not available.

No asset by tid
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">8dbfd28d-9487-4c6c-a878-9f30557f2e1b</itm>
    </details>
    <issues>
        <itm key="code">1002</itm>
        <itm key="description">The requested resource could not be found</itm>
        <itms type="details">
            <itm key="errorMessage">Isy object with meta tag guid '0AA31C0C-F2AE-422C-9C6A-25BAB368706E' is not found.</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>
No access to the asset
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn">
    <responses>
        <response action="update"
                dataType="asset"
                tid="0AA31C0C-F2AE-422C-9C6A-25BAB368706E">
            <status>ERROR</status>
            <description>Asset is not available by access rights</description>
        </response>
    </responses>
</pim>

Version upload

/dam/assets/versions/bin/persist Upload asset as version to the system.

Semantic is the same as in chunked version upload. Within this endpoint it’s possible to upload file per one request without splitting to chunks.

Upload as version feature will create a version for file that currently is on the system and then replace the file on the system with the uploaded.

Table 63. Details

Resource path

/api/core/v1/dam/assets/versions/bin/persist

HTTP method

POST

Request content type

multipart/form-data

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Form Parameters
Name Description Required Default Pattern

params

Version upload and creation parameters AssetVersionUploadRequest

X

payload

Blob file

X

Return Type

PimType with filled ResponsesType

Response type contains status and info about upload asset version operation.

Responses
Table 64. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input provided

ResponseType

404

No asset by tid

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Upload file version
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/versions/bin/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--form 'payload=@"/<FILE_PATH>/artworks-bQbImNIL55TZ52he-gAKJ7w-t500x500.jpg"' \
--form 'params="{\"versionComment\": \"Created before upload via API\", \"tid\":\"F103F147-428C-4427-AA65-8A46AE066803\"}";type=application/json'
{
    "tid":"F103F147-428C-4427-AA65-8A46AE066803",
    "versionComment": "Created before upload via API",
    "timeoutDate": "{Date in the ISO8601 format}",
    "protectedAfterDate": "{Date in the ISO8601 format}",
    "protectedBeforeDate": "{Date in the ISO8601 format}"
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-16T09:30:46.743Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                tid="F103F147-428C-4427-AA65-8A46AE066803"
                action="update">
            <status>SUCCESS</status>
            <description>Old file has been versioned and new file has been uploaded</description>
        </response>
    </responses>
</pim>
Error response
No access to the asset
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-16T09:45:15.768Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                tid="BA7A3E08-A48B-47FE-8150-6986A61588732"
                action="update">
            <status>ERROR</status>
            <description>Asset is not available by access rights</description>
        </response>
    </responses>
</pim>

Retrieve Binary Versions

/dam/assets/versions/bin Retrieves the binary data of asset version.
Table 65. Details

Resource path

/api/core/v1/dam/assets/versions/bin

HTTP method

POST

Request content type

Request params

Response content type

application/octet-stream

Body parameters

Specified by request URL params

  • assetTid - (String) - tid of asset

  • assetId - (Integer) - identity of asset

  • format - (String) - type of version preview

  • versionNumber - (Integer) - number of version

  • versionTid - (String) - tid of version

Return Type

Binary data of asset version file.

Responses
Table 66. Http response codes
Code Message Datatype

200

OmnType with list of keywords

OmnType

404

The requested resource could not be found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
1. Retrieve binary version by assetId
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/assets/versions/bin?assetId=<ASSET_IDENTITY>&versionNumber=<VERSION_NUMBER>' \
--header 'Authorization: Bearer <TOKEN> ' \
--data-raw ''

Request params:

assetId=12345, versionNumber=1

Response body:

apollon_logo_original.png
2. Retrieve binary version by assetTid
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/assets/versions/bin?assetTid=<ASSET_TID>&versionNumber=<VERSION_NUMBER>' \
--header 'Authorization: Bearer <TOKEN> ' \
--data-raw ''

Request params:

assetId=B29ECF60-0AB0-431D-8510-94490F27B229, versionNumber=1

Response body:

apollon_logo_original.png
3. Retrieve version preview by version tid and preview type
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/assets/versions/bin?versionTid=<VERSION_TID>&format=<PREVIEW_FORMAT>' \
--header 'Authorization: Bearer <TOKEN> ' \
--data-raw ''

Request params:

versionTid=B29ECF60-0AB0-431D-8510-94490F27B229, previewType=previewThumbnail

Response body:

thumbnail.png

Variations API

Provides operations on OMN asset variations.

Retrieve variations

/dam/assets/variations/retrieve Retrieves asset variations.

Variation object represents link between assets.

Table 67. Details

Resource path

/api/core/v1/dam/assets/variations/retrieve

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Specified by VariationRequest

Return Type

OmnType with filled VariationsType. More info VariationType

Responses
Table 68. Http response codes
Code Message Datatype

200

OmnType with list of asset variations

OmnType

500

Error in ResponseType

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Get asset variations
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/variations/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "assetPaths": ["/MAM/demo/copies/tempAR/pcUXFux_77I.jpg", "/MAM/demo/artworks-bQbImNIL55TZ52he-gAKJ7w-t500x500_print_variation.jpg"]
}'

Request body examples:

By assets ids
{
    "assetIds": [12333]
}
By assets tids
{
    "assetTids": ["38043B75-5BB3-44CE-AFD1-401503C6F322"]
}
By assets paths
{
  "assetPaths": ["/RNC/Dir1/Dir2/file.jpg"]
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-01T11:41:47.507Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <variations>
        <variation assetId="86430" assetTid="DB32DAAC-6A80-4BEB-A09C-C020CA941F4E"/>
        <variation assetId="87960"
                 assetTid="C6E3F14B-092A-4267-9A5D-C16FE4295DC3"
                 parentTid="DB32DAAC-6A80-4BEB-A09C-C020CA941F4E">
            <meta>
                <itm key="variationType">Print</itm>
            </meta>
        </variation>
        <variation assetId="87961"
                 assetTid="11319367-DE26-4FB8-9148-3C341766C1BA"
                 parentTid="C6E3F14B-092A-4267-9A5D-C16FE4295DC3">
            <meta>
                <itm key="variationType">Print</itm>
            </meta>
        </variation>
    </variations>
</pim>

Retrieve variation types

/dam/assets/variations/types Retrieves asset variation types.
Table 69. Details

Resource path

/api/core/v1/dam/assets/variations/types

HTTP method

GET

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Return Type
Responses
Table 70. Http response codes
Code Message Datatype

200

OmnType with filled VariationTypesType

OmnType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Request examples
curl --location --request GET 'http://<OMN_SERVER>/api/core/v1/dam/assets/variations/types' \
--header 'Authorization: Bearer <TOKEN>' \
--data-raw ''
Response example
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn">
    <variationTypes>
        <variationType tid="Print"/>
    </variationTypes>
</pim>

Upload as Variation

/dam/assets/variations/bin/persist Upload file as variation to the system.
Table 71. Details

Resource path

/dam/assets/variations/bin/persist

HTTP method

POST

Request content type

multipart/form-data

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Form Parameters
AssetVariationUploadRequest.tid should be provided to the OMN asset.
Name Description Required

params

Upload parameters AssetVariationUploadRequest

X

payload

Blob file

X

Return Type

PimType with filled ResponsesType

Response type contains status and info about uploaded asset variation.

Responses
Table 72. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input

ResponseType

404

The requested resource could not be found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. Upload a file as variation
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/variations/bin/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--form 'payload=@"/<FILE_PATH>/artworks-bQbImNIL55TZ52he-gAKJ7w-t500x500.jpg"' \
--form 'params="{
    \"tid\":\"52F78637-63AE-4F3E-8D4B-664E070C6AB8\",
    \"variationType\": \"Print\"
}";type=application/json'
Request body AssetUploadRequest
{
    "tid": "52F78637-63AE-4F3E-8D4B-664E070C6AB8",
    "variationType": "Print"
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-16T09:30:46.743Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="variation"
                tid="52F78637-63AE-4F3E-8D4B-664E070C6AB8"
                action="update">
            <status>SUCCESS</status>
            <description>Asset variation has been created</description>
        </response>
    </responses>
</pim>
2. Upload a file as variation with specified name
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/variations/bin/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--form 'payload=@"/<FILE_PATH>/artworks-bQbImNIL55TZ52he-gAKJ7w-t500x500.jpg"' \
--form 'params="{
    \"tid\":\"52F78637-63AE-4F3E-8D4B-664E070C6AB8\",
    \"variationType\": \"Print\",
    \"variationFileName\": \"assetVariation.png\"
}";type=application/json'
Request body AssetUploadRequest
{
    "tid": "52F78637-63AE-4F3E-8D4B-664E070C6AB8",
    "variationType": "Print",
    "variationFileName": "assetVariation.png"
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-16T09:30:46.743Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="variation"
                tid="52F78637-63AE-4F3E-8D4B-664E070C6AB8"
                action="update">
            <status>SUCCESS</status>
            <description>Asset variation has been created</description>
        </response>
    </responses>
</pim>
Error response
No access to the asset
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-16T09:45:15.768Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="variation"
                tid="52F78637-63AE-4F3E-8D4B-664E070C6AB8"
                action="update">
            <status>ERROR</status>
            <description>Asset is not available by access rights</description>
        </response>
    </responses>
</pim>

Directories API

Provides operations on OMN directories.

Retrieve directories

/dam/dirs/retrieve Retrieves a list of sub-directories of the given RNC or directory. .Details

Resource path

/api/core/v1/dam/dirs/retrieve

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Specified by DirectoryRequest

  • rncTid: it might be used to get a top level directories within the given RNC

  • dirTid: it might be used to get a list of directories

  • dirPath: it might be used to get a list of directories

  • level: it sets how many directory level should be loaded Default value is 1. "-1" means to load all levels. 0 (zero) - is invalid value

Return Type

PimType with filled DirectoriesType. More info DirectoryType

Responses
Table 73. Http response codes
Code Message Datatype

200

PimType with filled DirectoriesType

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. To get a list of directories of a given RNC using rncTid parameter
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/dirs/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "rncTid": "MAM",
    "level": 1
}'
Request body
{
    "rncTid": "MAM",
    "level": 1
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-03-22T11:14:11.882Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <dirs>
        <dir tid="tid1" rnc="DATA">
            <name>directory1</name>
            <meta>
                <itm key="discriminator">DIR</itm>
                <itm key="identity">26576991</itm>
                <itm key="creationDate">2019-05-03T15:50:55.664Z</itm>
                <itm key="modificationDate">2020-02-14T17:58:59.275Z</itm>
            </meta>
        </dir>
        <dir tid="tid2" rnc="DATA">
            <name>directory2</name>
            <meta>
                <itm key="discriminator">DIR</itm>
                <itm key="identity">26576992</itm>
                <itm key="creationDate">2019-05-03T15:50:55.664Z</itm>
                <itm key="modificationDate">2020-02-14T17:58:59.275Z</itm>
            </meta>
        </dir>
    </dirs>
</pim>
2. To get a list of directories of a given RNC using dirPath parameter
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/dirs/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "dirPath": "/DATA",
    "level": 1
}'
Request body
{
    "dirPath": "/DATA",
    "level": 1
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-03-22T11:14:11.882Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <dirs>
        <dir tid="tid1" rnc="DATA">
            <name>directory1</name>
            <meta>
                <itm key="discriminator">DIR</itm>
                <itm key="identity">26576991</itm>
                <itm key="creationDate">2019-05-03T15:50:55.664Z</itm>
                <itm key="modificationDate">2020-02-14T17:58:59.275Z</itm>
            </meta>
        </dir>
        <dir tid="tid2" rnc="DATA">
            <name>directory2</name>
            <meta>
                <itm key="discriminator">DIR</itm>
                <itm key="identity">26576992</itm>
                <itm key="creationDate">2019-05-03T15:50:55.664Z</itm>
                <itm key="modificationDate">2020-02-14T17:58:59.275Z</itm>
            </meta>
        </dir>
    </dirs>
</pim>
3. To get a list of sub-directories of a directory by dirTid parameter:
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/dirs/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "dirTid": "2401C4CE-D223-4C3B-AE20-6260DFA6ECC5",
    "level": 1
}'
Request body
{
    "dirTid": "2401C4CE-D223-4C3B-AE20-6260DFA6ECC5",
    "level": 1
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-03-22T11:14:11.882Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <dirs>
        <dir tid="tid1" parent="tid0">
            <name>directory1</name>
            <meta>
                ...
            </meta>
        </dir>
        <dir tid="tid1.1" parent="tid1">
            <name>directory1.1</name>
            <meta>
                ...
            </meta>
        </dir>
        <dir tid="tid2" parent="tid0">
            <name>directory2</name>
            <meta>
                ...
            </meta>
        </dir>
    </dirs>
</pim>
4. To get a list of sub-directories of a directory by dirPath parameter:
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/dirs/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "dirPath": "2401C4CE-D223-4C3B-AE20-6260DFA6ECC5",
    "level": 1
}'
Request body
{
    "dirPath": "/DATA/assets",
    "level": 1
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-03-22T11:14:11.882Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <dirs>
        <dir tid="tid1" parent="tid0">
            <name>directory1</name>
            <meta>
                ...
            </meta>
        </dir>
        <dir tid="tid1.1" parent="tid1">
            <name>directory1.1</name>
            <meta>
                ...
            </meta>
        </dir>
        <dir tid="tid2" parent="tid0">
            <name>directory2</name>
            <meta>
                ...
            </meta>
        </dir>
    </dirs>
</pim>

Persist directories

/dam/dirs/persist Persist a list of directories.
Table 74. Details

Resource path

/api/core/v1/dam/dirs/persist

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Directory attributes

Directory attributes are stored in DirectoryType.vals

Directory attributes type and examples
Attribute type Is localized Response template Example

Boolean

<val attr="{attribute_name}">
    <itm>{attribute_value}</itm>
</val>
<val attr="BOOLEAN_SIMPLE">
    <itm>false</itm>
</val>

Boolean

X

<val attr="{attribute_name}" type="localized">
    <itm loc="{language_code}">{attribute_value}</itm>
</val>
<val attr="BOOLEAN_LANGUAGE" type="localized">
    <itm loc="en_EN">true</itm>
</val>

Date

<val attr="{attribute_name}">
    <itm>{iso8601_date}</itm>
</val>
<val attr="DATE_SIMPLE">
    <itm>2022-06-11T13:05:32.000Z</itm>
</val>

Date

X

<val attr="{attribute_name}" type="localized">
    <itm loc="{language_code}">{iso8601_date}</itm>
</val>
<val attr="DATE_LANGUAGE" type="localized">
    <itm loc="en_EN">2022-06-04T13:05:32.000Z</itm>
</val>

Enumeration

<val attr="{attribute_name}" type="multiple">
    <itm pos="0">{attribute_value0}</itm>
    <itm pos="1">{attribute_value1}</itm>
    <itm pos="N">{attribute_valuen}</itm>
</val>
<val attr="ENUMERATION_SIMPLE" type="multiple">
    <itm pos="0">value0</itm>
    <itm pos="1">value1</itm>
    <itm pos="2">value2</itm>
</val>

Enumeration

X

<val attr="{attribute_name}" type="multi_loc">
    <i18n loc="{language_code}">
        <itm pos="0">{attribute_value0}</itm>
        <itm pos="1">{attribute_value1}</itm>
        <itm pos="N">{attribute_valuen}</itm>
    </i18n>
</val>
<val attr="ENUMERATION_LANGUAGE" type="multi_loc">
    <i18n loc="en_EN">
        <itm pos="0">value0</itm>
        <itm pos="1">value1</itm>
        <itm pos="2">value2</itm>
    </i18n>
</val>

Number

<val attr="{attribute_name}">
    <itm>{attribute_value}</itm>
</val>
<val attr="NUMBER_SIMPLE">
    <itm>33</itm>
</val>

Number

X

<val attr="{attribute_name}" type="localized">
    <itm loc="{language_code}">{value}</itm>
</val>
<val attr="NUMBER_LANGUAGE" type="localized">
    <itm loc="en_EN">77</itm>
</val>

String

<val attr="{attribute_name}">
    <itm>{attribute_value}</itm>
</val>
<val attr="NUMBER_SIMPLE">
    <itm>33</itm>
</val>

String

X

<val attr="{attribute_name}" type="localized">
     <itm>{attribute_value}</itm>
</val>
<val attr="STRING_SIMPLE">
    <itm>temp</itm>
</val>
Body parameters

Specified by DirectoryType

  • rnc: root node configuration

  • tid: unique identifier

  • parent: parent directory unique identifier

  • name: new directory name

Directory attributes can be persisted in the same request with directory. See Directory attributes
Return Type

PimType with filled ResponsesType

Responses
Table 75. Http response codes
Code Message Datatype

200

PimType with list of successful or error ResponseTypes

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. Create a directory:
1.1. Create in the given RNC
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/dirs/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <dirs>
        <dir rnc="MAM">
            <name>New directory</name>
        </dir>
    </dirs>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <dirs>
        <dir rnc="MAM">
            <name>New Directory</name>
        </dir>
    </dirs>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-05-13T16:20:23.420Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="7D534991-B623-418C-A7CB-A273C877A37D"
                action="create">
            <status>SUCCESS</status>
            <description>The directory has been saved successfully</description>
        </response>
    </responses>
</pim>
1.2. Create in the given parent directory
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/dirs/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <dirs>
        <dir parent="63FBCD05-4DB0-42D5-AB13-C87F3366CA82">
            <name>New directory</name>
        </dir>
    </dirs>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <dirs>
        <dir parent="483AAC0B-57F2-4B70-95F9-FF1DAD9AA9C6">
            <name>New Directory</name>
        </dir>
    </dirs>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-05-13T16:20:23.420Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="7D534991-B623-418C-A7CB-A273C877A37D"
                action="create">
            <status>SUCCESS</status>
            <description>The directory has been saved successfully</description>
        </response>
    </responses>
</pim>
Error responses
Missing directory parameter 'name'
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:45:41.247Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir" action="create">
            <status>ERROR</status>
            <description>Missing directory parameter 'name'"</description>
        </response>
    </responses>
</pim>
2. Update a directory
2.1. Update in the given RNC
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/dirs/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <dirs>
        <dir tid="7D534991-B623-418C-A7CB-A273C877A37D" rnc="MAM">
            <name>Updated Directory</name>
        </dir>
    </dirs>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <dirs>
        <dir tid="7D534991-B623-418C-A7CB-A273C877A37D" rnc="MAM">
            <name>Updated Directory</name>
        </dir>
    </dirs>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-05-13T16:25:28.200Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="7D534991-B623-418C-A7CB-A273C877A37D"
                action="update">
            <status>SUCCESS</status>
            <description>The directory has been saved successfully</description>
        </response>
    </responses>
</pim>
2.2. Update in the parent directory
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/dirs/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <dirs>
        <dir tid="41A7CF7F-60DA-4F76-8288-D9721389812A" parent="778B4AFD-6EC5-45D8-95B4-DA2213243B77">
            <name>Updated Directory</name>
        </dir>
    </dirs>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <dirs>
        <dir tid="41A7CF7F-60DA-4F76-8288-D9721389812A" parent="778B4AFD-6EC5-45D8-95B4-DA2213243B77">
            <name>Updated Directory</name>
        </dir>
    </dirs>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-05-13T16:25:28.200Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="7D534991-B623-418C-A7CB-A273C877A37D"
                action="update">
            <status>SUCCESS</status>
            <description>The directory has been saved successfully</description>
        </response>
    </responses>
</pim>
Error responses
Move directory to itself or to the parent directory
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:45:41.247Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir" action="update">
            <status>ERROR</status>
            <description>"Target directory is itself or target parent directory"</description>
        </response>
    </responses>
</pim>
Missing directory parameter 'name' when updating
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:45:41.247Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir" action="update">
            <status>ERROR</status>
            <description>Missing directory parameter 'name'</description>
        </response>
    </responses>
</pim>
Common error responses
Directory attributes missing
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:45:41.247Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir" action="create">
            <status>ERROR</status>
            <description>Directory attributes missing: 'rnc' or 'parent' attribute must be</description>
        </response>
    </responses>
</pim>
Directory attributes mismatched
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:45:41.247Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir" action="create">
            <status>ERROR</status>
            <description>There must be only one of the attributes - 'rnc' or 'parent'</description>
        </response>
    </responses>
</pim>
Permissions missing
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:45:41.247Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir" action="create">
            <status>ERROR</status>
            <description>Permissions missing for directory with tid '7D534991-B623-418C-A7CB-A273C877A37D'</description>
        </response>
    </responses>
</pim>
RNC not found
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:45:41.247Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir" action="create">
            <status>ERROR</status>
            <description>Cannot find RNC with identifier 'MAM'</description>
        </response>
    </responses>
</pim>
Directory already exists
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:45:41.247Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir" action="create">
            <status>ERROR</status>
            <description>Directory with name 'Directory' already exists</description>
        </response>
    </responses>
</pim>
Parent directory not found
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:45:41.247Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir" action="create">
            <status>ERROR</status>
            <description>Directory not found</description>
        </response>
    </responses>
</pim>
File Management Synchronizer error
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:45:41.247Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir" action="create">
            <status>ERROR</status>
            <description>File Management Synchronizer error</description>
        </response>
    </responses>
</pim>
Directory not found
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:45:41.247Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir" action="update">
            <status>ERROR</status>
            <description>Cannot find directory with tid '7D534991-B623-418C-A7CB-A273C877A37D'</description>
        </response>
    </responses>
</pim>

Perform directories

/dam/dirs/perform Perform action of the specific type on directory
Table 76. Details

Resource path

/api/core/v1/dam/dirs/perform

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

PimType with filled ActionsType

Provided ActionTypes must have the following fields:

  • Data type: dir;

  • tid, id or path of directory;

  • Action type: delete, move, copy, createPath.

Return Type

PimType with filled ResponsesType

Responses
Table 77. Http response codes
Code Message Datatype

200

PimType with list of successful or error ResponseTypes

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. Delete directory
1.1. Delete by tid
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/dirs/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T10:10:16.774Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
        <actions>
            <action dataType="dir" tid="730DD2AE-3AEA-4A13-9C3A-C6EC3C94ADCE" type="delete"/>
       </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T10:10:16.774Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="dir" tid="730DD2AE-3AEA-4A13-9C3A-C6EC3C94ADCE" type="delete"/>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-09T11:39:25.555Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="51F78647-63AE-4F3E-8D4B-664E070C6AA2"
                action="delete">
            <status>SUCCESS</status>
            <description>The directory has been deleted successfully</description>
        </response>
    </responses>
</pim>
2. Move directory
2.1. Move by tid
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/dirs/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-08T12:54:32.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="dir" tid="E769ABBC-9AFC-47F2-8983-8DB40610937B" type="move">
        <meta>
            <itm key="destinationDirTid">EEB36E10-5B45-492A-BAB5-5737DDCC9B12</itm>
            <itm key="overwrite">false</itm>
        </meta>
        </action>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-08T12:54:32.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="dir" tid="E769ABBC-9AFC-47F2-8983-8DB40610937B" type="move">
        <meta>
            <itm key="destinationDirTid">EEB36E10-5B45-492A-BAB5-5737DDCC9B12</itm>
            <itm key="overwrite">false</itm>
        </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-18T06:22:10.069Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="E54AC373-09D8-478D-B201-9775D046EF4F"
                id="23902"
                action="move"
                path="/MAM/dirToMove">
            <status>SUCCESS</status>
            <description>dir has been moved</description>
            <details>
                <itm key="monitorId">23955</itm>
            </details>
        </response>
    </responses>
</pim>
2.2. Move by id
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/dirs/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-08T12:54:32.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="dir" id="23901" type="move">
        <meta>
            <itm key="destinationDirId">23900</itm>
            <itm key="overwrite">false</itm>
        </meta>
        </action>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-08T12:54:32.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="dir" id="23901" type="move">
        <meta>
            <itm key="destinationDirId">23900</itm>
            <itm key="overwrite">false</itm>
        </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-18T06:22:10.069Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="E54AC373-09D8-478D-B201-9775D046EF4F"
                id="23902"
                action="move"
                path="/MAM/dirToMove">
            <status>SUCCESS</status>
            <description>dir has been moved</description>
            <details>
                <itm key="monitorId">23955</itm>
            </details>
        </response>
    </responses>
</pim>
2.3. Move by path
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/dirs/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-08T12:54:32.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="dir" path="/MAM/dirToMove" type="move">
        <meta>
         <itm key="destinationDirPath">/MAM/destinationDir</itm>
         <itm key="overwrite">false</itm>
        </meta>
        </action>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-08T12:54:32.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="dir" path="/MAM/dirToMove" type="move">
        <meta>
         <itm key="destinationDirPath">/MAM/destinationDir</itm>
         <itm key="overwrite">false</itm>
        </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-18T06:22:10.069Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="E54AC373-09D8-478D-B201-9775D046EF4F"
                id="23902"
                action="move"
                path="/MAM/dirToMove">
            <status>SUCCESS</status>
            <description>dir has been moved</description>
            <details>
                <itm key="monitorId">23955</itm>
            </details>
        </response>
    </responses>
</pim>
Error responses
Destination directory does not exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-18T06:27:00.349Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir" action="move" path="/MAM/dirToMove">
            <status>ERROR</status>
            <description>The directory does not exist</description>
        </response>
    </responses>
</pim>
No access to destination directory
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-18T07:00:03.303Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="4E1D4697-5085-4BDA-80CE-8DDCEAA9E584"
                id="23905"
                action="move"
                path="/MAM/dirToMove">
            <status>ERROR</status>
            <description>Error during moving: No access to destination object '/destinationDir'</description>
        </response>
    </responses>
</pim>
Collision during move
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-18T06:22:10.069Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="E54AC373-09D8-478D-B201-9775D046EF4F"
                id="23902"
                action="move"
                path="/MAM/dirToMove">
            <status>ERROR</status>
            <description>Collision during move. Collision dir name:'dirToMove'</description>
            <details>
                <itm key="collision">true</itm>
                <itm key="monitorId">77835</itm>
            </details>
        </response>
    </responses>
</pim>
3. Copy directory
3.1. Copy by tid
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/dirs/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-08T12:54:32.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="dir" tid="957836F4-840A-492B-B149-9720D177BC56" type="copy">
        <meta>
         <itm key="destinationDirTid">957836F4-840A-492B-B149-9720D177BC59</itm>
         <itm key="overwrite">false</itm>
        </meta>
        </action>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-08T12:54:32.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="dir" tid="957836F4-840A-492B-B149-9720D177BC56" type="copy">
        <meta>
         <itm key="destinationDirTid">957836F4-840A-492B-B149-9720D177BC59</itm>
         <itm key="overwrite">false</itm>
        </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-19T11:54:34.959Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="957836F4-840A-492B-B149-9720D177BC56"
                id="72030"
                action="copy"
                path="/MAM/demo/copies/tempAR">
            <status>SUCCESS</status>
            <description>dir has been copied</description>
            <details>
                <itm key="monitorId">79851</itm>
            </details>
        </response>
    </responses>
</pim>
3.2. Copy by id
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/dirs/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-08T12:54:32.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="dir" id="3221749" type="copy">
        <meta>
         <itm key="destinationDirId">2376394</itm>
         <itm key="overwrite">false</itm>
        </meta>
        </action>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-08T12:54:32.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="dir" id="3221749" type="copy">
        <meta>
         <itm key="destinationDirId">2376394</itm>
         <itm key="overwrite">false</itm>
        </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-19T11:54:34.959Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="957836F4-840A-492B-B149-9720D177BC56"
                id="72030"
                action="copy"
                path="/MAM/demo/copies/tempAR">
            <status>SUCCESS</status>
            <description>dir has been copied</description>
            <details>
                <itm key="monitorId">79851</itm>
            </details>
        </response>
    </responses>
</pim>
3.3. Copy by path
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/dirs/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-08T12:54:32.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="dir" path="/MAM/demo/copies/tempAR" type="copy">
        <meta>
         <itm key="destinationDirPath">/MAM/</itm>
         <itm key="overwrite">false</itm>
        </meta>
        </action>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-08T12:54:32.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="dir" path="/MAM/demo/copies/tempAR" type="copy">
        <meta>
         <itm key="destinationDirPath">/MAM/</itm>
         <itm key="overwrite">false</itm>
        </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-19T11:54:34.959Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="957836F4-840A-492B-B149-9720D177BC56"
                id="72030"
                action="copy"
                path="/MAM/demo/copies/tempAR">
            <status>SUCCESS</status>
            <description>dir has been copied</description>
            <details>
                <itm key="monitorId">79851</itm>
            </details>
        </response>
    </responses>
</pim>
Error responses
Destination directory does not exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-18T06:27:00.349Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir" action="copy" path="/MAM/dirToCopy">
            <status>ERROR</status>
            <description>The directory does not exist</description>
        </response>
    </responses>
</pim>
No access to destination directory
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-18T07:00:03.303Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="4E1D4697-5085-4BDA-80CE-8DDCEAA9E584"
                id="23905"
                action="copy"
                path="/MAM/dirToCopy">
            <status>ERROR</status>
            <description>Error during moving: No access to destination object '/destinationDir'</description>
        </response>
    </responses>
</pim>
Collision during copy
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-19T12:46:31.213Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="957836F4-840A-492B-B149-9720D177BC56"
                id="72030"
                action="copy"
                path="/MAM/demo/copies/tempAR">
            <status>ERROR</status>
            <description>Collision during copy. Collision dir name:'tempAR'</description>
            <details>
                <itm key="collision">true</itm>
                <itm key="monitorId">79856</itm>
            </details>
        </response>
    </responses>
</pim>
3. Create path (multiple directories)
3.1. Create by path
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="dir" path="/MAM/test2/1" type="createPath"/>
    </actions>
</pim>
Response body (Info about the last/deepest created directory only)
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-10-19T11:35:25.013Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="create" dataType="dir" tid="0E680AA4-5749-46FB-8A46-02282E37BAC1">
            <description>The directory has been saved successfully</description>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
Common error responses
Directory does not exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:36:54.983Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="37590039-3AEA-4A13-9C3A-C6EC3C94ADCE2"
                action="delete">
            <status>ERROR</status>
            <description>Cannot find directory with tid '37590039-3AEA-4A13-9C3A-C6EC3C94ADCE2'</description>
        </response>
    </responses>
</pim>
Wrong request data type
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:38:16.444Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="asset"
                tid="37590039-3AEA-4A13-9C3A-C6EC3C94ADCE2"
                action="delete">
            <status>ERROR</status>
            <description>The data type of the passed item is wrong. It must be 'dir'</description>
        </response>
    </responses>
</pim>
No access to directory
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-18T07:04:12.515Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="dir"
                tid="4E1D4697-5085-4BDA-80CE-8DDCEAA9E584"
                id="23905"
                action="move"
                path="/MAM/dirToMove">
            <status>ERROR</status>
            <description>Error during moving: No access to source objects</description>
        </response>
    </responses>
</pim>

RNCs API

Provides operations on OMN Root nodes configurations.

Retrieve RNCs

/dam/rncs/retrieve Returns all Root Node Configurations [RNC].
Table 78. Details

Resource path

/api/core/v1/dam/rncs/retrieve

HTTP method

POST

Request content type

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Request doesn’t require any parameters.

Return Type

PimType with filled RncsType

Responses
Table 79. Http response codes
Code Message Datatype

200

PimType with list of RNCs

PimType

404

The requested resource could not be found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Retrieve RNCs
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/rncs/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--data-raw ''
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-18T03:46:11.950Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <rncs>
        <rnc tid="MAM">
            <meta>
                <itm key="rncCreationDate">2022-01-13T05:34:43.262Z</itm>
                <itm key="rncDisablePreviewGeneration">false</itm>
                <itm key="rncEventBasePath">/localhost/omn/data/MAM/</itm>
                <itm key="rncIdentifier">MAM</itm>
                <itm key="rncIdentity">15030</itm>
                <itm key="rncLocalPathAsString">/omn/data/MAM/</itm>
                <itm key="rncModificationDate">2022-01-13T05:34:43.262Z</itm>
                <itm key="rncOriginalMaxSize">1280x1024</itm>
                <itm key="rncOriginalResolution">72</itm>
                <itm key="rncPdfFirstPagePreviewOnly">false</itm>
                <itm key="rncUseResolution">false</itm>
                <itm key="rncVolumeName">MAM</itm>
                <itm key="rndDisableEvents">false</itm>
                <itm key="serverDescription"/>
                <itm key="serverHost">localhost</itm>
                <itm key="serverIdentifier">localhost</itm>
                <itm key="serverIdentity">15020</itm>
                <itm key="serverPort">6900</itm>
            </meta>
        </rnc>
    </rncs>
</pim>

PIM API

PIM API provides access to product management resources of OMN and operations on them.

PIM API provides access to resources of the PIM module. PIM is an abbreviation for Product Information Management. It refers to the management of all product-defining information and its provision for use in output channels. In addition to the classic product master data (item price, technical specifications, etc.), this information also includes advertising texts and associated image material. The supporting technology is called PIM system.

Main resources:

Resource Description

Product

General form of an item. A product comprises the subset of articles. Products are usually not order-able without further specification by the customer. E.g. T-shirt "Model A".

Attribute

Product property that is maintained in a separate (database) field (e.g. length, weight, price). A text field containing marketing information is also an attribute of an item or product in OMN.

Attribute Definition

Define attributes, their localized name, type (e.g. text), domain values and the value cardinality.

Classification Node

Represents a node in the classification tree which can be used to classify product types.

Classifications API

Provides operations on OMN classifications.

GET /pim/classes

/pim/classes Get classifications. Operation Id:: getClasses

get classes

Description
Parameters
Return Type
Content Type
  • application/xml

Responses
Table 80. http response codes
Code Message Datatype

200

classes found

[String]

401

Not authorized

<<>>

404

Not found

<<>>

500

Server error

<<>>

Samples

Retrieve classifications

/pim/classes/retrieve Retrieve classifications information without or with nodes and nodes attributes.

The endpoint could provide information about classifications, nodes and nodes attributes.

Table 81. Details

Resource path

/api/core/v1/pim/classes/retrieve

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Specified by ClassificationRequest

  • ids: it might be used to get classifications by id's

  • tids: it might be used to get classifications by tid's

  • withNodes: it might be used to get classifications with nodes

  • flatNodes: it might be used to get classification nodes in flat structure. By default parameter value is true.

  • By default withNodes parameter value is false.

  • If withNodes parameter value is true nodes are returned with all attributes.

  • To gel all classifications ids and tids parameters should be absent or empty.

Return Type
Responses
Table 82. Http response codes
Code Message Datatype

200

PimType with filled ClassificationsType

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. To get a list of classifications by tids without nodes
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/classes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--header 'Accept: application/xml (or application/json)' \
--data-raw '{
    "tids":["Standard", "Standart"]
}'
Request body
{
    "tids":["Standard", "Standart"]
}
Response body XML
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-21T08:44:09.377Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <classes>
        <class tid="Standard">
            <name/>
        </class>
        <class tid="Standart">
            <name/>
        </class>
    </classes>
</pim>
Response body JSON
{
  "meta": {
    "messageType": "request",
    "messageTime": "2022-12-21T08:44:09.377Z",
    "sourceEnv": "web",
    "itemInformationType": "classification"
  },
  "classes": {
    "entries": [
      {
        "name": {},
        "tid": "Standard"
      },
      {
        "name": {},
        "tid": "Standart"
      }
    ]
  },
  "schemaVersion": "5.6.0"
}
2. To get a list of classifications by ids without nodes
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/classes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--header 'Accept: application/xml (or application/json)' \
--data-raw '{
    "ids":[15360, 1]
}'
Request body
{
    "ids":[15360, 1]
}
Response body XML
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-21T08:48:01.469Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <classes>
        <class tid="Standard">
            <name/>
        </class>
        <class tid="Standart">
            <name/>
        </class>
    </classes>
</pim>
Response body JSON
{
  "meta": {
    "messageType": "request",
    "messageTime": "2022-12-21T08:44:09.377Z",
    "sourceEnv": "web",
    "itemInformationType": "classification"
  },
  "classes": {
    "entries": [
      {
        "name": {},
        "tid": "Standard"
      },
      {
        "name": {},
        "tid": "Standart"
      }
    ]
  },
  "schemaVersion": "5.6.0"
}
3. To get a list of classifications by tids with nodes and attributes in flat structure
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/classes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "tids":["Standard"],
    "withNodes":true
}'
Request body
{
    "tids":["Standard"],
    "withNodes":true
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-21T09:06:52.939Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <classes>
        <class tid="Standard">
            <name/>
        </class>
    </classes>
    <nodes>
        <node class="Standard" id="15370" path="/Standard">
            <name/>
            <attr inheritance="visible"
               key="gender"
               level="p"
               localized="true"
               restriction="optional">
                <domainVals allowNewValue="false" sortDirection="MANUAL">
                    <domainVal tid="female">
                        <itm loc="en_EN">female</itm>
                        <itm loc="de_DE">weiblich</itm>
                    </domainVal>
                </domainVals>
            </attr>
        </node>
        <node class="Standard"
            id="15371"
            parentId="15370"
            parentPath="/Standard"
            path="/Standard/Bekleidung">
            <name/>
        </node>
    </nodes>
</pim>
4. To get a list of classifications by tids with nodes and attributes in tree structure
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/classes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "tids":["Standard"],
    "withNodes":true,
    "flatNodes": false
}'
Request body
{
    "tids":["Standard"],
    "withNodes":true,
    "flatNodes": false
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-21T09:15:21.161Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <classes>
        <class tid="Standard">
            <name/>
            <node class="Standard" id="15370" path="/Standard">
                <name/>
                <attr inheritance="visible"
                   key="gender"
                   level="p"
                   localized="true"
                   restriction="optional">
                    <domainVals allowNewValue="false" sortDirection="MANUAL">
                        <domainVal tid="female">
                            <itm loc="en_EN">female</itm>
                            <itm loc="de_DE">weiblich</itm>
                        </domainVal>
                    </domainVals>
                </attr>
                <node class="Standard"
                    id="15371"
                    parentId="15370"
                    parentPath="/Standard"
                    path="/Standard/Bekleidung">
                    <name/>
                </node>
            </node>
        </class>
    </classes>
</pim>
5. To get a list of all classifications
curl
Absent tids and ids lists
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/classes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{

}'
Absent ids and empty tids lists
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/classes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "tids": []
}'
Absent tids and empty ids list
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/classes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ids": []
}'
Request bodies
{
}
{
  "tids": []
}
{
  "ids": []
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-21T09:24:29.058Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <classes>
        <class tid="Standart">
            <name/>
        </class>
        <class tid="Standard">
            <name/>
        </class>
    </classes>
</pim>

Persist classifications

/pim/classes/persist Saves classifications and classification nodes with attributes.

Allow to

  1. Create classification

  2. Update classification

  3. Create classification nodes and nodes attributes

  4. Update classification nodes and nodes attributes

Table 83. Details

Resource path

/api/core/v1/pim/classes/persist

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters
Return Type

PimType with statuses ResponsesType about each persisted classification.

Responses
Table 84. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. Create a classification without nodes and attributes
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/classes/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-05T11:38:06.882Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <classes>
        <class tid="NewClassification">
        </class>
    </classes>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-05T11:38:06.882Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <classes>
        <class tid="NewClassification">
        </class>
    </classes>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-05T11:38:06.882Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <responses>
        <response dataType="classification" action="create" tid="NewClassification">
            <status>SUCCESS</status>
            <description>The classification has been created successfully</description>
        </response>
    </responses>
</pim>
2. Create or update a classification with localizations, nodes and attributes
A Classification must have a root node which name equals classification name. At First a root node must be created. After that the remaining nodes must be created.
Nodes are created/updated strictly in turn, as specified in the request.
A Root node does not have a parent node.
Be precise with classification tid values. A Classification will be created if it is not found by tid.
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/classes/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-11-17T03:22:30.207Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <classes>
        <class tid="Classification">
            <name>
                <itm loc="en_GB">Class_en</itm>
                <itm loc="de_DE">Class_de</itm>
            </name>
            <meta>
                ...
            </meta>
        </class>
    </classes>
    <nodes>
        <node class="Classification" id="00000" path="/Classification">
            <attr key="product_id"
                level="p"
                inheritance="visible"
                restriction="optional"
                localized="false"/>
        </node>
        <node class="Classification" id="00001" parentId="00000" path="/Classification/node" parentPath="/Classification">
            <attr key="product_title"
                level="p"
                inheritance="visible"
                restriction="optional"
                localized="true"/>
        </node>
        <node class="Classification" id="00002" parentId="00001" path="/Classification/node/node1" parentPath="/Classification/node">
            <attr key="description_long"
                level="p"
                inheritance="visible"
                restriction="optional"
                localized="true"/>
        </node>
    </nodes>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-11-17T03:22:30.207Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <classes>
        <class tid="Classification">
            <name>
                <itm loc="en_GB">Class_en</itm>
                <itm loc="de_DE">Class_de</itm>
            </name>
            <meta>
                ...
            </meta>
        </class>
    </classes>
    <nodes>
        <node class="Classification" id="00000" path="/Classification">
            <attr key="product_id"
                level="p"
                inheritance="visible"
                restriction="optional"
                localized="false"/>
        </node>
        <node class="Classification" id="00001" parentId="00000" path="/Classification/node" parentPath="/Classification">
            <attr key="product_title"
                level="p"
                inheritance="visible"
                restriction="optional"
                localized="true"/>
        </node>
        <node class="Classification" id="00002" parentId="00001" path="/Classification/node/node1" parentPath="/Classification/node">
            <attr key="description_long"
                level="p"
                inheritance="visible"
                restriction="optional"
                localized="true"/>
        </node>
    </nodes>
</pim>
Response bodies
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-11-17T03:22:30.207Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <responses>
        <response dataType="classification" action="create" tid="NewClassification">
            <status>SUCCESS</status>
            <description>The classification has been created successfully</description>
        </response>
    </responses>
</pim>
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-11-17T03:22:30.207Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <responses>
        <response dataType="classification" action="update" tid="NewClassification">
            <status>SUCCESS</status>
            <description>The classification has been saved successfully</description>
        </response>
    </responses>
</pim>
Error response examples
Classification not found when updating by id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-27T12:41:38.795Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <responses>
        <response dataType="classification" action="create">
            <status>ERROR</status>
            <description>There is no classification with the given identity '15342'</description>
        </response>
    </responses>
</pim>
Unable to create root node
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-27T12:41:38.795Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <responses>
        <response dataType="classification" action="create">
            <status>ERROR</status>
            <description>Unable to create the root node, identifier should match the classification name, classification: NewClassification, root node: NewClassification1</description>
        </response>
    </responses>
</pim>
Language code not found
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-27T12:41:38.795Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <responses>
        <response dataType="classification" action="create">
            <status>WARNING</status>
            <description>The classification has been saved successfully|Cannot find language id with code 'e_DE'.</description>
        </response>
    </responses>
</pim>
Classification localization already exists
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-27T12:41:38.795Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">classification</itm>
    </meta>
    <responses>
        <response dataType="classification" action="create">
            <status>WARNING</status>
            <description>The classification has been saved successfully|Unable to create new classification. Classification with name NewClassification-en already exist.</description>
        </response>
    </responses>
</pim>

Perform classifications

/pim/classes/perform Deletes classifications and classification nodes with attributes.
Table 85. Details

Resource path

/api/core/v1/pim/classes/perform

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Accepts PimType with ActionsType.

The API consumer should provide one of the classification identifiers tid or id to perform action/s on the classification.
Actions are performed by tid if both tid and id parameters are present in the request.
Return Type

PimType with statuses ResponsesType about each persisted classification.

Responses
Table 86. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. Delete classification by tid
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/classes/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="classification"
                tid="Classification"
                type="delete"/>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="classification"
                tid="Classification"
                type="delete"/>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-22T03:19:45.983Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="delete" dataType="classification" tid="Classification">
            <description>The classification has been deleted successfully</description>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
2. Delete classification by id
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/classes/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="classification"
                id="24101"
                type="delete"/>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="classification"
                id="24101"
                type="delete"/>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-22T03:25:07.523Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="delete" dataType="classification" id="24101">
            <description>The classification has been deleted successfully</description>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
Error response examples
Classification not found by id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-22T03:27:01.713Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="delete" dataType="classification" id="241001">
            <description>The classification not found by given id: '241001'</description>
            <status>ERROR</status>
        </response>
    </responses>
</pim>
Classification not found by tid
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-22T03:28:25.751Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="delete" dataType="classification" tid="ClassificationNotExists">
            <description>The classification not found by given tid: 'ClassificationNotExists'</description>
            <status>ERROR</status>
        </response>
    </responses>
</pim>
Wrong data type
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-22T03:31:16.094Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="delete" dataType="classification" tid="Classification">
            <description>The data type of the passed item is wrong. It must be 'classification'</description>
            <status>ERROR</status>
        </response>
    </responses>
</pim>
Missing tid and id request attributes
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-22T03:31:57.779Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="delete" dataType="classification">
            <description>Classification attributes missing: 'tid' or 'id' attribute must be</description>
            <status>ERROR</status>
        </response>
    </responses>
</pim>

Attribute definitions API

Provides operations on OMN Attribute definitions.

Get attribute definitions

/pim/attribute-definitions Gets information about all attribute definitions.
Table 87. Details

Resource path

/api/core/v1/pim/attribute-definitions

HTTP method

GET

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

No parameters required

Return Type
Responses
Table 88. Http response codes
Code Message Datatype

200

PimType with filled AttributeDefinitionsType

PimType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
To get a list of all attribute definitions
curl
curl --location --request GET 'http://<OMN_SERVER>/api/core/v1/pim/attribute-definitions' \
--header 'Authorization: Bearer <TOKEN>' \
--data-raw ''
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrDefs>
        <attrDef id="15210" tid="product_id" type="text">
            <name>
                <itm loc="en_EN">SKU product</itm>
                <itm loc="de_DE">SKU Produkt</itm>
            </name>
        </attrDef>
        <attrDef id="15219" tid="care_note" type="text">
            <domainVals allowNewValue="false" mode="FULL" sortDirection="MANUAL">
                <domainVal tid="Chlorine bleaching possible">
                    <itm loc="en_EN">Chlorine bleaching possible</itm>
                    <itm loc="de_DE">Chlorbleiche möglich</itm>
                </domainVal>
                ...
            </domainVals>
            <multiValued>true</multiValued>
            <name>
                <itm loc="en_EN">Care note</itm>
                <itm loc="de_DE">Pflegehinweis</itm>
            </name>
        </attrDef>
        ...
    </attrDefs>
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-23T07:20:36.916Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attrDefinition</itm>
    </meta>
</pim>

Query attribute definitions ids

/pim/attribute-definitions/query Gets attribute definition ids by allowed criteria.

Allows to get attribute definitions ids by:

  1. By type

Table 89. Details

Resource path

/api/core/v1/pim/attribute-definitions/query

HTTP method

POST

Request content type

application/json;

Response content type

application/json;

Body parameters
Return Type

Filled with attribute definitions ids AttributeDefinitionsRequest

Responses
Table 90. Http response codes
Code Message Datatype

200

Found attribute definitions ids

AttributeDefinitionsRequest

400

Invalid input error ResponseType

ResponseType

401

Not authorized

ResponseType

500

Error in ResponseType

ResponseType

Samples
To get a list of attribute definitions ids by types
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attribute-definitions/query' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
    "types": ["text", "date", "number", "boolean", "ref", "table"]
} '
Request body
{
    "types": ["text", "date", "number", "boolean", "ref", "table"]
}
Response body
{
    "ids": [
        15210,
        15211,
        15212,
        15213,
        15214,
        15215,
        15216,
        15217,
        15218,
        15219,
        15310,
        15311,
        15313,
        15314,
        15315,
        15316,
        15317,
        15318,
        30160,
        30161
    ],
    "all": false
}
List of types is empty
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attribute-definitions/query' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
    "types": []
} '
Request body
{
    "types": []
}
Response body
{
    "all": false
}

Retrieve attribute definitions

/pim/attribute-definitions/retrieve Retrieves information about attribute definitions.
Table 91. Details

Resource path

/api/core/v1/pim/attribute-definitions/retrieve

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters
  • ids: it might be used to get attribute definitions by id's

  • tids: it might be used to get attribute definitions by tid's

  • all: it might be used to get all attribute definitions. Default parameter value is false.

If all parameter value is true, tids and ids values are ignored.
Attribute definitions are retrieved by tids OR ids. ids are ignored if the request contains tids and ids.
Return Type
Responses
Table 92. Http response codes
Code Message Datatype

200

PimType with filled AttributeDefinitionsType

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. To get a list of attribute definitions by tids
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/attribute-definitions/retrieve' \
--header 'Authorization: Bearer <OMN_SERVER>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "tids": ["product_id", "product_title"]
}'
Request body
{
    "tids": ["product_id", "product_title"]
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrDefs>
        <attrDef id="15210" tid="product_id" type="text">
            <name>
                <itm loc="en_EN">SKU product</itm>
                <itm loc="de_DE">SKU Produkt</itm>
            </name>
        </attrDef>
        <attrDef id="15211" tid="product_title" type="text">
            <name>
                <itm loc="en_EN">Title</itm>
                <itm loc="de_DE">Titel</itm>
            </name>
        </attrDef>
    </attrDefs>
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-23T08:28:03.722Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attrDefinition</itm>
    </meta>
</pim>
2. To get a list of attribute definitions by ids
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/attribute-definitions/retrieve' \
--header 'Authorization: Bearer <OMN_SERVER>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ids": [15210,15211]
}'
Request body
{
    "ids": [15210,15211]
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrDefs>
        <attrDef id="15210" tid="product_id" type="text">
            <name>
                <itm loc="en_EN">SKU product</itm>
                <itm loc="de_DE">SKU Produkt</itm>
            </name>
        </attrDef>
        <attrDef id="15211" tid="product_title" type="text">
            <name>
                <itm loc="en_EN">Title</itm>
                <itm loc="de_DE">Titel</itm>
            </name>
        </attrDef>
    </attrDefs>
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-23T08:33:00.633Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attrDefinition</itm>
    </meta>
</pim>
3. To get a list of all attribute definitions
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/attribute-definitions/retrieve' \
--header 'Authorization: Bearer <OMN_SERVER>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "all": true
}'
Request body
{
    "all": true
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrDefs>
        <attrDef id="15210" tid="product_id" type="text">
            <name>
                <itm loc="en_EN">SKU product</itm>
                <itm loc="de_DE">SKU Produkt</itm>
            </name>
        </attrDef>
        <attrDef id="15219" tid="care_note" type="text">
            <domainVals allowNewValue="false" mode="FULL" sortDirection="MANUAL">
                <domainVal tid="Chlorine bleaching possible">
                    <itm loc="en_EN">Chlorine bleaching possible</itm>
                    <itm loc="de_DE">Chlorbleiche möglich</itm>
                </domainVal>
                ...
            </domainVals>
            <multiValued>true</multiValued>
            <name>
                <itm loc="en_EN">Care note</itm>
                <itm loc="de_DE">Pflegehinweis</itm>
            </name>
        </attrDef>
        ...
    </attrDefs>
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-23T07:20:36.916Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attrDefinition</itm>
    </meta>
</pim>

Perform attribute definitions

/pim/attribute-definitions/perform Deletes attribute definitions.

Allow to

  1. Delete attribute definition by id

  2. Delete attribute definition by identifier

Table 93. Details

Resource path

/api/core/v1/pim/attribute-definitions/perform

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Accepts PimType with ActionsType.

The API consumer should provide only one of the attribute definitions identifiers: identifiers or ids in all actions.
Return Type

PimType with statuses ResponsesType about each performed attribute definition.

Responses
Table 94. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. Delete attribute definition by identifier
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attribute-definitions/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T10:10:16.774Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="attrDefinition" tid="product_tid" type="delete"/>
    </actions>
 </pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T10:10:16.774Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="attrDefinition" tid="product_tid" type="delete"/>
    </actions>
 </pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-14T11:29:11.613Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="delete" dataType="attrDefinition" tid="product_tid">
            <description>The attribute definition has been deleted successfully</description>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
2. Delete attribute definition by id
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attribute-definitions/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T10:10:16.774Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="attrDefinition" id="45260" type="delete"/>
    </actions>
 </pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T10:10:16.774Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="attrDefinition" id="45260" type="delete"/>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-14T11:35:08.230Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="delete" dataType="attrDefinition" id="45260">
            <description>The attribute definition has been deleted successfully</description>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
Error response examples
The attribute definition does not exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-14T11:37:25.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="delete" dataType="attrDefinition" id="45260">
            <description>There is no attribute definition with the given tid or id</description>
            <status>ERROR</status>
        </response>
    </responses>
</pim>
The attribute definition could not be deleted
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-14T11:37:25.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="attrDefinition"
                tid="product_tid"
                action="delete">
            <status>ERROR</status>
            <description>The attribute definition could not be deleted. Reason: {errormessage}</description>
        </response>
    </responses>
</pim>

Persist attribute definitions

/pim/attribute-definitions/persist Creates or updates attribute definitions.

Allow to

  1. Create an attribute definition

  2. Update the attribute definition

Table 95. Details

Resource path

/api/core/v1/pim/attribute-definitions/persist

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Accepts PimType with filled AttributeDefinitionsType.

Table 96. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. Create an attribute definition
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attribute-definitions/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrDefs>
        <attrDef tid="product_tid" type="text">
            <name>
                <itm loc="en_GB">SKU product</itm>
                <itm loc="de_DE">SKU Produkt</itm>
            </name>
        </attrDef>
    </attrDefs>
</pim>'
Request body
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrDefs>
        <attrDef tid="product_tid" type="text">
            <name>
                <itm loc="en_GB">SKU product</itm>
                <itm loc="de_DE">SKU Produkt</itm>
            </name>
        </attrDef>
    </attrDefs>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-14T08:39:54.996Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="create" dataType="attrDefinition" tid="product_tid">
            <description>The attribute definition has been saved successfully</description>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
2. Update the attribute definition
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attribute-definitions/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrDefs>
        <attrDef tid="product_tid" type="text">
            <name>
                <itm loc="en_GB">New value</itm>
                <itm loc="de_DE">New value</itm>
            </name>
        </attrDef>
    </attrDefs>
</pim>'
Request body
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrDefs>
        <attrDef tid="product_tid" type="text">
            <name>
                <itm loc="en_GB">New value</itm>
                <itm loc="de_DE">New value</itm>
            </name>
        </attrDef>
    </attrDefs>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-14T08:39:54.996Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attrDefinition</itm>
    </meta>
    <responses>
        <response action="update" dataType="attrDefinition" tid="product_tid">
            <description>The attribute definition has been saved successfully</description>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
Error response examples
The attribute definition could not be saved
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:38:16.444Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attrDefinition</itm>
    </meta>
    <responses>
        <response dataType="attrDefinition"
                id="12345"
                tid="attrDefinitionIdentifier"
                action="update">
            <status>ERROR</status>
            <description>The attribute definition could not be saved. Reason: {errormessage}</description>
        </response>
    </responses>
</pim>
The attribute definition not found
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:38:16.444Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attrDefinition</itm>
    </meta>
    <responses>
        <response dataType="attrDefinition"
                id="54321"
                action="update">
            <status>ERROR</status>
            <description>No attribute definition by id: 54321</description>
        </response>
    </responses>
</pim>

Attributes API

Provides operations on OMN node attributes.

Query attributes

/pim/attributes/query Gets list of attribute IDs.

Allow to query attributes ids by:

  1. Product tid

  2. Product id

  3. Node id

  4. Node path

includeParentAttributes parameter indicates whether to query inherited attributes.
includeParentAttributes parameters default value is false for querying by nodeId or nodePath. Querying by productTid or productId is always with inherited attributes and this parameter is ignored.
Table 97. Details

Resource path

/api/core/v1/pim/attributes/query

HTTP method

POST

Request content type

application/json;

Response content type

application/json;

Body parameters
Return Type

AttributesRequest with attributes ids.

Responses
Table 98. Http response codes
Code Message Datatype

200

Found attributes ids.

AttributesRequest

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
1.Query attributes by product id
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attributes/query' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
     "productId": [65874]
}'
Request body
{
     "productId": [65874]
}
Response body
{
    "ids": [75662, 34345, 43213]
}
2.Query attributes by product tid
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attributes/query' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
     "productTid": [150185]
}'
Request body
{
     "productTid": [150185]
}
Response body
{
    "ids": [75662, 34345, 43213]
}
3.Query attributes by node id
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attributes/query' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
     "nodeId": [96648]
}'
Request body
{
     "nodeId": [96648]
}
Response body
{
    "ids": [75662, 34345, 43213]
}
4.Query attributes by node path with inherited attributes
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attributes/query' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
     "nodePath": [96648],
     "includeParentAttributes": true
}'
Request body
{
     "nodePath": [96648],
     "includeParentAttributes": true
}
Response body
{
    "ids": [75662, 34345, 43213, 96884, 55478]
}

Retrieve attributes

/pim/attributes/retrieve Retrieves attributes information.

Allow to retrieve attributes by:

  1. list of ids

  2. list of product ids

  3. list of product tids

  4. list of node ids

  5. list of node paths

  • withDomainValues parameter indicates whether to query attributes with domain values. By default, withDomainValues parameter is false.

  • withDefaultValues parameter indicates whether to query attributes with default values. By default, withDomainValues parameter is false.

  • includeParentAttributes parameter indicates whether to query inherited attributes.

includeParentAttributes parameters default value is false for querying by nodeIds or nodePaths. Querying by productTids or productIds is always with inherited attributes and this parameter is ignored.
Table 99. Details

Resource path

/api/core/v1/pim/attributes/retrieve

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters
Only one of input parameters ids, productIds, productTids, nodeIds or nodePaths should be specified in request.
Return Type

PimType with filled AttributesType.

Responses
Table 100. Http response codes
Code Message Datatype

200

PimType with filled AttributesType

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
1.Retrieve attributes by ids parameter with Domain Values and Default Values
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attributes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
     "ids": [46190],
     "withDomainValues": true,
     "withDefaultValues": true
}'
Request body
{
     "ids": [46190],
     "withDomainValues": true,
     "withDefaultValues": true
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrs>
        <attr id="46190" inheritance="not_visible" key="new1" level="p" localized="false" restriction="optional">
            <defaultVal tid="domain1"/>
            <domainVals allowNewValue="false" mode="FULL" sortDirection="MANUAL">
                <domainVal tid="domain1">
                    <itm loc="en_GB">domain1-en</itm>
                    <itm loc="de_DE">domain1-de</itm>
                </domainVal>
            </domainVals>
        </attr>
    </attrs>
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-20T08:13:06.210Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
</pim>
2.Retrieve attributes by productTids parameter with parent attributes, Domain Values and Default Values
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attributes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
     "productTids": ["ec98dde6-4064-465d-a1fb-237e2f10a336"],
     "withDomainValues": true,
     "withDefaultValues": true
}'
Request body
{
     "productTids": ["ec98dde6-4064-465d-a1fb-237e2f10a336"],
     "withDomainValues": true,
     "withDefaultValues": true
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrs>
        <attr id="44793" inheritance="not_visible" key="new2" level="p" localized="false" restriction="optional"/>
        <attr id="46190" inheritance="not_visible" key="new1" level="p" localized="false" restriction="optional">
            <defaultVal tid="domain1"/>
            <domainVals allowNewValue="false" mode="FULL" sortDirection="MANUAL">
                <domainVal tid="domain1">
                    <itm loc="en_GB">domain1-en</itm>
                    <itm loc="de_DE">domain1-dee</itm>
                </domainVal>
            </domainVals>
        </attr>
    </attrs>
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-20T08:22:32.516Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
</pim>
3.Retrieve attributes by productIds parameter with parent attributes and without Domain Values and Default Values
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attributes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
     "productIds": [44812]
}'
Request body
{
     "productIds": [44812]
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrs>
        <attr id="44793" inheritance="not_visible" key="new2" level="p" localized="false" restriction="optional"/>
        <attr id="46190" inheritance="not_visible" key="new1" level="p" localized="false" restriction="optional">
        </attr>
    </attrs>
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-20T08:22:32.516Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
</pim>
4.Retrieve attributes by nodeIds parameter with parent attributes, without Domain Values and Default Values
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attributes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
     "nodeIds": [34812],
     "includeParentAttributes": true
}'
Request body
{
     "nodeIds": [34812],
     "includeParentAttributes": true
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrs>
        <attr id="44793" inheritance="not_visible" key="new2" level="p" localized="false" restriction="optional"/>
        <attr id="46190" inheritance="not_visible" key="new1" level="p" localized="false" restriction="optional">
        </attr>
    </attrs>
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-20T08:22:32.516Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
</pim>
5.Retrieve attributes by nodePaths parameter without parent attributes, Domain Values and Default Values
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attributes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
     "nodePaths": ["RootNode/ChildNode"]
}'
Request body
{
     "nodePaths": ["RootNode/ChildNode"]
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrs>
        <attr id="46190" inheritance="not_visible" key="new1" level="p" localized="false" restriction="optional">
        </attr>
    </attrs>
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-20T08:22:32.516Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
</pim>

Persist attributes

/pim/attributes/persist Saves node attributes information.

Allow to

  1. Create the attribute

  2. Update attribute values (AttributeType.vals)

Table 101. Details

Resource path

/api/core/v1/pim/attributes/persist

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Accepts PimType with AttributesType

When creating attribute nodePath or nodeId parameters must be specified.

When updating attributes one of parameters combination below must be used:

  • attribute id

  • nodeId and attribute key

  • nodePath and attribute key

Attribute parameter key is attribute definition value.
Return Type

PimType with statuses ResponsesType about each persisted attribute.

Responses
Table 102. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
1.Create attribute by node id
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/attributes/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrs>
        <attr nodeId="23456"
            key="gender"
            level="p"
            inheritance="visible"
            restriction="optional"
            localized="true">
            <domainVals allowNewValue="false" sortDirection="MANUAL">
                <domainVal tid="female">
                    <itm loc="en_EN">female</itm>
                    <itm loc="de_DE">weiblich</itm>
                </domainVal>
            </domainVals>
        </attr>
    </attrs>
</pim>'
Request body
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrs>
        <attr nodeId="23456"
            key="gender"
            level="p"
            inheritance="visible"
            restriction="optional"
            localized="true">
            <domainVals allowNewValue="false" sortDirection="MANUAL">
                <domainVal tid="female">
                    <itm loc="en_EN">female</itm>
                    <itm loc="de_DE">weiblich</itm>
                </domainVal>
            </domainVals>
        </attr>
    </attrs>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-27T12:41:38.795Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attribute</itm>
    </meta>
    <responses>
        <response dataType="attribute" action="create" id="95547" nodeId="23456">
            <status>SUCCESS</status>
            <description>The attribute has been created successfully</description>
        </response>
    </responses>
</pim>
2.Create attribute by node path
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/attributes/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrs>
        <attr nodePath="/RootNode/someNode"
            inheritance="visible"
            key="product_id"
            level="p"
            localized="false"
            restriction="optional"/>
    </attrs>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrs>
        <attr nodePath="/RootNode/someNode"
            inheritance="visible"
            key="product_id"
            level="p"
            localized="false"
            restriction="optional"/>
    </attrs>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-27T12:41:38.795Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attribute</itm>
    </meta>
    <responses>
        <response dataType="attribute" action="create" id="95547" nodePath="/RootNode/someNode">
            <status>SUCCESS</status>
            <description>The attribute has been created successfully</description>
        </response>
    </responses>
</pim>
3.Update attribute by attribute id
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/attributes/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrs>
        <attr id="95547"
            inheritance="visible"
            key="product_id"
            level="p"
            localized="false"
            restriction="optional"/>
    </attrs>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrs>
        <attr id="95547"
            inheritance="visible"
            key="product_id"
            level="p"
            localized="false"
            restriction="optional"/>
    </attrs>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-27T12:41:38.795Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attribute</itm>
    </meta>
    <responses>
        <response dataType="attribute" action="update" id="95547">
            <status>SUCCESS</status>
            <description>The attribute has been saved successfully</description>
        </response>
    </responses>
</pim>
4.Update attribute by nodePath and attribute key
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/attributes/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrs>
        <attr nodePath="/RootNode/someNode"
            inheritance="visible"
            key="product_id"
            level="p"
            localized="false"
            restriction="optional"/>
    </attrs>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrs>
        <attr nodePath="/RootNode/someNode"
            inheritance="visible"
            key="product_id"
            level="p"
            localized="false"
            restriction="optional"/>
    </attrs>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-27T12:41:38.795Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attribute</itm>
    </meta>
    <responses>
        <response dataType="attribute" action="update" nodePath="/RootNode/someNode" key="product_id">
            <status>SUCCESS</status>
            <description>The attribute has been saved successfully</description>
        </response>
    </responses>
</pim>
5.Update attribute by nodeId and attribute key
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/attributes/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrs>
        <attr nodeId="65425"
            inheritance="visible"
            key="product_id"
            level="p"
            localized="false"
            restriction="optional"/>
    </attrs>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <attrs>
        <attr nodeId="65425"
            inheritance="visible"
            key="product_id"
            level="p"
            localized="false"
            restriction="optional"/>
    </attrs>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-27T12:41:38.795Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attribute</itm>
    </meta>
    <responses>
        <response dataType="attribute" action="update" nodeId="65425" key="product_id">
            <status>SUCCESS</status>
            <description>The attribute has been saved successfully</description>
        </response>
    </responses>
</pim>
Error responses
Attribute not found by attribute id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-27T08:49:34.889Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attribute</itm>
    </meta>
    <responses>
        <response action="update" dataType="attribute" key="product_id">
            <status>ERROR</status>
            <description>Attribute with id 23456 was not found.</description>
        </response>
    </responses>
</pim>
Node not found by node id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-27T08:52:40.287Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attribute</itm>
    </meta>
    <responses>
        <response action="create"
                dataType="attribute"
                key="product_id"
                nodeId="23456">
            <status>ERROR</status>
            <description>Node with id 23456 not found</description>
        </response>
    </responses>
</pim>
Node not found by nodePath
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-27T08:53:36.908Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attribute</itm>
    </meta>
    <responses>
        <response action="create"
                dataType="attribute"
                key="product_id"
                nodePath="RootNode/someNode">
            <status>ERROR</status>
            <description>Node with path RootNode/someNode not found</description>
        </response>
    </responses>
</pim>
Attribute definition not found
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-27T08:55:28.589Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">attribute</itm>
    </meta>
    <responses>
        <response action="create"
                dataType="attribute"
                key="not_exists"
                nodePath="RootNode/someNod">
            <status>ERROR</status>
            <description>Attribute definition: 'not_exists' cannot be found</description>
        </response>
    </responses>
</pim>

Perform attributes

/pim/attributes/perform Deletes attributes.

Allow to

  1. Delete attribute definition by id

Table 103. Details

Resource path

/api/core/v1/pim/attributes/perform

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Accepts PimType with ActionsType.

Return Type

PimType with statuses ResponsesType about each performed attribute.

Responses
Table 104. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
1. Delete attribute by id
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/attributes/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T10:10:16.774Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="attribute" id="98756" type="delete"/>
    </actions>
 </pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T10:10:16.774Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="attribute" id="98756" type="delete"/>
    </actions>
 </pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-14T11:29:11.613Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="delete" dataType="attribute" id="98756">
            <description>Attribute definition has been deleted successfully</description>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
Error response examples
The attribute does not exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-14T11:37:25.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="delete" dataType="attribute" id="45260">
            <description>Attribute not found with given id</description>
            <status>ERROR</status>
        </response>
    </responses>
</pim>
The attribute id is missing in request
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-14T11:37:25.990Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="attribute" action="delete">
            <status>ERROR</status>
            <description>"Attribute 'id' is required to process attribute deletion"</description>
        </response>
    </responses>
</pim>

Classification Nodes API

Provides operations on OMN Classification nodes.

Query classification nodes

/pim/nodes/query Gets node ids.

Allow to query classification nodes ids by:

  1. product tid

  2. product id

  3. attribute definition id

  4. attribute definition tid

  5. attribute id

Table 105. Details

Resource path

/api/core/v1/pim/nodes/query

HTTP method

POST

Request content type

application/json;

Response content type

application/json;

API restriction for users without admin role - endpoint is not available.
Body parameters

Specified by NodesQueryRequest

Return Type

Specified by NodesRequest

Responses
Table 106. Http response codes
Code Message Datatype

200

Found classification nodes ids.

NodesRequest

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Query classification nodes
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/pim/nodes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
     "productId": 123
}'
Request body. By product id
{
    "productId": 18765
}
Request body. By product tid
{
    "productTid": "A239A197-5287-494A-B5EE-36F3EB0E95AB"
}
Request body. By attribute id
{
    "attributeId": "986655"
}
Request body. By attribute definition id
{
    "attributeDefinitionId": "778554"
}
Request body. By attribute definition tid
{
    "attributeDefinitionTid": "7D534991-B623-418C-A7CB-A273C877A37D"
}
Response body
{
    "ids": [756362, 34345, 43213],
    "level": 1
}

Retrieve classification nodes

/pim/nodes/retrieve Returns nodes structure with attributes.
Table 107. Details

Resource path

/api/core/v1/pim/nodes/retrieve

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

API restriction for users without admin role - endpoint is not available.
Body parameters

Specified by NodesRequest

Return Type

PimType with filled ClassificationNodesType. Represents flatten tree structure

Responses
Table 108. Http response codes
Code Message Datatype

200

PimType with list of nodes

PimType

500

Error in ResponseType

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Get a root node of the classification by tid/id
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/pim/nodes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "classificationId": 18765
}'
Request body. By id
{
    "classificationId": 18765
}
Request body. By tid
{
    "classificationTid": "Standard"
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-27T12:41:38.795Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">node</itm>
    </meta>
    <nodes>
        <node id="15270"
            path="/"
            tid="Standard">
            <name/>
        </node>
    </nodes>
</pim>
Get children of node by path
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/pim/nodes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "path": "/Root",
    "level": 1
}'
Request body
{
    "path": "/Standard",
    "level": 1
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-27T12:41:38.795Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">node</itm>
    </meta>
    <nodes>
        <node id="15271" parentId="15270" path="/Standard/Bekleidung" tid="Bekleidung">
            <name/>
        </node>
        <node id="114740" parentId="15270" path="/Standard/Test" tid="Test">
            <name/>
        </node>
    </nodes>
</pim>
Get nodes by ids
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/pim/nodes/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ids": [114740]
}'
Request body
{
    "ids": [114740]
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-09-27T12:41:38.795Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">node</itm>
    </meta>
    <nodes>
        <node id="114740" parentId="15270" path="/Standard/Test" tid="Test">
            <name/>
        </node>
    </nodes>
</pim>
Error responses
No path or id or classificationId in the request
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">3de17988-a17c-4341-bf57-024753d636c8</itm>
    </details>
    <issues>
        <itm key="code">1001</itm>
        <itm key="description">Invalid input provided</itm>
        <itms type="details">
            <itm key="errorMessage">Path or ids array or classificationId should be provided to get nodes</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>
Level should not be 0
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">1737617c-3718-411a-b113-5121d8b679bb</itm>
    </details>
    <issues>
        <itm key="code">1001</itm>
        <itm key="description">Invalid input provided</itm>
        <itms type="details">
            <itm key="errorMessage">The level should not be 0</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>

Persist classification nodes

/pim/nodes/persist Saves nodes structure. Several nodes could be persisted.
Table 109. Details

Resource path

/api/core/v1/pim/nodes/persist

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

API restriction for users without admin role - endpoint is not available.
Body parameters
Return Type

PimType with statuses ResponsesType about each persisted node.

Responses
Table 110. Http response codes
Code Message Datatype

200

PimType with responses

PimType

500

Error in ResponseType

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Create a node
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/pim/nodes/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml; charset=UTF-8;' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <nodes>
       <node
         parentId="123"
         tid="Accessories">
           <name>
             <itm loc="en_EN">Accessories EN</itm>
             <itm loc="de_DE">Accessories DE</itm>
             <itm loc="fr_FR">Accessories FR</itm>
            </name>
       </node>
    </nodes>
</pim>'
Request body. By parent id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <nodes>
       <node
         parentId="123"
         tid="Accessories">
           <name>
             <itm loc="en_EN">Accessories EN</itm>
             <itm loc="de_DE">Accessories DE</itm>
             <itm loc="fr_FR">Accessories FR</itm>
            </name>
       </node>
    </nodes>
</pim>
Request body. By parent path
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
   <nodes>
       <node
         parentPath="/Standard/Bekleidung"
         tid="Accessories">
           <name>
             <itm loc="en_EN">Accessories EN</itm>
             <itm loc="de_DE">Accessories DE</itm>
             <itm loc="fr_FR">Accessories FR</itm>
            </name>
       </node>
    </nodes>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-10-21T08:22:23.363Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="create"
                dataType="classNode"
                id="110140"
                path="/Standard/Bekleidung/Accessories"
                tid="Accessories">
            <status>SUCCESS</status>
            <description>Node has been saved</description>
        </response>
    </responses>
</pim>
Create a root node
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/pim/nodes/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml; charset=UTF-8;' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
   <nodes>
       <node
         classificationTid="Standart"
         tid="Standart">
           <name>
             <itm loc="en_EN">Standart EN</itm>
             <itm loc="de_DE">Standart DE</itm>
            </name>
       </node>
    </nodes>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
   <nodes>
       <node
         classificationTid="Standart"
         tid="Standart">
           <name>
             <itm loc="en_EN">Standart EN</itm>
             <itm loc="de_DE">Standart DE</itm>
            </name>
       </node>
    </nodes>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-10-21T08:22:23.363Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="create"
                dataType="classNode"
                id="11040"
                path="/Standard"
                tid="Standart">
            <status>SUCCESS</status>
            <description>Node has been saved</description>
        </response>
    </responses>
</pim>
Update a node
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/pim/nodes/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml; charset=UTF-8;' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <nodes>
        <node path="/Standard"  tid="Standard">
           <name>
               <itm loc="en_EN">Standard EN 1</itm>
               <itm loc="fr_FR">Standard FR 1</itm>
            </name>
        </node>
    </nodes>
</pim>'

Several nodes could be persisted.

Request body. By path
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <nodes>
        <node path="/Standard"  tid="Standard">
           <name>
               <itm loc="en_EN">Standard EN 1</itm>
               <itm loc="fr_FR">Standard FR 1</itm>
            </name>
        </node>
    </nodes>
</pim>
Request body. By id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <nodes>
        <node id="654332" tid="Standard">
           <name>
               <itm loc="en_EN">Standard EN 1</itm>
               <itm loc="fr_FR">Standard FR 1</itm>
            </name>
        </node>
    </nodes>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-10-21T08:22:23.363Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="update"
                dataType="classNode"
                id="654332"
                path="/Standard"
                tid="Standart">
            <status>SUCCESS</status>
            <description>Node has been saved</description>
        </response>
    </responses>
</pim>
Error responses
Creation. No parent node by id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-11-04T13:56:20.501Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="create" dataType="classNode" tid="AAAA12">
            <status>ERROR</status>
            <description>An error occurred while node creation. Parent node path: null, or id: 1147412, node: AAAA12, the reason: Node with id 1147412 does not exist.</description>
        </response>
    </responses>
</pim>
Creation. No parent node by path
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-11-04T13:56:20.501Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="create" dataType="classNode" tid="AAAA11">
            <status>ERROR</status>
            <description>An error occurred while node creation. Parent node path: /Root/node1, or id: null, node: AAAA11, the reason: Node with path '[Root, node1]' does not exist.</description>
        </response>
    </responses>
</pim>
Update. No node by id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-11-04T13:57:20.483Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="update"
                dataType="classNode"
                id="1147423"
                path="/Standard/AAAA1/AAAA12"
                tid="AAAA12">
            <status>ERROR</status>
            <description>Node with id 1147423 does not exist.</description>
        </response>
    </responses>
</pim>
Update. No node by path
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-11-04T13:57:20.483Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="update"
                dataType="classNode"
                path="/Standard/AAAA1/AAAA12/Gürtel"
                tid="Gürtel">
            <status>ERROR</status>
            <description>Node with path '[Standard, AAAA1, AAAA12, Gürtel]' does not exist.</description>
        </response>
    </responses>
</pim>
No access to the endpoint
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">bb58d0b5-231a-4097-bd05-9c447615899c</itm>
    </details>
    <issues>
        <itm key="code">1010</itm>
        <itm key="description">Access to the requested resource endpoint is forbidden</itm>
        <itms type="details">
            <itm key="errorMessage">Nodes persist API is restricted for users</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>
No classification by identifier
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-11-04T13:48:55.442Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="create" dataType="classNode" tid="AAAA111">
            <status>ERROR</status>
            <description>An error occurred while node creation. Parent node path: null, or id: null, node: AAAA111, the reason: No classification by name: Standard1</description>
        </response>
    </responses>
</pim>

Perform actions on classification nodes

/pim/nodes/perform Deletes nodes.

Available action types:

  1. Delete

Table 111. Details

Resource path

/api/core/v1/pim/nodes/perform

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Some actions require additional info that should be provided in MetaType in key/value way.

ActionType's type is required and be provided. Possible values:

  1. delete

ActionType's dataType is - classNode

Tables legend

"As <action> attribute" describes, that parameter is in the xml attribute of <action> tag. Otherwise, parameter should be in ItemType.

"Required groups" - one of parameter in the one group is required e.g. entity identifier (e.g. tid or id or path)

Table 112. Delete action parameters
Parameter Name As <action> attribute Required Type Description Format

id

X

X G1

Long

id of the node that should be deleted

path

X

X G1

string

path of the node that should be deleted

Return Type

PimType with filled ResponsesType

Response types contains status information about each action passed to perform.

Responses
Actions are processed separately. Exceptions thrown during the execution of actions will be reported in ResponseType.
Table 113. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType.

PimType

400

Invalid input provided

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Delete
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/pim/nodes/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="classNode" id="759365" type="delete"/>
    </actions>
</pim>'
Request body. By id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="classNode" id="759365" type="delete"/>
    </actions>
</pim>
Request body. By path
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="classNode" path="/Root/Node1/Node1.1/" type="delete"/>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:24:53.286Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
   <responses>
        <response dataType="classNode"
                id="759365"
                action="delete">
            <status>SUCCESS</status>
            <description>The node has been deleted successfully</description>
        </response>
    </responses>
</pim>
Error responses
No node by identifier
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:36:54.983Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="classNode"
                id="4444"
                action="delete">
            <status>ERROR</status>
            <description>There is no node with the given path or id</description>
        </response>
    </responses>
</pim>
Exception during removing
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:38:16.444Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="classNode"
                id="4444"
                action="delete">
            <status>ERROR</status>
            <description>The node could not be deleted. Reason: {errormessage}</description>
        </response>
    </responses>
</pim>
No access to the endpoint action
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-10-11T12:14:28.978Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="classNode">
            <status>ERROR</status>
            <description>Nodes delete API is restricted for the user</description>
        </response>
    </responses>
</pim>

Products API

Provides operations on OMN products and related product information.

Persist products

/pim/products/persist Saves products information and product attributes details.

Allow to

  1. Create a Product / Article / Variation

  2. Rename Product / Article / Variation

  3. Change attribute values (ProductType.vals)

Table 114. Details

Resource path

/api/core/v1/pim/products/persist

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Product attribute persisting

Asset attributes are stored in ProductType .vals. More info about product attributes

Only provided attribute values are persisted, other values that are not provided in ProductType.vals will be not changed.
Only values of attributes registered in OMN could be saved.
Body parameters

Accepts PimType with ProductsType

Return Type

PimType with statuses ResponsesType about each persisted product.

Responses
Table 115. Http response codes
Code Message Datatype

200

PimType with list of responses

PimType

500

Error in ResponseType

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/pim/products/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '<BODY>'
1. Create a new Product
Request body

Without Product tid:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <products>
        <product>
            <name>Product1</name>
            <node>/RootNode/Node</node>
        </product>
    </products>
</pim>

With specified tid:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <products>
        <product tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281">
            <name>Product1</name>
            <node>/RootNode/Node</node>
        </product>
    </products>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T08:05:35.462Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">product</itm>
    </meta>
    <responses>
        <response dataType="product"
                tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281"
                action="create">
            <status>SUCCESS</status>
            <description>The product has been saved successfully</description>
        </response>
    </responses>
</pim>
2. Create a new Article
Request body

Without Article tid:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <products>
        <product tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281">
            <articles>
                <article>
                    <name>Article1</name>
                </article>
            </articles>
        </product>
    </products>
</pim>

With specified tid:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <products>
        <product tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281">
            <articles>
                <article tid="e8712bfd-6701-4833-9197-b259ea42dd84">
                    <name>Article1</name>
                </article>
            </articles>
        </product>
    </products>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T08:05:35.462Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">product</itm>
    </meta>
    <responses>
        <response dataType="article"
                tid="28E09C5F-9F23-4274-8BB5-4E0924D52076"
                action="create">
            <status>SUCCESS</status>
            <description>The article has been saved successfully</description>
        </response>
    </responses>
</pim>
3. Create a new Variation
Request body

Without Variation tid:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <products>
        <product tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281">
            <articles>
                <article tid="e8712bfd-6701-4833-9197-b259ea42dd84">
                    <variants>
                        <variant>
                            <name>Variant1</name>
                        </variant>
                    </variants>
                </article>
            </articles>
        </product>
    </products>
</pim>

With specified tid:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <products>
        <product tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281">
            <articles>
                <article tid="e8712bfd-6701-4833-9197-b259ea42dd84">
                    <variants>
                        <variant tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281">
                            <name>Variant1</name>
                        </variant>
                    </variants>
                </article>
            </articles>
        </product>
    </products>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T08:05:35.462Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">product</itm>
    </meta>
    <responses>
        <response dataType="variant"
                tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281"
                action="create">
            <status>SUCCESS</status>
            <description>The variant has been saved successfully</description>
        </response>
    </responses>
</pim>
4. Rename Product
Request body

By id:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <products>
        <product>
            <meta>
                <itm key="id">26594</itm>
            </meta>
            <name>Product2</name>
        </product>
    </products>
</pim>

By tid:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <products>
        <product tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281">
            <name>Product2</name>
        </product>
    </products>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T08:05:35.462Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">product</itm>
    </meta>
    <responses>
        <response dataType="product"
                tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281"
                action="update">
            <status>SUCCESS</status>
            <description>The product has been saved successfully</description>
        </response>
    </responses>
</pim>
5. Rename Article
Request body

By id:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
<products>
    <product tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281">
        <articles>
            <article>
                <meta>
                    <itm key="id">21655</itm>
                </meta>
                <name>Article2</name>
            </article>
        </articles>
    </product>
</products>
</pim>

By tid:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <products>
        <product tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281">
            <articles>
                <article tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281">
                    <name>Article2</name>
                </article>
            </articles>
        </product>
    </products>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T08:05:35.462Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">product</itm>
    </meta>
    <responses>
        <response dataType="article"
                tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281"
                action="update">
            <status>SUCCESS</status>
            <description>The article has been saved successfully</description>
        </response>
    </responses>
</pim>
6. Rename Variation
Request body

By id:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
<products>
    <product tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281">
        <articles>
            <article tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281">
                <variants>
                    <variant>
                        <meta>
                            <itm key="id">20444</itm>
                        </meta>
                        <name>Variant2</name>
                    </variant>
                </variants>
            </article>
        </articles>
    </product>
</products>
</pim>

By tid:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <products>
        <product tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281">
            <articles>
                <article tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281">
                    <variants>
                        <variant tid="e8712bfd-6701-4833-9197-b259ea42dd84">
                            <name>Variant2</name>
                        </variant>
                    </variants>
                </article>
            </articles>
        </product>
    </products>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T08:05:35.462Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">product</itm>
    </meta>
    <responses>
        <response dataType="variant"
                tid="e8712bfd-6701-4833-9197-b259ea42dd84"
                action="update">
            <status>SUCCESS</status>
            <description>The variant has been saved successfully</description>
        </response>
    </responses>
</pim>
7. Save product attributes and new name
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <products>
        <product tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281">
            <name>Product2</name>
            <vals>
                <val attr="STRING_SIMPLE">
                    <itm>string</itm>
                </val>
                <val attr="NUMBER_SIMPLE">
                    <itm>6395629</itm>
                </val>
                <val attr="ENUMERATION_L" type="multi_loc">
                    <i18n loc="en_EN">
                        <itm pos="0">Brown</itm>
                        <itm pos="1">Yellow</itm>
                    </i18n>
                </val>
            </vals>
        </product>
    </products>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T08:05:35.462Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">product</itm>
    </meta>
    <responses>
        <response dataType="product"
                tid="73c7992f-5f66-4d99-9ca7-9efa3f1b8281"
                action="create">
            <status>SUCCESS</status>
            <description>The product has been saved successfully</description>
        </response>
    </responses>
</pim>
Error responses
Product creation failed
Duplicate name
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T08:05:35.462Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">product</itm>
    </meta>
    <responses>
        <response dataType="product"
                tid="28E09C5F-9F23-4274-8BB5-4E0924D52076"
                action="create">
            <status>ERROR</status>
            <description>An error while doing action 'create' with the product, tid: '28E09C5F-9F23-4274-8BB5-4E0924D52076', caused by: Unable to create or update product. Product name is duplicated.</description>
        </response>
    </responses>
</pim>
Non-existing classification node
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T08:05:35.462Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">product</itm>
    </meta>
    <responses>
        <response dataType="product"
                tid="28E09C5F-9F23-4274-8BB5-4E0924D52076"
                action="create">
            <status>ERROR</status>
            <description>An error while product classification, caused by: 'Node with path '[Standard, Bekleidung, Herren, Unterteile, Jeans2]' does not exist.</description>
        </response>
    </responses>
</pim>
Article creation failed
Duplicate name
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T08:05:35.462Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">product</itm>
    </meta>
    <responses>
        <response dataType="article"
                tid="28E09C5F-9F23-4274-8BB5-4E0924D52076"
                action="create">
            <status>ERROR</status>
            <description>An error while doing action 'create' with the article, tid: '28E09C5F-9F23-4274-8BB5-4E0924D52076', caused by: Unable to create or update product. Product name is duplicated.</description>
        </response>
    </responses>
</pim>
Variation creation failed
Duplicate name
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T08:05:35.462Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">product</itm>
    </meta>
    <responses>
        <response dataType="variant"
                tid="28E09C5F-9F23-4274-8BB5-4E0924D52076"
                action="create">
            <status>ERROR</status>
            <description>An error while doing action 'create' with the variation, tid: '28E09C5F-9F23-4274-8BB5-4E0924D52076', caused by: Unable to create or update product. Product name is duplicated.</description>
        </response>
    </responses>
</pim>
Product update failed
Duplicate name
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T08:05:35.462Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">product</itm>
    </meta>
    <responses>
        <response dataType="product"
                tid="28E09C5F-9F23-4274-8BB5-4E0924D52076"
                action="update">
            <status>ERROR</status>
            <description>An error while doing action 'update' with the product, tid: '28E09C5F-9F23-4274-8BB5-4E0924D52076', caused by: Unable to create or update product. Product name is duplicated.</description>
        </response>
    </responses>
</pim>
Article update failed
Duplicate name
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T08:05:35.462Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">product</itm>
    </meta>
    <responses>
        <response dataType="article"
                tid="28E09C5F-9F23-4274-8BB5-4E0924D52076"
                action="create">
            <status>ERROR</status>
            <description>An error while doing action 'create' with the article, tid: '28E09C5F-9F23-4274-8BB5-4E0924D52076', caused by: Unable to create or update product. Product name is duplicated.</description>
        </response>
    </responses>
</pim>
Variation update failed
Duplicate name
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-30T08:05:35.462Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">product</itm>
    </meta>
    <responses>
        <response dataType="variant"
                tid="28E09C5F-9F23-4274-8BB5-4E0924D52076"
                action="update">
            <status>ERROR</status>
            <description>An error while doing action 'update' with the variant, tid: '28E09C5F-9F23-4274-8BB5-4E0924D52076', caused by: Unable to create or update product. Product name is duplicated.</description>
        </response>
    </responses>
</pim>
No access to endpoint
Duplicate name
<?xml version="1.0" encoding="UTF-8"?>
<response xmlns="http://www.apollon.de/omn">
    <details>
        <itm key="supportId">e7f3eeb5-82c3-4928-88cc-cdf6bec08d25</itm>
    </details>
    <issues>
        <itm key="code">1010</itm>
        <itm key="description">Access to the requested resource endpoint is forbidden</itm>
        <itms type="details">
            <itm key="errorMessage">Products persist is restricted for users</itm>
        </itms>
    </issues>
    <status>ERROR</status>
</response>

Perform actions on products

/pim/products/perform Deletes / copies products.

Available action types:

  1. Delete

  2. Copy

Copy action
Product copy will be available in the same product parent.
Table 116. Details

Resource path

/api/core/v1/pim/products/perform

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Some actions require additional info that should be provided in MetaType in key/value way.

ActionType's type is required and must be provided. Possible values:

  1. delete

  2. copy

ActionType's dataType is - product

Tables legend

"As <action> attribute" describes, that parameter is in the xml attribute of <action> tag. Otherwise, parameter should be in ItemType.

"Required groups" - one of parameter in the one group is required e.g. entity identifier (tid or id)

Table 117. Delete action parameters
Parameter Name As <action> attribute Required Type Description Format

id

X

X G1

Long

id of the product that should be deleted

tid

X

X G1

string

tid of the product that should be deleted

Table 118. Copy action parameters
Parameter Name As <action> attribute Required Type Description Format

id

X

X G1

Long

id of the product that should be copied

tid

X

X G1

string

tid of the product that should be copied

newProductName

X

string

new name of the product that should be copied

newProductTid

string

new tid of the product that should be copied

Return Type

PimType with filled ResponsesType

Response types contains status information about each action passed to perform.

Responses
Actions are processed separately. Exceptions thrown during the execution of actions will be reported in ResponseType.
Table 119. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType.

PimType

400

Invalid input provided

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Delete
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/pim/products/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="product" tid="37590039-3AEA-4A13-9C3A-C6EC3C94ADCE" type="delete"/>
    </actions>
</pim>'
Request body. By tid
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="product" tid="37590039-3AEA-4A13-9C3A-C6EC3C94ADCE" type="delete"/>
    </actions>
</pim>
Request body. By id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="product" id="552200" type="delete"/>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-26T15:28:53.286Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="product"
                tid="37590039-3AEA-4A13-9C3A-C6EC3C94ADCE"
                action="delete">
            <status>SUCCESS</status>
            <description>The product has been deleted successfully</description>
        </response>
    </responses>
</pim>
Error responses
No product by identifier
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-26T15:24:32.321Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="product"
                tid="37590039-3AEA-4A13-9C3A-C6EC3C94ADCE2"
                action="delete">
            <status>ERROR</status>
            <description>There is no product with the given tid or id</description>
        </response>
    </responses>
</pim>
Exception during removing
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-26T15:50:42.328Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="product"
                tid="37590039-3AEA-4A13-9C3A-C6EC3C94ADCE2"
                action="delete">
            <status>ERROR</status>
            <description>The product could not be deleted. Reason: {errormessage}</description>
        </response>
    </responses>
</pim>
No access to the endpoint action
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-26T15:54:28.638Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="product">
            <status>ERROR</status>
            <description>Products delete API is restricted for user</description>
        </response>
    </responses>
</pim>
Copy
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/pim/products/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="product" tid="37590039-3aea-4a13-9c3a-c6ec3c94adce" type="copy">
            <meta>
                <itm key="newProductName">NewProduct</itm>
                <itm key="newProductTid">37590039-aaaa-4a13-9c3a-c6ec3c94adce</itm>
            </meta>
         </action>
     </actions>
</pim>'
Request body. By tid
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="product" tid="37590039-3aea-4a13-9c3a-c6ec3c94adce" type="copy">
            <meta>
                <itm key="newProductName">NewProduct</itm>
                <itm key="newProductTid">37590039-aaaa-4a13-9c3a-c6ec3c94adce</itm>
            </meta>
         </action>
     </actions>
</pim>
Request body. By id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="product" id="123123" type="copy">
            <meta>
                <itm key="newProductName">NewProduct</itm>
                <itm key="newProductTid">37590039-aaaa-4a13-9c3a-c6ec3c94adce</itm>
            </meta>
         </action>
     </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:24:53.286Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="product"
                tid="37590039-3aea-4a13-9c3a-c6ec3c94adce"
                action="copy">
            <status>SUCCESS</status>
            <description>The product has been copied successfully</description>
             <details>
                <itm key="productId">77833</itm>
            </details>
        </response>
    </responses>
</pim>
Error responses
No product by identifier
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:36:54.983Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="product"
                tid="37590039-3aea-4a13-9c3a-c6ec3c94adce2"
                action="copy">
            <status>ERROR</status>
            <description>There is no product with the given tid or id</description>
        </response>
    </responses>
</pim>
Exception during removing
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:38:16.444Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="product"
                tid="37590039-3aea-4a13-9c3a-c6ec3c94adce2"
                action="copy">
            <status>ERROR</status>
            <description>The product could not be copied. Reason: {errorMessageFromOMN}</description>
        </response>
    </responses>
</pim>
No access to the endpoint action
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-10-11T12:14:28.978Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="product">
            <status>ERROR</status>
            <description>Products copy API is restricted for user</description>
        </response>
    </responses>
</pim>

Retrieve products

/pim/products/retrieve Returns list of product trees by identifiers.
Table 120. Details

Resource path

/api/core/v1/pim/products/retrieve

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Types of products:

  1. Product

  2. Article

  3. Variation

Product attributes values

Product attributes values are stored in related product type (P,A,V) in <vals> element.

Attribute types:

  1. simple

  2. localized

  3. multiple

  4. multi_loc

  5. domain

  6. loc_domain

  7. multi_domain

  8. multi_loc_domain

Attribute data types:

  1. string

  2. real

  3. date

  4. boolean

  5. table

Product attributes types and examples
Attribute type Response template Example

Boolean

<val attr="{attribute_name}" dataType="boolean" inheritance="{is_inherited}" node="{path_to_node}">
    <itm>{attribute_value}</itm>
</val>
 <val attr="BOOLEAN" dataType="boolean" inheritance="false" node="/Standard/Demo">
    <itm>true</itm>
</val>

Date

<val attr="{attribute_name}" dataType="date" inheritance="{is_inherited}" node="{path_to_node}">
    <itm>{iso8601_date}</itm>
</val>
 <val attr="DATE" dataType="date" inheritance="false" node="/Standard/Demo">
    <itm>2022-12-13T06:17:30.000Z</itm>
</val>

Number

<val attr="{attribute_name}" dataType="number" inheritance="{is_inherited}" node="{path_to_node}">
    <itm>{attribute_value}</itm>
</val>
<val attr="NUMBER" dataType="number" inheritance="false" node="/Standard/Demo">
    <itm>8.472</itm>
</val>

String

<val attr="{attribute_name}" dataType="text" inheritance="{is_inherited}" node="{path_to_node}">
    <itm>Text</itm>
</val>
<val attr="STRING" dataType="text" inheritance="false" node="/Standard/Demo">
    <itm>Text</itm>
</val>

Table

Allows to use as columns listable attributes with domains and/or localization

<val attr="{attribute_name}" dataType="{attribute_type}" inheritance="{is_inherited}" node="{path_to_node}" type="multi*">
</val>
<vals>
    <val attr="NUMBER_LISTABLE_TABLE" dataType="number" inheritance="false" node="/Standard/Demo" parent="TABLE" type="multiple">
        <itm pos="0">65</itm>
        <itm pos="1">54</itm>
    </val>
    <val attr="STRING_LISTABLE_DOMAIN_TABLE" dataType="text" inheritance="false" node="/Standard/Demo" parent="TABLE" type="multi_domain">
        <i18N loc="en_EN">
            <itm key="1" pos="0">1 EN</itm>
            <itm key="2" pos="1">2 EN</itm>
        </i18N>
        <i18N loc="fr_FR">
            <itm key="1" pos="0"></itm>
            <itm key="2" pos="1"></itm>
        </i18N>
        <i18N loc="de_DE">
            <itm key="1" pos="0">1 DE</itm>
            <itm key="2" pos="1">1 DE</itm>
        </i18N>
    </val>

     <val attr="NUMBER_LISTABLE_TABLE2" dataType="number" inheritance="false" node="/Standard/Demo" parent="TABLE_LOC" type="multi_loc">
        <i18N loc="en_EN">
        <itm pos="0">54</itm>
        <itm pos="1">45</itm>
        </i18N>
    </val>
    <val attr="STRING_LISTABLE_TABLE2" dataType="text" inheritance="false" node="/Standard/Demo" parent="TABLE_LOC" type="multi_loc">
        <i18N loc="en_EN">
            <itm pos="0">1</itm>
            <itm pos="1">2</itm>
        </i18N>
    </val>
</vals>

Listable attribute (String or Date or Number or Boolean)

<val attr="{attribute_name}" dataType="{attribute_type}" inheritance="{is_inherited}" node="{path_to_node}" type="multiple">
    <itm pos="0">{attribute_value}</itm>
    <itm pos="1">{attribute_value}</itm>
</val>
<vals>
    <val attr="BOOLEAN_LISTED" dataType="boolean" inheritance="false" node="/Standard/Demo" type="multiple">
        <itm pos="0">true</itm>
        <itm pos="1">false</itm>
    </val>
    <val attr="DATE_LISTED" dataType="date" inheritance="false" node="/Standard/Demo" type="multiple">
        <itm pos="0">2022-12-13T06:17:30.000Z</itm>
        <itm pos="1">2022-12-10T06:17:30.000Z</itm>
    </val>
    <val attr="NUMBER_LISTED" dataType="number" inheritance="false" node="/Standard/Demo" type="multiple">
        <itm pos="0">8.463</itm>
    </val>
    <val attr="STRING_LISTED" dataType="text" inheritance="false" node="/Standard/Demo" type="multiple">
        <itm pos="0">Val</itm>
        <itm pos="1">Val2</itm>
    </val>
</vals>

Localized attribute (String or Date or Number or Boolean)

<val attr="{attribute_name}" dataType="{attribute_type}" inheritance="{is_inherited}" node="{path_to_node}" type="localized">
    <itm loc="{language_code}">{attribute_value}</itm>
</val>
<vals>
    <val attr="STRING" dataType="text" inheritance="false" node="/Standard/Demo" type="localized">
        <itm loc="en_EN">3343</itm>
        <itm loc="fr_FR">French</itm>
    </val>
    <val attr="DATE" dataType="date" inheritance="false" node="/Standard/Demo" type="localized">
        <itm loc="en_EN">2022-12-20T11:06:18.000Z</itm>
    </val>
    <val attr="NUMBER" dataType="number" inheritance="false" node="/Standard/Demo" type="localized">
        <itm loc="en_EN">5.432</itm>
    </val>
    <val attr="BOOLEAN" dataType="boolean" inheritance="false" node="/Standard/Demo" type="localized">
        <itm loc="en_EN">true</itm>
    </val>
</vals>

Localized listable attribute (String or Date or Number or Boolean)

<val attr="{attribute_name}" dataType="{attribute_type}" inheritance="{is_inherited}" node="{path_to_node}" type="multi_loc">
    <i18N loc="{lang_code}">
            <itm pos="N">{value}</itm>
            <itm pos="N+1">{value}</itm>
    </i18N>
</val>
<vals>
    <val attr="STRING_LISTED_LOC" dataType="text" inheritance="false" node="/Standard/Demo" type="multi_loc">
        <i18N loc="en_EN">
            <itm pos="0">en</itm>
        </i18N>
        <i18N loc="de_DE">
            <itm pos="0">text</itm>
        </i18N>
    </val>
    <val attr="BOOLEAN_LISTED_LOC" dataType="boolean" inheritance="false" node="/Standard/Demo" type="multi_loc">
        <i18N loc="en_EN">
            <itm pos="0">true</itm>
            <itm pos="1">false</itm>
        </i18N>
        <i18N loc="de_DE">
            <itm pos="0">true</itm>
            <itm pos="1">false</itm>
        </i18N>
    </val>
    <val attr="DATE_LISTED_LOC" dataType="date" inheritance="false" node="/Standard/Demo" type="multi_loc">
        <i18N loc="en_EN">
            <itm pos="0">2022-12-15T14:55:00.000Z</itm>
            <itm pos="1">2022-12-04T14:55:00.000Z</itm>
        </i18N>
        <i18N loc="de_DE">
            <itm pos="0">2022-12-22T14:55:00.000Z</itm>
            <itm pos="1">2022-12-31T14:55:00.000Z</itm>
        </i18N>
    </val>
    <val attr="NUMBER_LISTED_LOC" dataType="number" inheritance="false" node="/Standard/Demo" type="multi_loc">
        <i18N loc="en_EN">
            <itm pos="0">1</itm>
            <itm pos="1">2</itm>
        </i18N>
        <i18N loc="de_DE">
            <itm pos="0">4</itm>
            <itm pos="1">5</itm>
        </i18N>
    </val>
</vals>

Domain attribute (String)

<val attr="{attribute_name}" dataType="{attribute_type}" inheritance="{is_inherited}" node="{path_to_node}" type="domain">
    <itm>{attribute_value}</itm>
</val>
<vals>
    <val attr="STRING_DOMAIN" dataType="text" inheritance="false" node="/Standard/Demo" type="domain">
        <itm key="Domain value 1" loc="en_EN"></itm>
        <itm key="Domain value 1" loc="fr_FR"></itm>
        <itm key="Domain value 1" loc="de_DE"></itm>
    </val>
</vals>

Domain localized attribute

<val attr="{attribute_name}" dataType="text" inheritance="{is_inherited}" node="{path_to_node}" type="domain">
    <itm>{attribute_value}</itm>
    <itm>{attribute_value}</itm>
</val>
<vals>
    <val attr="STRING_DOMAIN_LOC" dataType="text" inheritance="false" node="/Standard/Demo" type="loc_domain">
        <itm key="Domain value 1" loc="en_EN"></itm>
        <itm key="Domain value 2" loc="de_DE"></itm>
    </val>
</vals>

Domain listed attribute

<val attr="{attribute_name}" dataType="text" inheritance="{is_inherited}" node="{path_to_node}" type="multi_domain">
    <i18N loc="{lang_code}">
        <itm key="{key}" pos="{position}">{attribute_value}</itm>
        <itm>{attribute_value}</itm>
    </i18N>
</val>
<vals>
    <val attr="STRING_LISTED_DOMAIN" dataType="text" inheritance="false" node="/Standard/Demo" type="multi_domain">
        <i18N loc="en_EN">
            <itm key="Value 1" pos="0">Value 1 EN</itm>
            <itm key="Value 2" pos="1">Value 2 EN</itm>
        </i18N>
        <i18N loc="fr_FR">
            <itm key="Value 1" pos="0"></itm>
            <itm key="Value 2" pos="1"></itm>
        </i18N>
        <i18N loc="de_DE">
            <itm key="Value 1" pos="0">Value 1 DE</itm>
            <itm key="Value 2" pos="1">Value 2 DE</itm>
        </i18N>
    </val>
</vals>

Domain listed localized attribute

<val attr="{attribute_name}" dataType="text" inheritance="{is_inherited}" node="{path_to_node}" type="multi_loc_domain">
    <i18N loc="{lang_code}">
        <itm key="{key}" pos="{position}">{attribute_value}</itm>
        <itm>{attribute_value}</itm>
    </i18N>
</val>
<vals>
    <val attr="STRING_LISTED_DOMAIN_LOC" dataType="text" inheritance="false" node="/Standard/Demo" type="multi_loc_domain">
        <i18N loc="en_EN">
            <itm key="Value 1" pos="0">Value 1 EN</itm>
        </i18N>
        <i18N loc="fr_FR">
            <itm key="Value 2" pos="0"></itm>
        </i18N>
    </val>
</vals>
Body parameters

Specified by ProductRequest

Return Type

PimType with filled ProductsType. More info ProductType

Responses
Table 121. Http response codes
Code Message Datatype

200

PimType with list of products tree (P,A,V)

PimType

403

No access to the endpoint

ResponseType

500

Error in ResponseType

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Get product
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/pim/products/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ids": [
        598800
    ]
}'
Request body. By id
{
    "ids": [
        598800
    ]
}
Request body. By tid
{
    "tids": [
        "78fc9abb-2223-40dc-ac3e-26d42102d050"
    ]
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-12-28T16:27:22.403Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">product</itm>
    </meta>
    <products>
        <product tid="78fc9abb-2223-40dc-ac3e-26d42102d050">
            <articles>
                <article tid="e9e74b50-0a64-4bf5-995e-41940cac29ea">
                    <meta>
                        <itm key="id">599790</itm>
                        <itm key="creationDate">2022-12-28T16:25:10.451Z</itm>
                        <itm key="modificationDate">2022-12-28T16:25:10.451Z</itm>
                        <itm key="valueModificationDate">2022-12-28T16:25:38.389Z</itm>
                        <itm key="status">READY</itm>
                    </meta>
                    <name>Article</name>
                    <vals>
                        <val attr="color" dataType="text" node="/Standard" type="localized">
                            <itm loc="en_EN">Black</itm>
                        </val>
                    </vals>
                    <variants>
                        <variant tid="ab96e6b1-d874-4cea-9ab9-141fcf6804bc">
                            <meta>
                                <itm key="id">599791</itm>
                                <itm key="creationDate">2022-12-28T16:25:15.553Z</itm>
                                <itm key="modificationDate">2022-12-28T16:25:15.553Z</itm>
                                <itm key="valueModificationDate">2022-12-28T16:25:46.481Z</itm>
                                <itm key="status">READY</itm>
                            </meta>
                            <name>Variation</name>
                            <vals>
                                <val attr="currency" dataType="text" node="/Standard" type="loc_domain">
                                    <itm key="EUR" loc="en_EN">EUR</itm>
                                </val>
                            </vals>
                        </variant>
                    </variants>
                </article>
            </articles>
            <links>
                <itms mode="delta" type="channels"/>
                <itms mode="delta" type="assets">
                    <itms attr="REFERENCE_TABLE" mode="delta">
                        <itm key="BBF33C7E-E412-4C9E-B313-735C8C681D71">/100192517000_97f.jpg</itm>
                    </itms>
                </itms>
                <itms mode="delta" type="products"/>
            </links>
            <meta>
                <itm key="id">598800</itm>
                <itm key="creationDate">2022-12-27T06:24:56.610Z</itm>
                <itm key="modificationDate">2022-12-27T06:24:56.610Z</itm>
                <itm key="valueModificationDate">2022-12-28T16:24:54.488Z</itm>
                <itm key="status">READY</itm>
            </meta>
            <name>Product</name>
            <node>/Standard/Demo</node>
            <vals>
                <val attr="STRING_LISTED_LOC" dataType="text" inheritance="false" node="/Standard/Demo" type="multi_loc">
                    <i18N loc="en_EN">
                        <itm pos="0">en</itm>
                    </i18N>
                    <i18N loc="de_DE">
                        <itm pos="0">text</itm>
                    </i18N>
                </val>
                <val attr="BOOLEAN_LISTED" dataType="boolean" inheritance="false" node="/Standard/Demo" type="multi_loc">
                    <i18N loc="en_EN">
                        <itm pos="0">true</itm>
                        <itm pos="1">false</itm>
                    </i18N>
                    <i18N loc="de_DE">
                        <itm pos="0">true</itm>
                        <itm pos="1">false</itm>
                    </i18N>
                </val>
                <val attr="DATE_LISTED" dataType="date" inheritance="false" node="/Standard/Demo" type="multi_loc">
                    <i18N loc="en_EN">
                        <itm pos="0">2022-12-15T14:55:00.000Z</itm>
                        <itm pos="1">2022-12-04T14:55:00.000Z</itm>
                    </i18N>
                    <i18N loc="de_DE">
                        <itm pos="0">2022-12-22T14:55:00.000Z</itm>
                        <itm pos="1">2022-12-31T14:55:00.000Z</itm>
                    </i18N>
                </val>
                <val attr="DATE_LISTED_2" dataType="date" inheritance="false" node="/Standard/Demo" type="multiple">
                    <itm pos="0">2022-12-14T06:26:00.000Z</itm>
                    <itm pos="1">2022-12-16T06:26:00.000Z</itm>
                </val>
                <val attr="BOOLEAN" dataType="boolean" inheritance="false" node="/Standard/Demo" type="localized">
                    <itm loc="en_EN">true</itm>
                </val>
                <val attr="REAL_LISTED_2" dataType="number" inheritance="false" node="/Standard/Demo" type="multiple">
                    <itm pos="0">3</itm>
                    <itm pos="1">1</itm>
                </val>
                <val attr="NUBMER_LISTED" dataType="number" inheritance="false" node="/Standard/Demo" type="multi_loc">
                    <i18N loc="en_EN">
                        <itm pos="0">1</itm>
                        <itm pos="1">2</itm>
                    </i18N>
                    <i18N loc="de_DE">
                        <itm pos="0">3</itm>
                        <itm pos="1">4</itm>
                    </i18N>
                </val>
                <val attr="STRING_LISTED_DOMAIN" dataType="text" inheritance="false" node="/Standard/Demo" type="multi_loc_domain">
                    <i18N loc="en_EN">
                        <itm key="Value 1" pos="0">Value 1 EN</itm>
                    </i18N>
                    <i18N loc="fr_FR">
                        <itm key="Value 2" pos="0"></itm>
                    </i18N>
                </val>
                <val attr="STRING_DOMAIN" dataType="text" inheritance="false" node="/Standard/Demo" type="loc_domain">
                    <itm key="Domain value 1" loc="en_EN"></itm>
                    <itm key="Domain value 2" loc="de_DE"></itm>
                </val>
                <val attr="STRING" dataType="text" inheritance="false" node="/Standard/Demo" type="localized">
                    <itm loc="en_EN">3343</itm>
                    <itm loc="fr_FR">French</itm>
                </val>
                <val attr="NUMBER_LISTABLE_TABLE" dataType="number" inheritance="false" node="/Standard/Demo" parent="TABLE" type="multi_loc">
                    <i18N loc="en_EN">
                        <itm pos="0">54</itm>
                        <itm pos="1">45</itm>
                    </i18N>
                </val>
                <val attr="STRING_LISTABLE_DOMAIN_TABLE" dataType="text" inheritance="false" node="/Standard/Demo" parent="TABLE" type="multi_loc">
                    <i18N loc="en_EN">
                        <itm pos="0">1</itm>
                        <itm pos="1">2</itm>
                    </i18N>
                </val>
                <val attr="DATE" dataType="date" inheritance="false" node="/Standard/Demo" type="localized">
                    <itm loc="en_EN">2022-12-20T11:06:18.000Z</itm>
                </val>
                <val attr="DATE_2" dataType="date" inheritance="false" node="/Standard/Demo" type="localized">
                    <itm loc="en_EN">2022-12-20T06:26:00.000Z</itm>
                    <itm loc="de_DE">2022-12-19T06:26:00.000Z</itm>
                </val>
                <val attr="NUMBER" dataType="number" inheritance="false" node="/Standard/Demo" type="localized">
                    <itm loc="en_EN">5.432</itm>
                </val>
                <val attr="NUMBER_2" dataType="number" inheritance="false" node="/Standard/Demo" type="localized">
                    <itm loc="en_EN">1</itm>
                    <itm loc="de_DE">3</itm>
                </val>
            </vals>
        </product>
    </products>
</pim>

Query products

/pim/products/query Get tids of products by allowed criteria

Allows to get products tids by:

  1. By modification date (from/until)

  2. By classification node paths

  3. By search strategy

Criteria combined with AND operator.
Table 122. Details

Resource path

/api/core/v1/pim/products/query

HTTP method

POST

Request content type

application/json;

Response content type

application/json;

Body parameters

Accepts ProductQuery

Return Type

Filled with asset tids ProductRequest

Responses
Table 123. Http response codes
Code Message Datatype

200

Found products tids

ProductRequest

400

Invalid input error ResponseType

ResponseType

500

Error in ResponseType

ResponseType

Samples
Query product by modified dates, classification node paths and search strategy
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/pim/products/query' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "modifiedFrom": "2018-02-25T01:00:00.000",
  "modifiedUntil": "2020-12-25T01:00:00.000",
  "nodePaths": [
    "/seasons/2021/clothes",
    "/seasons/2022/clothes"
  ],
  "searchStrategy": "defaultSearchStrategy"
}
'

Request body examples:

Request products from node "/seasons/2021/clothes", with default search strategy limited by modification dates range
{
  "modifiedFrom": "2018-02-25T01:00:00.000",
  "modifiedUntil": "2020-12-25T01:00:00.000",
  "nodePaths": [
    "/seasons/2021/clothes"
  ],
  "searchStrategy": "defaultSearchStrategy"
}
Response body
{
    "tids": [
        "8E93BA7A-0521-4FB2-A7B7-40941C7A5AFA",
        "218BCAED-A63B-4CE4-B23F-42B479E4E9FB",
        "C3617CA4-0869-4A60-9CDC-32DCA0322F63",
        "2BA8E460-964E-4197-9292-1E4365B29386",
        "5BD22A27-7C2E-49B9-B90F-00F209900480",
        "D1019EE5-F1E0-49FA-8C2B-AD7FE3F8402C",
        "6BD4B93B-2F35-4B9F-909E-974443B7C96B",
        "DA32F94E-98B8-4F62-B588-EE804D97717B",
        "08E3AF9C-1D28-4962-9C82-4E54633A9A4B",
        "F008FE89-7372-4C17-83AB-670A664B57D9",
        "95E7D312-1C4B-43BF-93C9-2219248ABF33",
        "A905D075-8312-49EA-AB09-65D6FDBEE573",
        "19F2C143-68D0-410C-BC24-53B33B70D270"
    ]
}

/pim/products/links/perform Unlink products from products.
  • unlink

Allow to unlink products by:

  1. product tid

  2. product id

Table 124. Details

Resource path

/api/core/v1/pim/products/links/perform

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Actions require additional info that should be provided in MetaType in key/value way.

ActionType's type is required and must be provided. Possible values:

  • unlink

ActionType's dataType is - productToProductLink

Return Type

PimType with filled ResponsesType

Response types contains status information about each action passed to perform.

Responses
Actions are processed separately. Exceptions thrown during the execution of actions will be reported in ResponseType.
Table 125. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType.

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1.Unlink products by product tid
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/products/links/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="productToProductLink" type="unlink">
          <meta>
            <itm key="productTid">product_tid</itm>
            <itm key="targetProductTid">targetProduct_tid</itm>
            <itm key="type">PRODUCT_REF</itm>
          </meta>
        </action>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="productToProductLink" type="unlink">
          <meta>
            <itm key="productTid">product_tid</itm>
            <itm key="targetProductTid">targetProduct_tid</itm>
            <itm key="type">PRODUCT_REF</itm>
          </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:24:53.286Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">link</itm>
    </meta>
    <responses>
        <response dataType="productToProductLink" action="unlink">
            <status>SUCCESS</status>
            <description>The product has been unlinked successfully</description>
        </response>
    </responses>
</pim>
2.Unlink products by product id
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/products/links/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="productToProductLink" type="unlink">
          <meta>
            <itm key="productId">985547</itm>
            <itm key="targetProductId">554785</itm>
            <itm key="type">PRODUCT_REF</itm>
          </meta>
        </action>
    </actions>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <actions>
        <action dataType="productToProductLink" type="unlink">
          <meta>
            <itm key="productId">985547</itm>
            <itm key="targetProductId">554785</itm>
            <itm key="type">PRODUCT_REF</itm>
          </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-21T14:54:28.781Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">link</itm>
    </meta>
    <responses>
        <response dataType="productToProductLink" action="unlink">
            <status>SUCCESS</status>
            <description>The product has been unlinked successfully</description>
        </response>
    </responses>
</pim>
Error responses
A product does not exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-21T14:54:28.781Z</itm>
        <itm key="sourceEnv">web</itm>
         <itm key="itemInformationType">link</itm>
    </meta>
    <responses>
        <response dataType="productToProductLink"
                action="unlink">
            <status>ERROR</status>
            <description>There is no target products with the given tid or id to perform unlink: {details}</description>
        </response>
    </responses>
</pim>
An attribute definition does not exist
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-21T14:54:28.781Z</itm>
        <itm key="sourceEnv">web</itm>
         <itm key="itemInformationType">link</itm>
    </meta>
    <responses>
        <response dataType="productToProductLink"
                action="unlink">
            <status>ERROR</status>
            <description>There is no target attribute definition with the given identifier: {tid}</description>
        </response>
    </responses>
</pim>
Unlink could not be performed
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-21T14:54:28.781Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">link</itm>
    </meta>
    <responses>
        <response dataType="productToProductLink"
                action="unlink">
            <status>ERROR</status>
            <description>Unlink could not be performed. Reason: {errormessage}</description>
        </response>
    </responses>
</pim>
No access to the endpoint
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-21T14:54:28.781Z</itm>s
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">link</itm>
    </meta>
    <responses>
        <response dataType="productToProductLink">
            <status>ERROR</status>
            <description>Unlink API is restricted for user</description>
        </response>
    </responses>
</pim>

/pim/products/links/persist Link products to another products.

Allow to link products by:

  1. product tid

  2. product id

Table 126. Details

Resource path

/pim/products/links/persist

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Accepts PimType with LinksType

Return Type

PimType with statuses ResponsesType about each linked product.

Table 127. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. Link single product to single product by tids
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/products/links/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
	<links>
		<itms type="productToProduct">
			<itms type="PRODUCT_REF">
				<itm key="targetProductTid">73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>
				<itm key="productTid">e8712bfd-6701-4833-9197-b259ea42dd84</itm>
			</itms>
		</itms>
	</links>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
	<links>
		<itms type="productToProduct">
			<itms type="PRODUCT_REF">
				<itm key="targetProductTid">73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>
				<itm key="productTid">e8712bfd-6701-4833-9197-b259ea42dd84</itm>
			</itms>
		</itms>
	</links>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:24:53.286Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">link</itm>
    </meta>
    <responses>
        <response dataType="productToProductLink"
                action="link">
            <status>SUCCESS</status>
            <description>The products has been linked successfully</description>
            <details>
                <itms type="PRODUCT_REF">
                   <itm key="targetProductTid">73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>
                   <itm key="productTid">e8712bfd-6701-4833-9197-b259ea42dd84</itm>
               </itms>
            </details>
        </response>
    </responses>
</pim>
2. Link single product to single product by ids
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/products/links/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
	<links>
		<itms type="productToProduct">
			<itms type="PRODUCT_REF">
				<itm key="targetProductId">12345</itm>
				<itm key="productId">54321</itm>
			</itms>
		</itms>
	</links>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim  xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
	<links>
		<itms type="productToProduct">
			<itms type="PRODUCT_REF">
				<itm key="targetProductId">12345</itm>
				<itm key="productId">54321</itm>
			</itms>
		</itms>
	</links>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:24:53.286Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">link</itm>
    </meta>
    <responses>
        <response dataType="productToProductLink"
                action="link">
            <status>SUCCESS</status>
            <description>The products has been linked successfully</description>
            <details>
              <itms type="PRODUCT_REF">
                <itm key="targetProductId">12345</itm>
                <itm key="productId">54321</itm>
              </itms>
            </details>
        </response>
    </responses>
</pim>
3. Link several products to single product by tids
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/products/links/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
	<links>
		<itms type="productToProduct">
			<itms type="PRODUCT_REF">
				<itms type="productTid">
					<itm>73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>
					<itm>ab96e6b1-d874-4cea-9ab9-141fcf6804bc</itm>
				</itms>
				<itm key="targetProductTid">e8712bfd-6701-4833-9197-b259ea42dd84</itm>
			</itms>
		</itms>
	</links>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
	<links>
		<itms type="productToProduct">
			<itms type="PRODUCT_REF">
				<itms type="productTid">
					<itm>73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>
					<itm>ab96e6b1-d874-4cea-9ab9-141fcf6804bc</itm>
				</itms>
				<itm key="targetProductTid">e8712bfd-6701-4833-9197-b259ea42dd84</itm>
			</itms>
		</itms>
	</links>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:24:53.286Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">link</itm>
    </meta>
    <responses>
        <response dataType="productToProductLink"
                action="link">
            <status>SUCCESS</status>
            <description>The products has been linked successfully</description>
            <details>
               <itms type="PRODUCT_REF">
                <itms type="productTid">
                    <itm>73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>
                    <itm>ab96e6b1-d874-4cea-9ab9-141fcf6804bc</itm>
                </itms>
                <itm key="targetProductTid">e8712bfd-6701-4833-9197-b259ea42dd84</itm>
            </itms>
            </details>
        </response>
    </responses>
</pim>
4. Link single products to several products by tids
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/products/links/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
	<links>
		<itms type="productToProduct">
			<itms type="PRODUCT_REF">
				<itm key="productTid">73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>
				<itms type="targetProductTid">
					<itm>ab96e6b1-d874-4cea-9ab9-141fcf6804bc</itm>
					<itm>e8712bfd-6701-4833-9197-b259ea42dd84</itm>
				</itms>
			</itms>
		</itms>
	</links>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
	<links>
		<itms type="productToProduct">
			<itms type="PRODUCT_REF">
				<itm key="productTid">73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>
				<itms type="targetProductTid">
					<itm>ab96e6b1-d874-4cea-9ab9-141fcf6804bc</itm>
					<itm>e8712bfd-6701-4833-9197-b259ea42dd84</itm>
				</itms>
			</itms>
		</itms>
	</links>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:24:53.286Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">link</itm>
    </meta>
    <responses>
        <response dataType="productToProductLink"
                action="link">
            <status>SUCCESS</status>
            <description>The products has been linked successfully</description>
            <details>
                <itms type="PRODUCT_REF">
                  <itm key="productTid">73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>
                  <itms type="targetProductTid">
                    <itm>ab96e6b1-d874-4cea-9ab9-141fcf6804bc</itm>
                    <itm>e8712bfd-6701-4833-9197-b259ea42dd84</itm>
                 </itms>
               </itms>
            </details>
        </response>
    </responses>
</pim>
5. Link several products to several products by tids
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/pim/products/links/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
	<links>
		<itms type="productToProduct">
			<itms type="PRODUCT_REF">
				<itms type="productTid">
					<itm>73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>
					<itm>28e09c5f-9f23-4274-8bb5-4e0924d52076</itm>
				</itms>
				<itms type="targetProductTid">
					<itm>ab96e6b1-d874-4cea-9ab9-141fcf6804bc</itm>
					<itm>e8712bfd-6701-4833-9197-b259ea42dd84</itm>
				</itms>
			</itms>
		</itms>
	</links>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
	<links>
		<itms type="productToProduct">
			<itms type="PRODUCT_REF">
				<itms type="productTid">
					<itm>73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>
					<itm>28e09c5f-9f23-4274-8bb5-4e0924d52076</itm>
				</itms>
				<itms type="targetProductTid">
					<itm>ab96e6b1-d874-4cea-9ab9-141fcf6804bc</itm>
					<itm>e8712bfd-6701-4833-9197-b259ea42dd84</itm>
				</itms>
			</itms>
		</itms>
	</links>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:24:53.286Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">link</itm>
    </meta>
    <responses>
        <response dataType="productToProductLink"
                action="link">
            <status>SUCCESS</status>
            <description>The products has been linked successfully</description>
            <details>
                <itms type="PRODUCT_REF">
                  <itms type="productTid">
                    <itm>73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>
                    <itm>28e09c5f-9f23-4274-8bb5-4e0924d52076</itm>
                </itms>
                <itms type="targetProductTid">
                    <itm>ab96e6b1-d874-4cea-9ab9-141fcf6804bc</itm>
                    <itm>e8712bfd-6701-4833-9197-b259ea42dd84</itm>
                </itms>
              </itms>
            </details>
        </response>
    </responses>
</pim>

Channel management API

Provides operations on OMN channel management.

DAM API provides access to resources of the CM module and is used to manage (sales) channels.

Main resources:

Resource Description

Channel

(Sales) channel that can be planned and controlled.

Query channels

/cm/channels/query Query for channel TIDs

POST /cm/channels/query

Operation Id

queryChannels

query for channel tids

Description

Parameters

Body Parameter
Name Description Required Default Pattern

ChannelQueryDto

ChannelQueryDto

X

Return Type

Content Type

  • application/json

Responses

Table 128. http response codes
Code Message Datatype

200

channel found

ChannelRequest

401

Not authorized

<<>>

404

Not found

<<>>

500

Server error

<<>>

Samples


Retrieve channels

/cm/channels/retrieve Retrieve channels

POST /cm/channels/retrieve

Table 129. Details

Resource path

/api/core/v1/cm/channels/retrieve

HTTP method

POST

Request content type

application/json

Response content type

application/xml; charset=UTF-8

Body Parameter

Specified by ChannelRequestDto

Return Type

XML String with filled ProjectsType More info ProjectType

Responses

Table 130. Http response codes
Code Message Datatype

200

XML String with list of projects tree

PimType

403

No access to the endpoint

ResponseType

500

Error in ResponseType

ResponseType

Samples

Retrieve Channels
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/cm/channels/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ids": [
        598800
    ]
}'
Request body. By id
{
    "ids": [
        598800
    ]
}
Request body. By tid
{
    "tids": [
        "AWS"
    ]
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2024-03-12T08:53:11.795Z</itm>
        <itm key="sourceEnv">jli_docker</itm>
        <itm key="itemInformationType">project</itm>
    </meta>
    <projects>
        <project tid="AWS" type="AWS" orderSequence="1048576">
            <name>AWS</name>
            <meta>
                <itm key="id">21788</itm>
                <itm key="creationDate">2023-08-04T09:36:06.802Z</itm>
                <itm key="modificationDate">2024-01-10T11:06:06.587Z</itm>
                <itm key="htmlIcon"/>
                <itm key="icon">/static/assets/projects/i3p1.gif</itm>
                <itm key="allowedFunctions">F.JavaFunction.ACC.CSVExportProduct,ProjectMoveUpFunction,SetFavouriteProjectFunction</itm>
            </meta>
            <vals>
                <val attr="ENUMTEST">
                    <itm>V1,V2</itm>
                </val>

                <val attr="TRESHOLD_VALUE">
                    <itm>0.4</itm>
                </val>
            </vals>
            <links>
                <itm key="FA1B5E2F-4869-4991-B17B-AA8BD3709AF6">MAM/cat.jpg</itm>
                <itm key="B3DC4775-D3F8-4C2A-BE9B-5E9BC5E60849">MAM/dog.jpg</itm>
            </links>
            <peos>
                <peo tid="3b6e1b67-aa7f-43a0-bea0-b124129c3480"
                 product="58695a3d-f6d6-44fa-89f0-6a5e027ac79a"
                 template="Web"
                 default="true">
                    <meta>
                        <itm key="id">134320</itm>
                        <itm key="creationDate">2024-03-01T08:40:27.027Z</itm>
                        <itm key="modificationDate">2024-03-01T08:40:27.170Z</itm>
                    </meta>
                    <name>test1</name>
                    <nodes>
                        <node>AWS</node>
                    </nodes>
                    <vals>
                        <val attr="material"
                       type="localized"
                       origin="PRODUCT"
                       node="/Standard"
                       dataType="text">
                            <itm loc="en_EN">en1</itm>
                            <itm loc="de_DE">de2</itm>
                        </val>
                    </vals>
                </peo>
            </peos>
        </project>
    </projects>
</pim>

PEO API

PEO API provides access to peos management resources of OMN and operations on them.

DAM API provides access to PEO resources. PEO is an abbreviation for "Product Export Option". This refers to filters on articles or products of the OMN, e.g. to be able to define different prices or texts for an advertising material or for a web shop.

Main resources:

Resource Description

PEO

Product Export Options.

Links

Represent references between PEOs and Projects

Peos API

Provides operations on OMN peos.

Query peos

/peo/peos/query Get lost of PEO tids by allowed criteria.

Allows to get peos tids by:

  1. By modification date (from/until)

  2. By project tid

  3. By peos names

When project tid is set the peos linked to child projects are exported as well by default. withChildren boolean parameter is responsible for this functionality. By default, this parameters value is true.

Tip: Request can be performed by one parameter or by many at once. Criteria combined with AND operator.

Table 131. Details

Resource path

/api/core/v1/peo/peos/query

HTTP method

POST

Request content type

application/json;

Response content type

application/json;

Body parameters

Accepts PeoQuery

Return Type

Filled with peos tids PeoRequest

Responses
Table 132. Http response codes
Code Message Datatype

200

Found products tids

PeoRequest

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Query by product tid, modified date interval, peo names and project tid with child projects peos
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/peo/peos/query' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
    "tidProduct": "ec98dde6-4064-465d-a1fb-237e2f10a336",
    "modifiedFrom": "2018-02-25T01:00:00.000",
    "modifiedUntil": "2023-02-24T01:00:00.000",
    "names": ["PEO name", "PEO other name"],
    "tidProject": "t0t8de6-9874-46a1-f11t-ec98dde6"
}'
Request body
{
    "tidProduct": "ec98dde6-4064-465d-a1fb-237e2f10a336",
    "modifiedFrom": "2018-02-25T01:00:00.000",
    "modifiedUntil": "2023-02-24T01:00:00.000",
    "names": ["PEO name", "PEO other name"],
    "tidProject": "t0t8de6-9874-46a1-f11t-ec98dde6"
}
Response body
{
    "tids": [
        "55beafb6-a80b-48ab-8a7b-9e1a98d67b24",
        "38b42b94-ffca-445c-b395-fa6ee612cbb3",
        "8d4e6770-67d2-49db-874c-bf4d5dfa315b"
    ]
}
Query by product tid, modified date interval, peo names and project tid without child projects peos
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/peo/peos/query' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
    "tidProduct": "ec98dde6-4064-465d-a1fb-237e2f10a336",
    "modifiedFrom": "2018-02-25T01:00:00.000",
    "modifiedUntil": "2023-02-24T01:00:00.000",
    "names": ["PEO name", "PEO other name"],
    "tidProject": "t0t8de6-9874-46a1-f11t-ec98dde6",
    "withChildren": false
}'
Request body
{
    "tidProduct": "ec98dde6-4064-465d-a1fb-237e2f10a336",
    "modifiedFrom": "2018-02-25T01:00:00.000",
    "modifiedUntil": "2023-02-24T01:00:00.000",
    "names": ["PEO name", "PEO other name"],
    "tidProject": "t0t8de6-9874-46a1-f11t-ec98dde6",
    "withChildren": false
}
Response body
{
    "tids": [
        "55beafb6-a80b-48ab-8a7b-9e1a98d67b24",
        "38b42b94-ffca-445c-b395-fa6ee612cbb3"
    ]
}

Retrieve peos

/peo/peos/retrieve Retrieves information about PEOs.
Table 133. Details

Resource path

/api/core/v1/peo/peos/retrieve

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Specified by PeoRequest

  • ids: it might be used to get peos by id's

  • tids: it might be used to get peos by tid's

Boolean withMetadata parameter indicates to return peos with metadata or not. By default, this parameter is false.
Boolean namesOnly parameter indicates to return peos with names only for performance reasons. By default, this parameter is false.
Peos are retrieved by tids OR ids. ids are ignored if the request contains tids and ids.
Return Type

PimType with peos as String

Table 134. Http response codes
Code Message Datatype

200

PimType with peos as String

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

404

Not found

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Retrieve peo with metadata by peo tids
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/peos/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
    "tids": ["55beafb6-a80b-48ab-8a7b-9e1a98d67b24", "38b42b94-ffca-445c-b395-fa6ee612cbb3"],
    "withMetadata" : true
}'
Request body
{
    "tids": ["55beafb6-a80b-48ab-8a7b-9e1a98d67b24", "38b42b94-ffca-445c-b395-fa6ee612cbb3"],
    "withMetadata" : true
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-27T07:20:20.659Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">peo</itm>
    </meta>
    <peos>
        <peo default="false"
           product="ec98dde6-4064-465d-a1fb-237e2f10a336"
           template="PeoTemplate1"
           tid="55beafb6-a80b-48ab-8a7b-9e1a98d67b24">
            <meta>
                <itm key="id">47230</itm>
                <itm key="creationDate">2023-02-24T07:54:45.523Z</itm>
                <itm key="modificationDate">2023-02-24T07:54:45.523Z</itm>
            </meta>
            <name>PEO name</name>
            <nodes/>
        </peo>
        <peo default="false"
           product="ec98dde6-4064-465d-a1fb-237e2f10a336"
           template="PeoTemplate1"
           tid="38b42b94-ffca-445c-b395-fa6ee612cbb3">
            <meta>
                <itm key="id">47231</itm>
                <itm key="creationDate">2023-02-24T07:57:29.386Z</itm>
                <itm key="modificationDate">2023-02-24T07:57:29.386Z</itm>
            </meta>
            <name>PEO name</name>
            <nodes/>
        </peo>
    </peos>
</pim>
Retrieve peo without metadata by peo ids
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/peos/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
    "ids": [47230, 47231]
}'
Request body
{
    "ids": [47230, 47231]
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-27T07:22:00.004Z</itm>
        <itm key="sourceEnv">web</itm>
        <itm key="itemInformationType">peo</itm>
    </meta>
    <peos>
        <peo default="false"
           product="ec98dde6-4064-465d-a1fb-237e2f10a336"
           template="PeoTemplate1"
           tid="55beafb6-a80b-48ab-8a7b-9e1a98d67b24">
            <name>PEO name</name>
            <nodes/>
        </peo>
        <peo default="false"
           product="ec98dde6-4064-465d-a1fb-237e2f10a336"
           template="PeoTemplate1"
           tid="38b42b94-ffca-445c-b395-fa6ee612cbb3">
            <name>PEO name</name>
            <nodes/>
        </peo>
    </peos>
</pim>
Retrieve peo without metadata with name only by peo id
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/pim/peos/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
    "ids": [46560],
    "withMetadata": false,
    "namesOnly": true
}'
Request body
{
  "ids": [
    46560
  ],
  "withMetadata": false,
  "namesOnly": true
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2024-03-06T12:13:32.763Z</itm>
        <itm key="sourceEnv">ocd_dev</itm>
        <itm key="itemInformationType">peo</itm>
    </meta>
    <peos>
        <peo default="true" product="56606a59-3b13-4693-8354-6e4a04263869" template="Print" tid="cc896f41-d73b-432b-9e92-4d88c3e99702">
            <name>Project_Print_06.03.2024_10:19:25</name>
        </peo>
    </peos>
</pim>

Persist peos

/peo/peos/persist Creates or updates PEOs.

Allow to

  1. Create peo

  2. Update peo

Table 135. Details

Resource path

/api/core/v1/peo/peos/persist

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Accepts PimType with PeosType

Return Type

PimType with statuses ResponsesType about each persisted peo.

Table 136. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. Create peo linked to product
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/peo/peos/persist \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <peos>
        <peo productTid="ec98dde6-4064-465d-a1fb-237e2f10a336" templateId="47220">
            <name>PEO name3</name>
        </peo>
    </peos>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <peos>
        <peo productTid="ec98dde6-4064-465d-a1fb-237e2f10a336" templateId="47220">
            <name>PEO name</name>
        </peo>
    </peos>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-27T12:23:02.746Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="peo" id="52730">
            <status>SUCCESS</status>
            <description>PEO has been saved successfully</description>
        </response>
    </responses>
</pim>
2. Create peo linked to product and projects

During creation peo can be linked to several projects, which tids and ids contains in request.

curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/peo/peos/persist \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <peos>
        <peo productTid="tid1" templateId="1">
            <name>PEO name</name>
            <nodes>
                <node>projectTid1</node>
                <node>projectTid2</node>
                <node tid="projectTid3"/>
                <node id="1"/>
            </nodes>
        </peo>
    </peos>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <peos>
        <peo productTid="ec98dde6-4064-465d-a1fb-237e2f10a336" templateId="47220">
            <name>PEO name</name>
            <nodes>
                <node>projectTid1</node>
                <node>projectTid2</node>
                <node tid="projectTid3"/>
                <node id="1"/>
            </nodes>
        </peo>
    </peos>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-27T12:23:02.746Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="peo" id="52730">
            <status>SUCCESS</status>
            <description>PEO has been saved successfully</description>
        </response>
    </responses>
</pim>
3. Update peo
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/peo/peos/persist \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <peos>
        <peo productTid="55beafb6-a80b-48ab-8a7b-9e1a98d67b24">
            <name>PEO new name</name>
        </peo>
    </peos>
</pim>'
Request body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <peos>
        <peo productTid="55beafb6-a80b-48ab-8a7b-9e1a98d67b24">
            <name>PEO new name</name>
        </peo>
    </peos>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-27T13:50:44.539Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="peo">
            <description>Peo has been saved successfully</description>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
Error responses
Product not found
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:49:25.214Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="peo" action="update">
            <status>ERROR</status>
            <description>Product not found</description>
        </response>
    </responses>
</pim>
Peo template not found
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:49:25.214Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="peo" action="update">
            <status>ERROR</status>
            <description>PEO template has not been found</description>
        </response>
    </responses>
</pim>

Perform actions on peos

/peo/peos/perform Perform different types of actions on peos (delete/copy)

Available action types:

  1. Delete

  2. Copy

Table 137. Details

Resource path

/api/core/v1/peo/peos/perform

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Some actions require additional info that should be provided in MetaType in key/value way.

ActionType's type is required and must be provided. Possible values:

  1. delete

  2. copy

ActionType's dataType is - peo

Tip: .Tables legend "As <action> attribute" describes, that parameter is in the xml attribute of <action> tag. Otherwise, parameter should be in ItemType.

"Required groups" - one of parameter in the one group is required e.g. entity identifier (tid or id)

Table 138. Delete and Copy actions parameters
Parameter Name As <action> attribute Required Type Description Format

id

X

X G1

Long

id of the peo that should be deleted or copied

tid

X

X G1

string

tid of the peo that should be deleted or copied

Return Type

PimType with filled ResponsesType

Response types contains status information about each action passed to perform.

Responses
Actions are processed separately. Exceptions thrown during the execution of actions will be reported in ResponseType.
Table 139. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType.

PimType

400

Invalid input provided

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Delete
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/pim/products/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="peo" tid="7D534991-B623-418C-A7CB-A273C877A37D" type="delete"/>
    </actions>
</pim>'
Request body. By tid
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="peo" tid="7d534991-b623-418c-a7cb-a273c877a37d" type="delete"/>
    </actions>
</pim>
Request body. By id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="peo" id="2364684" type="delete"/>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:24:53.286Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="peo" tid="7d534991-b623-418c-a7cb-a273c877a37d" action="delete">
            <status>SUCCESS</status>
            <description>PEO has been deleted successfully</description>
        </response>
    </responses>
</pim>
Error responses
No peo by identifier
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:36:54.983Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="peo"
                tid="7d534991-b623-418c-a7cb-a273c877a37d"
                action="delete">
            <status>ERROR</status>
            <description>There is no peo with the given tid</description>
        </response>
    </responses>
</pim>
Exception during removing
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:38:16.444Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="peo"
                tid="7d534991-b623-418c-a7cb-a273c877a37d"
                action="delete">
            <status>ERROR</status>
            <description>PEO is not available by access rights</description>
        </response>
    </responses>
</pim>
Copy
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/pim/products/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="peo" tid="ab6492-bc76439a-aaaa-aaaaa" type="copy">
            <meta>
                <itm key="name">PEO copy name</itm>
            </meta>
        </action>
    </actions>
</pim>'
Request body. By tid
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="peo" tid="ab6492-bc76439a-aaaa-aaaaa" type="copy">
            <meta>
                <itm key="name">PEO copy name</itm>
            </meta>
        </action>
    </actions>
</pim>
Request body. By id
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="peo" id="2364684" type="copy">
            <meta>
                <itm key="name">PEO copy name</itm>
            </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-15T13:37:04.635Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="peo"
                tid="64467fe8-863a-4fcd-ba4e-82914affb3f8"
                id="76890"
                action="copy">
            <status>SUCCESS</status>
            <description>peo has been copied</description>
        </response>
    </responses>
</pim>
Error responses
No peo by identifier
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-08-15T13:37:53.018Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="peo"
                tid="64467fe8-863a-4fcd-ba4e-82914affb3f8"
                id="76890"
                action="copy">
            <status>ERROR</status>
            <description>PEO does not exist</description>
        </response>
    </responses>
</pim>
No access to the endpoint action
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-06-04T13:38:16.444Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="peo" tid="7D534991-B623-418C-A7CB-A273C877A37D" action="copy">
            <status>ERROR</status>
            <description>PEO is not available by access rights</description>
        </response>
    </responses>
</pim>

/peo/peos/links/persist Link PEOs to projects.

Allow to link peos by:

  1. peo and project tid

  2. peo and project id

Table 140. Details

Resource path

/peo/peos/links/persist

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Accepts PimType with LinksType

Return Type

PimType with statuses ResponsesType about each linked peo.

Table 141. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. Link peo to project by tids
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/peo/peos/links/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
  <links>
        <itms type="peoToProject">
            <itms>
                <itm key="peoTid">55beafb6-a80b-48ab-8a7b-9e1a98d67b24</itm>
                <itm key="projectTid">acc0000232</itm>
            </itms>
        </itms>
    </links>
</pim>'
Request body
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
  <links>
        <itms type="peoToProject">
            <itms>
                <itm key="peoTid">55beafb6-a80b-48ab-8a7b-9e1a98d67b24</itm>
                <itm key="projectTid">acc0000232</itm>
            </itms>
        </itms>
    </links>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-27T08:29:14.678Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="link" dataType="peoToProjectLink">
            <description>The link has been saved successfully</description>
            <details mode="delta">
                <itm key="peoTid">55beafb6-a80b-48ab-8a7b-9e1a98d67b24</itm>
                <itm key="projectTid">acc0000232</itm>
            </details>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
2. Link peo to project by ids
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/peo/peos/links/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
  <links>
        <itms type="peoToProject">
            <itms>
                <itm key="peoId">47230</itm>
                <itm key="projectId">23488</itm>
            </itms>
        </itms>
    </links>
</pim>'
Request body
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
  <links>
        <itms type="peoToProject">
            <itms>
                <itm key="peoId">47230</itm>
                <itm key="projectId">23488</itm>
            </itms>
        </itms>
    </links>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-27T08:29:14.678Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="link" dataType="peoToProjectLink">
            <description>The link has been saved successfully</description>
            <details mode="delta">
                <itm key="peoId">47230</itm>
                <itm key="projectId">23488</itm>
            </details>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
Error responses
Peo not found
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-27T08:55:39.051Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="link" dataType="peoToProjectLink" id="475230">
            <description>PEO not found</description>
            <status>ERROR</status>
        </response>
    </responses>
</pim>
Peo is not available by access rights
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:49:25.214Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="peo" action="unlink" path="/111">
            <status>ERROR</status>
            <description>PEO is not available by access rights</description>
        </response>
    </responses>
</pim>
Project not found
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-27T09:02:48.326Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="link" dataType="peoToProjectLink" id="754545">
            <description>Project not found</description>
            <status>ERROR</status>
        </response>
    </responses>
</pim>

/peo/peos/links/perform Unlinks PEOs from projects.

Available action types:

  1. Unlink

Allow to unlink peos by:

  1. peo and project tid

  2. peo and project id

Table 142. Details

Resource path

/api/core/v1/peo/peos/links/perform

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body parameters

Some actions require additional info that should be provided in MetaType in key/value way.

ActionType's type is required and must be provided. Possible values:

  1. unlink

ActionType's dataType is - peoToProjectLink

Table 143. Http response codes
Code Message Datatype

200

PimType with filled ResponsesType

PimType

400

Invalid input provided

ResponseType

401

Not authorized

ResponseType

500

An unknown internal error occurred

ResponseType

Samples
Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
1. Unlink peo from project by tid
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/peo/peos/links/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="peoToProjectLink" type="unlink">
          <meta>
            <itm key="peoTid">55beafb6-a80b-48ab-8a7b-9e1a98d67b24</itm>
            <itm key="projectTid">acc0000232</itm>
          </meta>
        </action>
    </actions>
</pim>'
Request body
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="peoToProjectLink" type="unlink">
          <meta>
            <itm key="peoTid">55beafb6-a80b-48ab-8a7b-9e1a98d67b24</itm>
            <itm key="projectTid">acc0000232</itm>
          </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-27T11:19:26.180Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="unlink" dataType="peo" tid="55beafb6-a80b-48ab-8a7b-9e1a98d67b24">
            <description>PEO has been unlinked successfully</description>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
2. Unlink peo from project by id
curl
curl --location --request POST 'http://<OMN_SERVER>/api/core/v1/peo/peos/links/perform' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="peoToProjectLink" type="unlink">
          <meta>
            <itm key="peoId">47230</itm>
            <itm key="projectId">23488</itm>
          </meta>
        </action>
    </actions>
</pim>'
Request body
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <actions>
        <action dataType="peoToProjectLink" type="unlink">
          <meta>
            <itm key="peoId">47230</itm>
            <itm key="projectId">23488</itm>
          </meta>
        </action>
    </actions>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-27T11:21:28.539Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="unlink" dataType="peo" tid="55beafb6-a80b-48ab-8a7b-9e1a98d67b24">
            <description>PEO has been unlinked successfully</description>
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
Error responses
Peo not found
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-27T08:55:39.051Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="link" dataType="peoToProjectLink" id="475230">
            <description>PEO not found</description>
            <status>ERROR</status>
        </response>
    </responses>
</pim>
Peo is not available by access rights
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2022-07-06T11:49:25.214Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response dataType="peo" action="unlink" path="/111">
            <status>ERROR</status>
            <description>PEO is not available by access rights</description>
        </response>
    </responses>
</pim>
Project not found
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2023-02-27T09:02:48.326Z</itm>
        <itm key="sourceEnv">web</itm>
    </meta>
    <responses>
        <response action="link" dataType="peoToProjectLink" id="754545">
            <description>Project not found</description>
            <status>ERROR</status>
        </response>
    </responses>
</pim>

Welcome to the AI Chat!

Write a prompt to get started...