{
  "openapi" : "3.1.0",
  "info" : {
    "title" : "OMN Core API",
    "description" : "REST API of OMN (Online Media Net): PIM, DAM, CM, PEO and Common resources plus the Workflow API for processes, tasks and jobs.",
    "version" : "v1"
  },
  "servers" : [ {
    "url" : "https://{omnServer}",
    "description" : "Your OMN installation",
    "variables" : {
      "omnServer" : {
        "description" : "Host name of the OMN installation the requests are sent to (the installation must allow CORS from this documentation's origin)",
        "default" : "my-omn.example.com"
      }
    }
  } ],
  "security" : [ {
    "bearerAuth" : [ ]
  } ],
  "paths" : {
    "/api/core/v1/pim/attributes/{id}/domain-value" : {
      "put" : {
        "tags" : [ "pim" ],
        "operationId" : "addNewDomainValue",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int64"
          }
        }, {
          "name" : "domainValue",
          "in" : "query",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/dam/assets/bin/chunked/persist/{uploadId}" : {
      "put" : {
        "tags" : [ "dam" ],
        "summary" : "Chunked upload - finish",
        "description" : "Finishes the chunked upload session identified by uploadId and persists the uploaded file. The path and tid parameters should match the ones sent to /dam/assets/bin/chunked/start.\n<details># Chunked Upload: Finish - Extended Documentation\n\nFinishes the chunked upload session identified by `{uploadId}` and persists the uploaded file.\n\nSpecified by `AssetUploadRequest`. The `path` and `tid` parameters should be the same as the\nones sent for `/dam/assets/bin/chunked/start`.\n\n## Response\n\n`PimType` with a filled `ResponsesType`. The response contains the status and information\nabout the asset that was uploaded to the system.\n\nIt is possible that during the chunk upload another file with the same name and path or tid\nwas uploaded to the system, or that the target / target directory is not available.\n\n## curl example\n\n```bash\ncurl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/bin/chunked/persist/c9fd0ff5-69e6-4053-b895-887be66ccfd9' \\\n--header 'Authorization: Bearer <TOKEN>' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"path\":\"/MAM/demo/file2.jpg\",\n    \"tid\": \"AAAAA-AAAAA-AAAAAA-AAAAAA\",\n    \"doPreviewsAsync\": true,\n    \"doOverwrite\": true\n}'\n```\n</details>",
        "operationId" : "persistAssetChunkUpload",
        "parameters" : [ {
          "name" : "uploadId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "AssetUploadRequest with the same path and tid used when starting the chunked upload, plus optional doPreviewsAsync and doOverwrite flags.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/AssetUploadRequestDto"
              },
              "examples" : {
                "asset_bin_chunked_persist_request" : {
                  "summary" : "Finish a chunked upload",
                  "value" : "{\n    \"tid\": \"0AA31C0C-F2AE-422C-9C6A-25BAB368706E\",\n    \"path\": \"/MAM/demo/filename.jpg\",\n    \"doPreviewsAsync\": true,\n    \"doOverwrite\": true\n}\n"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing the status and information about the uploaded asset",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "asset_bin_chunked_persist_response" : {
                    "summary" : "The asset has been uploaded",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\">\n    <responses>\n        <response action=\"create\"\n                dataType=\"asset\"\n                id=\"75440\"\n                path=\"/demo/file.jpg\"\n                tid=\"1296BDF9-E367-492C-ACB8-59FA7C310CE8\">\n            <status>SUCCESS</status>\n            <description>The asset has been uploaded</description>\n        </response>\n    </responses>\n</pim>\n"
                  },
                  "asset_bin_chunked_persist_file_exists_error" : {
                    "summary" : "Error response when the file already exists",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<response xmlns=\"http://www.apollon.de/omn\">\n    <details>\n        <itm key=\"supportId\">f21311c9-a868-4d4e-bc48-adaa96436335</itm>\n    </details>\n    <issues>\n        <itm key=\"code\">1000</itm>\n        <itm key=\"description\">An unknown internal error occurred</itm>\n        <itms type=\"details\">\n            <itm key=\"errorMessage\">File already exists by path: '/demo/file.jpg'</itm>\n        </itms>\n    </issues>\n    <status>ERROR</status>\n</response>\n"
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/v1/workflow/start" : {
      "post" : {
        "tags" : [ "Workflow" ],
        "summary" : "Start workflows",
        "description" : "Start one or more workflows by providing a pluginIdentifier of a configured WorkflowConfig function in OMN",
        "operationId" : "startWorkflows",
        "requestBody" : {
          "description" : "Workflow start request containing the start information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkStartRequestDto"
              },
              "example" : {
                "configIdentifier" : "F.WorkflowConfig.DAM",
                "processStartRequests" : [ {
                  "linkedObjects" : [ {
                    "tid" : "3b6d12b1-43a3-4541-921e-b9512570863a",
                    "id" : 1337,
                    "type" : "file"
                  } ],
                  "parameters" : [ {
                    "key" : "date_parameter",
                    "type" : "date",
                    "values" : [ "2000-12-01T05:03:01.075+0200" ]
                  } ]
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ResponseDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/pim/products/retrieve" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Retrieve a list of products",
        "description" : "Retrieve a list of product trees by their identifiers. This endpoint returns detailed information about products, including their articles, variations, attributes, and linked resources. The response is streamed: each product fragment is written as soon as it has been exported, so large exports arrive incrementally. Note that once streaming has started the HTTP status can no longer change - if the export fails mid-stream, the response body is a truncated (not well-formed) document; consumers should always parse the payload strictly to detect this.\n<details># Products Retrieve Extended Documentation\n\n## Product Types\nThe API handles three types of products:\n1. **Product** - The main product entity\n2. **Article** - A specific version of a product\n3. **Variation** - A specific variant of an article\n\n## Product Attributes\nProduct attributes are stored in the related product type (Product, Article, or Variation) within the `<vals>` element.\n\n### Attribute Types\n- **simple** - Basic single-value attribute\n- **localized** - Attribute with language-specific values\n- **multiple** - Attribute that can have multiple values\n- **multi_loc** - Attribute with multiple values that are also localized\n- **domain** - Attribute with domain values\n- **loc_domain** - Attribute with localized domain values\n- **multi_domain** - Attribute with multiple domain values\n- **multi_loc_domain** - Attribute with multiple localized domain values\n\n### Attribute Data Types\n- **string** - Text values\n- **real** - Numeric values\n- **date** - Date and time values (ISO8601 format)\n- **boolean** - True/false values\n- **table** - Tabular data structure\n\n## Detailed Attribute Examples\n\n### Boolean Attributes\n```xml\n<val attr=\"BOOLEAN\" dataType=\"boolean\" inheritance=\"false\" node=\"/Standard/Demo\">\n    <itm>true</itm>\n</val>\n```\n\n### Date Attributes\n```xml\n<val attr=\"DATE\" dataType=\"date\" inheritance=\"false\" node=\"/Standard/Demo\">\n    <itm>2022-12-13T06:17:30.000Z</itm>\n</val>\n```\n\n### Number Attributes\n```xml\n<val attr=\"NUMBER\" dataType=\"number\" inheritance=\"false\" node=\"/Standard/Demo\">\n    <itm>8.472</itm>\n</val>\n```\n\n### String Attributes\n```xml\n<val attr=\"STRING\" dataType=\"text\" inheritance=\"false\" node=\"/Standard/Demo\">\n    <itm>Text</itm>\n</val>\n```\n\n### Table Attributes\nTable attributes allow using listable attributes with domains and/or localization as columns:\n```xml\n<vals>\n    <val attr=\"NUMBER_LISTABLE_TABLE\" dataType=\"number\" inheritance=\"false\" node=\"/Standard/Demo\" parent=\"TABLE\" type=\"multiple\">\n        <itm pos=\"0\">65</itm>\n        <itm pos=\"1\">54</itm>\n    </val>\n    <val attr=\"STRING_LISTABLE_DOMAIN_TABLE\" dataType=\"text\" inheritance=\"false\" node=\"/Standard/Demo\" parent=\"TABLE\" type=\"multi_domain\">\n        <i18N loc=\"en_EN\">\n            <itm key=\"1\" pos=\"0\">1 EN</itm>\n            <itm key=\"2\" pos=\"1\">2 EN</itm>\n        </i18N>\n        <i18N loc=\"fr_FR\">\n            <itm key=\"1\" pos=\"0\"></itm>\n            <itm key=\"2\" pos=\"1\"></itm>\n        </i18N>\n        <i18N loc=\"de_DE\">\n            <itm key=\"1\" pos=\"0\">1 DE</itm>\n            <itm key=\"2\" pos=\"1\">1 DE</itm>\n        </i18N>\n    </val>\n</vals>\n```\n\n### Listable Attributes\nListable attributes can have multiple values:\n```xml\n<vals>\n    <val attr=\"BOOLEAN_LISTED\" dataType=\"boolean\" inheritance=\"false\" node=\"/Standard/Demo\" type=\"multiple\">\n        <itm pos=\"0\">true</itm>\n        <itm pos=\"1\">false</itm>\n    </val>\n    <val attr=\"DATE_LISTED\" dataType=\"date\" inheritance=\"false\" node=\"/Standard/Demo\" type=\"multiple\">\n        <itm pos=\"0\">2022-12-13T06:17:30.000Z</itm>\n        <itm pos=\"1\">2022-12-10T06:17:30.000Z</itm>\n    </val>\n    <val attr=\"NUMBER_LISTED\" dataType=\"number\" inheritance=\"false\" node=\"/Standard/Demo\" type=\"multiple\">\n        <itm pos=\"0\">8.463</itm>\n    </val>\n    <val attr=\"STRING_LISTED\" dataType=\"text\" inheritance=\"false\" node=\"/Standard/Demo\" type=\"multiple\">\n        <itm pos=\"0\">Val</itm>\n        <itm pos=\"1\">Val2</itm>\n    </val>\n</vals>\n```\n\n### Localized Attributes\nLocalized attributes have language-specific values:\n```xml\n<vals>\n    <val attr=\"STRING\" dataType=\"text\" inheritance=\"false\" node=\"/Standard/Demo\" type=\"localized\">\n        <itm loc=\"en_EN\">3343</itm>\n        <itm loc=\"fr_FR\">French</itm>\n    </val>\n    <val attr=\"DATE\" dataType=\"date\" inheritance=\"false\" node=\"/Standard/Demo\" type=\"localized\">\n        <itm loc=\"en_EN\">2022-12-20T11:06:18.000Z</itm>\n    </val>\n    <val attr=\"NUMBER\" dataType=\"number\" inheritance=\"false\" node=\"/Standard/Demo\" type=\"localized\">\n        <itm loc=\"en_EN\">5.432</itm>\n    </val>\n    <val attr=\"BOOLEAN\" dataType=\"boolean\" inheritance=\"false\" node=\"/Standard/Demo\" type=\"localized\">\n        <itm loc=\"en_EN\">true</itm>\n    </val>\n</vals>\n```\n\n### Localized Listable Attributes\nAttributes that are both localized and listable:\n```xml\n<vals>\n    <val attr=\"STRING_LISTED_LOC\" dataType=\"text\" inheritance=\"false\" node=\"/Standard/Demo\" type=\"multi_loc\">\n        <i18N loc=\"en_EN\">\n            <itm pos=\"0\">en</itm>\n        </i18N>\n        <i18N loc=\"de_DE\">\n            <itm pos=\"0\">text</itm>\n        </i18N>\n    </val>\n    <val attr=\"BOOLEAN_LISTED_LOC\" dataType=\"boolean\" inheritance=\"false\" node=\"/Standard/Demo\" type=\"multi_loc\">\n        <i18N loc=\"en_EN\">\n            <itm pos=\"0\">true</itm>\n            <itm pos=\"1\">false</itm>\n        </i18N>\n    </val>\n</vals>\n```\n\n## Response Format Details\nThe response is an XML or JSON structure containing the requested product trees. Each product may include:\n- Metadata (ID, creation date, modification date, status)\n- Product name and node path\n- Attribute values of various types\n- Articles (which may contain variants)\n- Links to channels, assets, and other products </details>",
        "operationId" : "retrieveProducts",
        "requestBody" : {
          "description" : "Product request containing either product IDs or TIDs (transaction IDs) to retrieve the corresponding product trees.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProductRequestDto"
              },
              "examples" : {
                "retrieve_products_basic_request" : {
                  "summary" : "Basic product retrieve request using IDs",
                  "value" : "{\n    \"ids\": [\n        598800\n    ]\n} "
                },
                "retrieve_products_tids_request" : {
                  "summary" : "Product retrieve request using TIDs",
                  "value" : "{\n    \"tids\": [\n        \"78fc9abb-2223-40dc-ac3e-26d42102d050\"\n    ]\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: the product tree is streamed directly to the response body; no schema is advertised because the payload bypasses standard message conversion."
          },
          "400" : {
            "description" : "Invalid input"
          },
          "401" : {
            "description" : "Not authorized"
          },
          "403" : {
            "description" : "Forbidden: No access to the endpoint"
          },
          "404" : {
            "description" : "Not found"
          },
          "500" : {
            "description" : "Server Error: Returns error details in ResponseType"
          }
        }
      }
    },
    "/api/core/v1/pim/products/query" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Query a list of product ids",
        "description" : "Retrieve product transaction IDs (TIDs) based on specific search criteria. This endpoint provides a flexible way to find products that match certain conditions without retrieving the full product data.",
        "operationId" : "queryProducts",
        "requestBody" : {
          "description" : "Product query containing search criteria such as modification date range, classification node paths, and search strategy. All criteria are combined using the AND operator.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProductQueryDto"
              },
              "examples" : {
                "product_query_request" : {
                  "summary" : "Product query with modification date range and node paths",
                  "value" : "{\n  \"modifiedFrom\": \"2018-02-25T01:00:00.000\",\n  \"modifiedUntil\": \"2020-12-25T01:00:00.000\",\n  \"nodePaths\": [\n    \"/seasons/2021/clothes\"\n  ],\n  \"searchStrategy\": \"defaultSearchStrategy\"\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns found product TIDs",
            "content" : {
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductRequestDto"
                },
                "examples" : {
                  "product_query_response" : {
                    "summary" : "List of product TIDs matching the query criteria",
                    "value" : "{\n  \"tids\": [\n    \"8E93BA7A-0521-4FB2-A7B7-40941C7A5AFA\",\n    \"218BCAED-A63B-4CE4-B23F-42B479E4E9FB\",\n    \"C3617CA4-0869-4A60-9CDC-32DCA0322F63\",\n    \"2BA8E460-964E-4197-9292-1E4365B29386\",\n    \"5BD22A27-7C2E-49B9-B90F-00F209900480\",\n    \"D1019EE5-F1E0-49FA-8C2B-AD7FE3F8402C\",\n    \"6BD4B93B-2F35-4B9F-909E-974443B7C96B\",\n    \"DA32F94E-98B8-4F62-B588-EE804D97717B\",\n    \"08E3AF9C-1D28-4962-9C82-4E54633A9A4B\",\n    \"F008FE89-7372-4C17-83AB-670A664B57D9\",\n    \"95E7D312-1C4B-43BF-93C9-2219248ABF33\",\n    \"A905D075-8312-49EA-AB09-65D6FDBEE573\",\n    \"19F2C143-68D0-410C-BC24-53B33B70D270\"\n  ]\n} "
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input error"
          },
          "401" : {
            "description" : "Not authorized"
          },
          "404" : {
            "description" : "Not found"
          },
          "500" : {
            "description" : "Server Error: Returns error details in ResponseType"
          }
        }
      }
    },
    "/api/core/v1/pim/products/persist" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Persist a list of products",
        "description" : "Save product information and product attribute details. This endpoint provides functionality to create new products, rename existing products, and update product attribute values.\n<details># Product Persist Extended Documentation\n\n## Key Capabilities\n1. **Create** new Product, Article, or Variation entities\n2. **Rename** existing Product, Article, or Variation entities\n3. **Change attribute values** for any product entity\n\n## Product Attribute Persisting\n- Product attributes are stored in ProductType.vals\n- Only provided attribute values are persisted; other values not included in the request will remain unchanged\n- Only values of attributes registered in OMN can be saved\n\n## Common Error Responses\nThe API provides detailed error responses for various scenarios:\n\n1. **Product Creation Failures**:\n   - Duplicate name\n   - Non-existing classification node\n\n2. **Article/Variation Creation Failures**:\n   - Duplicate name\n\n3. **Product/Article/Variation Update Failures**:\n   - Duplicate name\n\n4. **Access Restrictions**:\n   - No access to the endpoint\n\nEach error response includes a status code and a descriptive message to help troubleshoot the issue. </details>",
        "operationId" : "persistProducts",
        "requestBody" : {
          "description" : "PimType with ProductsType containing product data to persist. Only provided attribute values are persisted; other values not included in the request will remain unchanged.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "create_new_product" : {
                  "summary" : "Create a new product with name and classification node",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <products>\n        <product>\n            <name>Product1</name>\n            <node>/RootNode/Node</node>\n        </product>\n    </products>\n</pim> "
                },
                "create_new_article" : {
                  "summary" : "Create a new article under an existing product",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <products>\n        <product tid=\"73c7992f-5f66-4d99-9ca7-9efa3f1b8281\">\n            <articles>\n                <article>\n                    <name>Article1</name>\n                </article>\n            </articles>\n        </product>\n    </products>\n</pim> "
                },
                "create_new_variation" : {
                  "summary" : "Create a new variation under an existing article",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <products>\n        <product tid=\"73c7992f-5f66-4d99-9ca7-9efa3f1b8281\">\n            <articles>\n                <article tid=\"e8712bfd-6701-4833-9197-b259ea42dd84\">\n                    <variants>\n                        <variant>\n                            <name>Variant1</name>\n                        </variant>\n                    </variants>\n                </article>\n            </articles>\n        </product>\n    </products>\n</pim> "
                },
                "rename_a_product" : {
                  "summary" : "Rename an existing product",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <products>\n        <product tid=\"73c7992f-5f66-4d99-9ca7-9efa3f1b8281\">\n            <name>Product2</name>\n        </product>\n    </products>\n</pim> "
                },
                "save_product_attributes_and_name" : {
                  "summary" : "Save product attributes and name",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <products>\n        <product tid=\"73c7992f-5f66-4d99-9ca7-9efa3f1b8281\">\n            <name>Product2</name>\n            <vals>\n                <val attr=\"STRING_SIMPLE\">\n                    <itm>string</itm>\n                </val>\n                <val attr=\"NUMBER_SIMPLE\">\n                    <itm>6395629</itm>\n                </val>\n                <val attr=\"ENUMERATION_L\" type=\"multi_loc\">\n                    <i18n loc=\"en_EN\">\n                        <itm pos=\"0\">Brown</itm>\n                        <itm pos=\"1\">Yellow</itm>\n                    </i18n>\n                </val>\n            </vals>\n        </product>\n    </products>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with list of responses",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "products_persist_response" : {
                    "summary" : "Success response for product persist operation",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">response</itm>\n        <itm key=\"messageTime\">2022-12-28T16:27:22.403Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"product\" action=\"persist\">\n            <status>SUCCESS</status>\n            <description>The product has been persisted successfully</description>\n            <details>\n                <itm key=\"tid\">73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>\n                <itm key=\"id\">598800</itm>\n                <itm key=\"name\">Product Name</itm>\n            </details>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid input"
          },
          "401" : {
            "description" : "Not authorized"
          },
          "404" : {
            "description" : "Not found"
          },
          "500" : {
            "description" : "Server Error: Returns error details in ResponseType"
          }
        }
      }
    },
    "/api/core/v1/pim/products/perform" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Perform a list of product actions",
        "description" : "Execute specific actions on products, including deleting and copying products. This endpoint provides a way to manage product lifecycle operations efficiently.\n<details># Products Perform Extended Documentation\n\n## Available Action Types\n1. **Delete** - Removes a product from the system\n2. **Copy** - Creates a duplicate of an existing product\n\n## Important Notes\n- When using the Copy action, the product copy will be available in the same product parent.\n\n## Detailed Action Parameters\n\nActionType's `type` is required and must be provided. Possible values:\n- delete\n- copy\n\nActionType's `dataType` is - `product`\n\n### Delete Action Parameters\n| Parameter Name | As \\<action\\> attribute | Required | Type | Description |\n|----------------|-------------------------|----------|------|-------------|\n| id | Yes | Yes (G1) | Long | ID of the product that should be deleted |\n| tid | Yes | Yes (G1) | string | TID of the product that should be deleted |\n\nNote: Parameters marked with \"G1\" indicate that one of the parameters in group G1 is required (e.g., either id or tid must be provided).\n\n### Copy Action Parameters\n| Parameter Name | As \\<action\\> attribute | Required | Type | Description |\n|----------------|-------------------------|----------|------|-------------|\n| id | Yes | Yes (G1) | Long | ID of the product that should be copied |\n| tid | Yes | Yes (G1) | string | TID of the product that should be copied |\n| newProductName | No | Yes | string | New name of the product that should be copied |\n| newProductTid | No | No | string | New TID of the product that should be copied |\n\n## Common Error Responses\nThe API provides detailed error responses for various scenarios:\n- No product found by the provided identifier\n- Exceptions during the delete/copy operation\n- No access to the endpoint action\n\nEach error response includes a status code and a descriptive message to help troubleshoot the issue. </details>",
        "operationId" : "performProductActions",
        "requestBody" : {
          "description" : "PimType with ActionsType containing actions to perform on products. Supported actions include delete and copy operations.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "delete_product_example" : {
                  "summary" : "Delete a product by TID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"product\" tid=\"37590039-3AEA-4A13-9C3A-C6EC3C94ADCE\" type=\"delete\"/>\n    </actions>\n</pim> "
                },
                "copy_product_example" : {
                  "summary" : "Copy a product with new name and TID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"product\" tid=\"37590039-3aea-4a13-9c3a-c6ec3c94adce\" type=\"copy\">\n            <meta>\n                <itm key=\"newProductName\">NewProduct</itm>\n                <itm key=\"newProductTid\">37590039-aaaa-4a13-9c3a-c6ec3c94adce</itm>\n            </meta>\n         </action>\n     </actions>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with filled ResponsesType",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "products_perform_response" : {
                    "summary" : "Success response for product perform action",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">response</itm>\n        <itm key=\"messageTime\">2022-12-28T16:27:22.403Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"product\" action=\"delete\">\n            <status>SUCCESS</status>\n            <description>The product has been deleted successfully</description>\n            <details>\n                <itm key=\"tid\">37590039-3AEA-4A13-9C3A-C6EC3C94ADCE</itm>\n            </details>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Not authorized"
          },
          "404" : {
            "description" : "Not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/pim/products/links/persist" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Persist a list of product links",
        "description" : "Create links between products. This endpoint provides functionality to establish relationships between products, enabling you to connect related items in various configurations.\n<details># Products Links Persist Extended Documentation\n\n## Product Identification\nProducts can be identified by either:\n- Product TID (Transaction ID)\n- Product ID\n\n## Linking Scenarios\n\nThe API supports several linking scenarios:\n\n1. **Single product to single product** - Link one product to another\n2. **Several products to single product** - Link multiple products to one product\n3. **Single product to several products** - Link one product to multiple products\n4. **Several products to several products** - Link multiple products to multiple products\n\n## Success Response Example\n```xml\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:24:53.286Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">link</itm>\n    </meta>\n    <responses>\n        <response dataType=\"productToProductLink\"\n                action=\"link\">\n            <status>SUCCESS</status>\n            <description>The products has been linked successfully</description>\n            <details>\n                <itms type=\"PRODUCT_REF\">\n                   <itm key=\"targetProductTid\">73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>\n                   <itm key=\"productTid\">e8712bfd-6701-4833-9197-b259ea42dd84</itm>\n               </itms>\n            </details>\n        </response>\n    </responses>\n</pim>\n``` </details>",
        "operationId" : "productsLinksPersist",
        "requestBody" : {
          "description" : "PimType with LinksType containing product linking information. Supports various linking scenarios including single-to-single, multiple-to-single, single-to-multiple, and multiple-to-multiple product relationships.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "link_single_product_to_single_product_by_tids" : {
                  "summary" : "Link single product to single product using TIDs",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n\t<links>\n\t\t<itms type=\"productToProduct\">\n\t\t\t<itms type=\"PRODUCT_REF\">\n\t\t\t\t<itm key=\"targetProductTid\">73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>\n\t\t\t\t<itm key=\"productTid\">e8712bfd-6701-4833-9197-b259ea42dd84</itm>\n\t\t\t</itms>\n\t\t</itms>\n\t</links>\n</pim> "
                },
                "link_single_product_to_single_product_by_ids" : {
                  "summary" : "Link single product to single product using IDs",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n\t<links>\n\t\t<itms type=\"productToProduct\">\n\t\t\t<itms type=\"PRODUCT_REF\">\n\t\t\t\t<itm key=\"targetProductId\">12345</itm>\n\t\t\t\t<itm key=\"productId\">54321</itm>\n\t\t\t</itms>\n\t\t</itms>\n\t</links>\n</pim> "
                },
                "link_several_products_to_single_product" : {
                  "summary" : "Link several products to single product",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n\t<links>\n\t\t<itms type=\"productToProduct\">\n\t\t\t<itms type=\"PRODUCT_REF\">\n\t\t\t\t<itms type=\"productTid\">\n\t\t\t\t\t<itm>73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>\n\t\t\t\t\t<itm>ab96e6b1-d874-4cea-9ab9-141fcf6804bc</itm>\n\t\t\t\t</itms>\n\t\t\t\t<itm key=\"targetProductTid\">e8712bfd-6701-4833-9197-b259ea42dd84</itm>\n\t\t\t</itms>\n\t\t</itms>\n\t</links>\n</pim> "
                },
                "link_single_product_to_several_products" : {
                  "summary" : "Link single product to several products",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n\t<links>\n\t\t<itms type=\"productToProduct\">\n\t\t\t<itms type=\"PRODUCT_REF\">\n\t\t\t\t<itm key=\"productTid\">73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>\n\t\t\t\t<itms type=\"targetProductTid\">\n\t\t\t\t\t<itm>ab96e6b1-d874-4cea-9ab9-141fcf6804bc</itm>\n\t\t\t\t\t<itm>e8712bfd-6701-4833-9197-b259ea42dd84</itm>\n\t\t\t\t</itms>\n\t\t\t</itms>\n\t\t</itms>\n\t</links>\n</pim> "
                },
                "link_several_products_to_several_products" : {
                  "summary" : "Link several products to several products",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n\t<links>\n\t\t<itms type=\"productToProduct\">\n\t\t\t<itms type=\"PRODUCT_REF\">\n\t\t\t\t<itms type=\"productTid\">\n\t\t\t\t\t<itm>73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>\n\t\t\t\t\t<itm>28e09c5f-9f23-4274-8bb5-4e0924d52076</itm>\n\t\t\t\t</itms>\n\t\t\t\t<itms type=\"targetProductTid\">\n\t\t\t\t\t<itm>ab96e6b1-d874-4cea-9ab9-141fcf6804bc</itm>\n\t\t\t\t\t<itm>e8712bfd-6701-4833-9197-b259ea42dd84</itm>\n\t\t\t\t</itms>\n\t\t\t</itms>\n\t\t</itms>\n\t</links>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with filled ResponsesType",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "products_links_persist_response" : {
                    "summary" : "Success response for product links persist operation",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:24:53.286Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">link</itm>\n    </meta>\n    <responses>\n        <response dataType=\"productToProductLink\"\n                action=\"link\">\n            <status>SUCCESS</status>\n            <description>The products has been linked successfully</description>\n            <details>\n                <itms type=\"PRODUCT_REF\">\n                   <itm key=\"targetProductTid\">73c7992f-5f66-4d99-9ca7-9efa3f1b8281</itm>\n                   <itm key=\"productTid\">e8712bfd-6701-4833-9197-b259ea42dd84</itm>\n               </itms>\n            </details>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to perform the action"
          },
          "404" : {
            "description" : "Not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/pim/products/links/perform" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Perform a list of product links actions",
        "description" : "Execute actions on product links. Currently supports the 'unlink' action, which removes the relationship between products.\n<details># Products Links Perform Extended Documentation\n\n## Available Actions\nCurrently, the only supported action is:\n- **unlink** - Removes the link between two products\n\n## Product Identification\nProducts can be identified by either:\n- Product TID (Transaction ID)\n- Product ID\n\n## Request Structure Details\nActionType's `type` is required and must be provided with the value `unlink`.\n\nActionType's `dataType` must be set to `productToProductLink`.\n\n### Required Parameters for Unlink Action\nWhen using the TID method:\n- `productTid`: TID of the source product\n- `targetProductTid`: TID of the target product\n- `type`: Type of the link (e.g., \"PRODUCT_REF\")\n\nWhen using the ID method:\n- `productId`: ID of the source product\n- `targetProductId`: ID of the target product\n- `type`: Type of the link (e.g., \"PRODUCT_REF\")\n\n## Success Response Example\n```xml\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:24:53.286Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">link</itm>\n    </meta>\n    <responses>\n        <response dataType=\"productToProductLink\" action=\"unlink\">\n            <status>SUCCESS</status>\n            <description>The product has been unlinked successfully</description>\n        </response>\n    </responses>\n</pim>\n```\n\n## Error Responses\nThe API provides detailed error responses for various scenarios:\n\n1. **Product Not Found**:\n   - Error when a product with the specified TID or ID doesn't exist\n\n2. **Attribute Definition Not Found**:\n   - Error when a target attribute definition doesn't exist\n\n3. **Unlink Operation Failure**:\n   - Error when the unlink operation couldn't be performed\n\n4. **Access Restriction**:\n   - Error when the user doesn't have permission to use the unlink API\n\nEach error response includes a status code and a descriptive message to help troubleshoot the issue. </details>",
        "operationId" : "performProductLinksActions",
        "requestBody" : {
          "description" : "PimType with ActionsType containing link actions to perform. The action requires additional information provided in MetaType in key/value format.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "unlink_products_by_tid" : {
                  "summary" : "Unlink products using TIDs",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <actions>\n        <action dataType=\"productToProductLink\" type=\"unlink\">\n          <meta>\n            <itm key=\"productTid\">product_tid</itm>\n            <itm key=\"targetProductTid\">targetProduct_tid</itm>\n            <itm key=\"type\">PRODUCT_REF</itm>\n          </meta>\n        </action>\n    </actions>\n</pim> "
                },
                "unlink_products_by_id" : {
                  "summary" : "Unlink products using IDs",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <actions>\n        <action dataType=\"productToProductLink\" type=\"unlink\">\n          <meta>\n            <itm key=\"productId\">985547</itm>\n            <itm key=\"targetProductId\">554785</itm>\n            <itm key=\"type\">PRODUCT_REF</itm>\n          </meta>\n        </action>\n    </actions>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with filled ResponsesType",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "products_links_perform_response" : {
                    "summary" : "Success response for product links unlink action",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:24:53.286Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">link</itm>\n    </meta>\n    <responses>\n        <response dataType=\"productToProductLink\" action=\"unlink\">\n            <status>SUCCESS</status>\n            <description>The product has been unlinked successfully</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to perform the action"
          },
          "404" : {
            "description" : "Not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/pim/products/bulk" : {
      "post" : {
        "tags" : [ "pim" ],
        "operationId" : "startBulk",
        "requestBody" : {
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/pim/nodes/retrieve" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "get classification nodes",
        "description" : "Allows you to retrieve classification node structures with their attributes. Provides functionality to get root nodes, children of specific nodes, or nodes by their IDs.\n<details># Nodes Retrieve - Extended Documentation\n\n## Access Restrictions\n**Important**: This API is restricted for users without admin role. Only users with administrative privileges can access this endpoint.\n\n## Request Structure Details\nThe request body should contain a NodesRequest object with one of the following sets of parameters:\n- Classification identifier (classificationId or classificationTid) to retrieve root nodes\n- Path and level to retrieve children of a specific node\n- Array of node IDs to retrieve specific nodes\n\n### Level Parameter Details\nWhen retrieving nodes by path, the `level` parameter specifies how many levels of children to retrieve:\n- Level must be greater than 0\n- Level 1 retrieves immediate children only\n- Higher levels retrieve deeper hierarchies\n\n## Response Format Details\nThe response is a PimType with filled ClassificationNodesType, representing a flattened tree structure of the requested nodes.\n\n## Error Responses Details\nThe API provides detailed error responses for various scenarios:\n\n1. **Missing Required Parameters**:\n   - Error when path, IDs array, or classificationId is not provided\n\n2. **Invalid Level Value**:\n   - Error when the level parameter is set to 0\n\nEach error response includes a status code and a descriptive message to help troubleshoot the issue.\n\n## Use Cases\n- Retrieving the root node of a classification\n- Getting the children of a specific node to build a navigation tree\n- Fetching specific nodes by their IDs for detailed information\n- Building hierarchical structures for product categorization </details>",
        "operationId" : "retrieveNodes",
        "requestBody" : {
          "description" : "NodesRequest object with classification identifier (classificationId or classificationTid) for root nodes, path and level for children, or array of node IDs for specific nodes. Level parameter must be greater than 0.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/NodesRequestDto"
              },
              "examples" : {
                "get_root_node_by_classification_id" : {
                  "summary" : "Get root node by classification ID",
                  "value" : "{\n    \"classificationId\": 18765\n} "
                },
                "get_root_node_by_classification_tid" : {
                  "summary" : "Get root node by classification TID",
                  "value" : "{\n    \"classificationTid\": \"Standard\"\n} "
                },
                "get_children_by_path" : {
                  "summary" : "Get children nodes by path and level",
                  "value" : "{\n    \"path\": \"/Standard\",\n    \"level\": 1\n} "
                },
                "get_nodes_by_ids" : {
                  "summary" : "Get specific nodes by their IDs",
                  "value" : "{\n    \"ids\": [114740]\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with filled ClassificationNodesType representing a flattened tree structure of the requested nodes",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "root_node_response" : {
                    "summary" : "Root node retrieval response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-09-27T12:41:38.795Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">node</itm>\n    </meta>\n    <nodes>\n        <node id=\"15270\"\n            path=\"/\"\n            tid=\"Standard\">\n            <name/>\n        </node>\n    </nodes>\n</pim> "
                  },
                  "children_nodes_response" : {
                    "summary" : "Children nodes retrieval response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-09-27T12:41:38.795Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">node</itm>\n    </meta>\n    <nodes>\n        <node id=\"15271\" parentId=\"15270\" path=\"/Standard/Bekleidung\" tid=\"Bekleidung\">\n            <name/>\n        </node>\n        <node id=\"114740\" parentId=\"15270\" path=\"/Standard/Test\" tid=\"Test\">\n            <name/>\n        </node>\n    </nodes>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided, such as missing required parameters or invalid level value (must be > 0)"
          },
          "401" : {
            "description" : "Unauthorized: User doesn't have permission to access this endpoint (admin role required)"
          },
          "403" : {
            "description" : "Access Forbidden: This API is restricted for users without admin role"
          },
          "500" : {
            "description" : "Server Error: Returns error details in ResponseType for various scenarios like missing parameters or invalid requests"
          }
        }
      }
    },
    "/api/core/v1/pim/nodes/query" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Finds identities by parameter",
        "description" : "Allows you to retrieve classification node IDs based on various criteria. Provides a way to find nodes associated with specific products or attributes.\n<details># Nodes Query - Extended Documentation\n\n## Access Restrictions\n**Important**: This API is restricted for users without admin role. Only users with administrative privileges can access this endpoint.\n\n## Query Criteria Details\nYou can query classification nodes using the following criteria:\n1. **Product ID** - Find nodes associated with a specific product ID\n2. **Product TID** - Find nodes associated with a specific product transaction ID\n3. **Attribute Definition ID** - Find nodes associated with a specific attribute definition ID\n4. **Attribute Definition TID** - Find nodes associated with a specific attribute definition transaction ID\n5. **Attribute ID** - Find nodes associated with a specific attribute ID\n\n## Request Structure Details\nThe request body should contain a NodesQueryRequest object with one of the following parameters:\n- `productId`: ID of the product to query nodes for\n- `productTid`: Transaction ID of the product to query nodes for\n- `attributeDefinitionId`: ID of the attribute definition to query nodes for\n- `attributeDefinitionTid`: Transaction ID of the attribute definition to query nodes for\n- `attributeId`: ID of the attribute to query nodes for\n\n## Response Format Details\nThe response is a NodesRequest object containing:\n- `ids`: Array of node IDs that match the query criteria\n- `level`: Level value associated with the nodes\n\n## Use Cases\n- Finding classification nodes associated with specific products\n- Retrieving nodes related to particular attribute definitions\n- Getting node IDs for subsequent retrieval of full node details\n- Building hierarchical structures based on node relationships </details>",
        "operationId" : "queryNodes",
        "requestBody" : {
          "description" : "NodesQueryRequest object with one query parameter: productId, productTid, attributeDefinitionId, attributeDefinitionTid, or attributeId to find associated classification nodes.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/NodesQueryRequestDto"
              },
              "examples" : {
                "query_nodes_by_product_id" : {
                  "summary" : "Query nodes by product ID",
                  "value" : "{\n    \"productId\": 18765\n} "
                },
                "query_nodes_by_product_tid" : {
                  "summary" : "Query nodes by product TID",
                  "value" : "{\n    \"productTid\": \"A239A197-5287-494A-B5EE-36F3EB0E95AB\"\n} "
                },
                "query_nodes_by_attribute_id" : {
                  "summary" : "Query nodes by attribute ID",
                  "value" : "{\n    \"attributeId\": \"986655\"\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns NodesRequest object containing array of node IDs that match the query criteria and associated level value",
            "content" : {
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NodesRequestDto"
                },
                "examples" : {
                  "nodes_query_response" : {
                    "summary" : "Response with found classification node IDs",
                    "value" : "{\n    \"ids\": [756362, 34345, 43213],\n    \"level\": 1\n} "
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided, such as missing or invalid query parameters"
          },
          "401" : {
            "description" : "Unauthorized: User doesn't have permission to access this endpoint (admin role required)"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred during the query operation"
          }
        }
      }
    },
    "/api/core/v1/pim/nodes/persist" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Create or update classification nodes",
        "description" : "Allows you to save classification node structures. Provides functionality to create new nodes (both root nodes and child nodes) and update existing nodes. Multiple nodes can be persisted in a single request.\n<details># Nodes Persist - Extended Documentation\n\n## Access Restrictions\n**Important**: This API is restricted for users without admin role. Only users with administrative privileges can access this endpoint.\n\n## Request Structure Details\n\n### Creating a Node\nWhen creating a node, you must specify:\n- A parent node (using either parentId or parentPath)\n- A node identifier (tid)\n- Localized names for the node\n\n### Creating a Root Node\nWhen creating a root node, you must specify:\n- A classification identifier (classificationTid)\n- A node identifier (tid)\n- Localized names for the node\n\n### Updating a Node\nWhen updating a node, you must identify the node using either:\n- Node path\n- Node ID\n\n## Error Responses Details\nThe API provides detailed error responses for various scenarios:\n\n1. **Parent Node Not Found**:\n   - Error when creating a node with a non-existent parent node (by ID or path)\n\n2. **Node Not Found for Update**:\n   - Error when updating a node that doesn't exist (by ID or path)\n\n3. **Access Restriction**:\n   - Error when the user doesn't have permission to use the nodes persist API\n\n4. **Classification Not Found**:\n   - Error when creating a root node with a non-existent classification\n\nEach error response includes a status code and a descriptive message to help troubleshoot the issue. </details>",
        "operationId" : "persistClassificationNodes",
        "requestBody" : {
          "description" : "PimType with ClassificationNodesType. For creating nodes, specify parent node (parentId or parentPath) and node identifier (tid). For root nodes, specify classificationTid. For updating, identify node using path or ID.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "create_node_with_parent_id" : {
                  "summary" : "Create a new node with parent ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <nodes>\n       <node\n         parentId=\"123\"\n         tid=\"Accessories\">\n           <name>\n             <itm loc=\"en_EN\">Accessories EN</itm>\n             <itm loc=\"de_DE\">Accessories DE</itm>\n             <itm loc=\"fr_FR\">Accessories FR</itm>\n            </name>\n       </node>\n    </nodes>\n</pim> "
                },
                "create_node_with_parent_path" : {
                  "summary" : "Create a new node with parent path",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n   <nodes>\n       <node\n         parentPath=\"/Standard/Bekleidung\"\n         tid=\"Accessories\">\n           <name>\n             <itm loc=\"en_EN\">Accessories EN</itm>\n             <itm loc=\"de_DE\">Accessories DE</itm>\n             <itm loc=\"fr_FR\">Accessories FR</itm>\n            </name>\n       </node>\n    </nodes>\n</pim> "
                },
                "create_root_node" : {
                  "summary" : "Create a new root node",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n   <nodes>\n       <node\n         classificationTid=\"Standart\"\n         tid=\"Standart\">\n           <name>\n             <itm loc=\"en_EN\">Standart EN</itm>\n             <itm loc=\"de_DE\">Standart DE</itm>\n            </name>\n       </node>\n    </nodes>\n</pim> "
                },
                "update_node_by_path" : {
                  "summary" : "Update an existing node by path",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <nodes>\n        <node path=\"/Standard\" tid=\"Standard\">\n           <name>\n               <itm loc=\"en_EN\">Standard EN 1</itm>\n               <itm loc=\"fr_FR\">Standard FR 1</itm>\n            </name>\n        </node>\n    </nodes>\n</pim> "
                },
                "update_node_by_id" : {
                  "summary" : "Update an existing node by ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <nodes>\n        <node id=\"654332\" tid=\"Standard\">\n           <name>\n               <itm loc=\"en_EN\">Standard EN 1</itm>\n               <itm loc=\"fr_FR\">Standard FR 1</itm>\n            </name>\n        </node>\n    </nodes>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with responses containing statuses about each persisted node",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "nodes_persist_response" : {
                    "summary" : "Successful node creation response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-10-21T08:22:23.363Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response action=\"create\"\n                dataType=\"classNode\"\n                id=\"110140\"\n                path=\"/Standard/Bekleidung/Accessories\"\n                tid=\"Accessories\">\n            <status>SUCCESS</status>\n            <description>Node has been saved</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided, such as missing required parameters or invalid node structure"
          },
          "401" : {
            "description" : "Unauthorized: User doesn't have permission to access the endpoint"
          },
          "403" : {
            "description" : "Access Forbidden: This API is restricted for users without admin role. Only users with administrative privileges can access this endpoint"
          },
          "500" : {
            "description" : "Server Error: Returns error details in ResponseType, such as parent node not found or classification not found"
          }
        }
      }
    },
    "/api/core/v1/pim/nodes/perform" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Perform actions with PIM classification node",
        "description" : "Allows you to execute actions on classification nodes. Currently supports the delete action to remove classification nodes from the system.\n<details># Nodes Perform - Extended Documentation\n\n## Available Actions\nCurrently, the only supported action is:\n- **delete** - Removes a classification node\n\n## Node Identification\nNodes can be identified by either:\n- Node ID\n- Node Path\n\n## Required Parameters for Delete Action\nYou must provide one of the following identifiers:\n- `id`: ID of the node that should be deleted\n- `path`: Path of the node that should be deleted\n\nActionType's `type` is required and must be provided with the value `delete`.\nActionType's `dataType` must be set to `classNode`.\n\n## Error Responses Details\nThe API provides detailed error responses for various scenarios:\n\n1. **Node Not Found**:\n   - Error when a node with the specified ID or path doesn't exist\n\n2. **Delete Operation Failure**:\n   - Error when the delete operation couldn't be performed due to various reasons\n\n3. **Access Restriction**:\n   - Error when the user doesn't have permission to use the nodes delete API\n\nEach error response includes a status code and a descriptive message to help troubleshoot the issue. </details>",
        "operationId" : "performNodesActions",
        "requestBody" : {
          "description" : "PimType with ActionsType containing action details. ActionType's type must be 'delete' and dataType must be 'classNode'. Node identification via either ID or path is required.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "delete_node_by_id" : {
                  "summary" : "Delete a classification node by ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"classNode\" id=\"759365\" type=\"delete\"/>\n    </actions>\n</pim> "
                },
                "delete_node_by_path" : {
                  "summary" : "Delete a classification node by path",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"classNode\" path=\"/Root/Node1/Node1.1/\" type=\"delete\"/>\n    </actions>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with filled ResponsesType containing status information about each action performed",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "nodes_perform_response" : {
                    "summary" : "Successful delete operation response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:24:53.286Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n   <responses>\n        <response dataType=\"classNode\"\n                id=\"759365\"\n                action=\"delete\">\n            <status>SUCCESS</status>\n            <description>The node has been deleted successfully</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided, such as missing required parameters or invalid node identification"
          },
          "401" : {
            "description" : "Unauthorized: User doesn't have permission to access the nodes perform API"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred during the delete operation"
          }
        }
      }
    },
    "/api/core/v1/pim/nodes/bulk" : {
      "post" : {
        "tags" : [ "pim" ],
        "operationId" : "startBulk_1",
        "requestBody" : {
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/pim/data-items/{id}/tree" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Get data item with its parent and children by identity",
        "description" : "Retrieve a data item by its unique identifier along with its hierarchical context including parent and children elements. This endpoint provides detailed information about the data item structure and relationships.",
        "operationId" : "getPimDataItemById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-ID-Type",
          "in" : "header",
          "required" : true,
          "schema" : {
            "type" : "string",
            "description" : "Identifier type enumeration for T_ID or DB_ID",
            "enum" : [ "T_ID", "DB_ID" ]
          }
        }, {
          "name" : "ignore-table-attributes",
          "in" : "query",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success: Data item found and returned with its hierarchical context",
            "content" : {
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataItemDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the data item"
          },
          "404" : {
            "description" : "Not Found: Data item with the specified ID does not exist"
          },
          "500" : {
            "description" : "Server Error: An internal server error occurred while retrieving the data item"
          }
        }
      }
    },
    "/api/core/v1/pim/data-items/get-by-ids" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Get several data items by ids",
        "description" : "Retrieve multiple data items by providing a list of identifiers. This endpoint allows batch retrieval of data items with optional filtering of table attributes.",
        "operationId" : "getPimDataItemsByIds",
        "parameters" : [ {
          "name" : "X-ID-Type",
          "in" : "header",
          "required" : true,
          "schema" : {
            "type" : "string",
            "description" : "Identifier type enumeration for T_ID or DB_ID",
            "enum" : [ "T_ID", "DB_ID" ]
          }
        }, {
          "name" : "ignore-table-attributes",
          "in" : "query",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "ignore-inherited-values",
          "in" : "query",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "requestBody" : {
          "description" : "Request containing a list of data item IDs to retrieve. The request must include at least one valid ID for the operation to succeed.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/DataItemGetByIdsRequestDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Data items found and returned",
            "content" : {
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataItemsResponseDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided, such as malformed request body or invalid IDs"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the data items"
          },
          "500" : {
            "description" : "Server Error: An internal server error occurred while retrieving the data items"
          }
        }
      }
    },
    "/api/core/v1/pim/classes/retrieve" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "retrieve classifications",
        "description" : "Allows you to retrieve information about classifications, optionally including their nodes and node attributes. Provides flexibility in how classification data is returned, supporting both flat and hierarchical node structures.\n<details># Classifications Retrieve - Extended Documentation\n\n## Request Parameters Details\nThe request body should contain a ClassificationRequest object with the following parameters:\n\n- **ids**: Array of classification IDs to retrieve (optional)\n- **tids**: Array of classification transaction IDs to retrieve (optional)\n- **withNodes**: Boolean flag to include nodes in the response (default: false)\n- **flatNodes**: Boolean flag to return nodes in a flat structure rather than hierarchical (default: true)\n\n**Important Notes**:\n- If both `ids` and `tids` are absent or empty, all classifications will be returned\n- When `withNodes` is true, nodes are returned with all their attributes\n- The `flatNodes` parameter only applies when `withNodes` is true\n\n## Response Format Details\nThe response is a PimType with filled ClassificationsType. The structure varies depending on the request parameters:\n\n1. **Without nodes**: Only classification information is returned\n2. **With flat nodes**: Classifications and nodes are returned as separate collections\n3. **With hierarchical nodes**: Nodes are nested within their parent classifications\n\n## Example Response Structure with Flat Nodes\nThe response includes both classifications and a separate list of nodes with their attributes:\n\n```\n<pim>\n    <meta>...</meta>\n    <classes>\n        <class tid=\"Standard\">\n            <name/>\n        </class>\n    </classes>\n    <nodes>\n        <!-- Nodes are listed separately with references to their classification -->\n        <node id=\"15370\" path=\"/Standard\">\n            <name/>\n            <attr inheritance=\"visible\" key=\"gender\" level=\"p\" localized=\"true\" restriction=\"optional\">\n                <!-- Attribute details -->\n            </attr>\n        </node>\n        <node id=\"15371\" parentId=\"15370\" parentPath=\"/Standard\" path=\"/Standard/Bekleidung\">\n            <name/>\n        </node>\n    </nodes>\n</pim>\n```\n\n## Use Cases\n- Retrieving classification metadata for system integration\n- Building classification hierarchies for product categorization\n- Accessing node attributes for product classification rules\n- Exploring the complete classification structure of the system </details>",
        "operationId" : "retrieveClassifications",
        "requestBody" : {
          "description" : "ClassificationRequest object with optional arrays of IDs or TIDs. Include 'withNodes' flag to retrieve nodes, and 'flatNodes' to control structure. Empty request returns all classifications.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/ClassificationRequestDto"
              },
              "examples" : {
                "get_classifications_by_tids" : {
                  "summary" : "Get classifications by transaction IDs",
                  "value" : "{\n    \"tids\": [\"Standard\", \"Standart\"]\n} "
                },
                "get_classifications_by_ids" : {
                  "summary" : "Get classifications by IDs",
                  "value" : "{\n    \"ids\": [15360, 1]\n} "
                },
                "get_classifications_with_flat_nodes" : {
                  "summary" : "Get classifications with nodes in flat structure",
                  "value" : "{\n    \"tids\": [\"Standard\"],\n    \"withNodes\": true\n} "
                },
                "get_classifications_with_hierarchical_nodes" : {
                  "summary" : "Get classifications with nodes in hierarchical structure",
                  "value" : "{\n    \"tids\": [\"Standard\"],\n    \"withNodes\": true,\n    \"flatNodes\": false\n} "
                },
                "get_all_classifications" : {
                  "summary" : "Get all classifications",
                  "value" : "{} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with filled ClassificationsType. Structure varies based on request parameters (with/without nodes, flat/hierarchical)",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "classifications_without_nodes_response" : {
                    "summary" : "Classifications without nodes response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-12-21T08:44:09.377Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">classification</itm>\n    </meta>\n    <classes>\n        <class tid=\"Standard\">\n            <name/>\n        </class>\n        <class tid=\"Standart\">\n            <name/>\n        </class>\n    </classes>\n</pim> "
                  },
                  "classifications_with_flat_nodes_response" : {
                    "summary" : "Classifications with flat nodes response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-12-21T08:44:09.377Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">classification</itm>\n    </meta>\n    <classes>\n        <class tid=\"Standard\">\n            <name/>\n        </class>\n    </classes>\n    <nodes>\n        <!-- Nodes are listed separately with references to their classification -->\n        <node id=\"15370\" path=\"/Standard\">\n            <name/>\n            <attr inheritance=\"visible\" key=\"gender\" level=\"p\" localized=\"true\" restriction=\"optional\">\n                <!-- Attribute details -->\n            </attr>\n        </node>\n        <node id=\"15371\" parentId=\"15370\" parentPath=\"/Standard\" path=\"/Standard/Bekleidung\">\n            <name/>\n        </node>\n    </nodes>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided in the request parameters"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Requested classifications not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred during retrieval"
          }
        }
      }
    },
    "/api/core/v1/pim/classes/persist" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Persist a list of classifications",
        "description" : "Allows you to save classifications and classification nodes with their attributes. Provides functionality to create new classifications, update existing ones, and manage the hierarchical structure of classification nodes.\n<details># Classifications Persist - Extended Documentation\n\n## Key Capabilities\n1. **Create** new classifications\n2. **Update** existing classifications\n3. **Create** classification nodes and node attributes\n4. **Update** classification nodes and node attributes\n\n## Important Notes\n- A classification must have a **root node** which name equals the classification name. The root node must be created first.\n- Nodes are created/updated strictly in the order specified in the request.\n- A root node does not have a parent node.\n- Be precise with classification TID values. A classification will be created if it is not found by TID.\n\n## Error Response Examples\n\n### Classification Not Found\nWhen attempting to update a classification that doesn't exist:\n```xml\n<pim>\n    <responses>\n        <response dataType=\"classification\" action=\"create\">\n            <status>ERROR</status>\n            <description>There is no classification with the given identity '15342'</description>\n        </response>\n    </responses>\n</pim>\n```\n\n### Unable to Create Root Node\nWhen the root node name doesn't match the classification name:\n```xml\n<pim>\n    <responses>\n        <response dataType=\"classification\" action=\"create\">\n            <status>ERROR</status>\n            <description>Unable to create the root node, identifier should match the classification name, classification: NewClassification, root node: NewClassification1</description>\n        </response>\n    </responses>\n</pim>\n```\n\n### Language Code Not Found\nWhen an invalid language code is provided:\n```xml\n<pim>\n    <responses>\n        <response dataType=\"classification\" action=\"create\">\n            <status>WARNING</status>\n            <description>The classification has been saved successfully|Cannot find language id with code 'e_DE'.</description>\n        </response>\n    </responses>\n</pim>\n```\n\n## Use Cases\n- Creating new product classification hierarchies\n- Updating existing classification structures\n- Adding attributes to classification nodes\n- Building complex product categorization systems\n- Defining attribute inheritance rules within classification hierarchies </details>",
        "operationId" : "persistClassifications",
        "requestBody" : {
          "description" : "PimType with ClassificationsType and optionally ClassificationNodesType. For new classifications, root node name must match classification name. Nodes are processed in the order specified.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "create_classification_without_nodes" : {
                  "summary" : "Create a simple classification without nodes",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-12-05T11:38:06.882Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">classification</itm>\n    </meta>\n    <classes>\n        <class tid=\"NewClassification\">\n        </class>\n    </classes>\n</pim> "
                },
                "create_classification_with_nodes" : {
                  "summary" : "Create a classification with localizations, nodes, and attributes",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-12-05T11:38:06.882Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">classification</itm>\n    </meta>\n    <classes>\n        <class tid=\"Classification\">\n            <name>\n                <itm loc=\"en_GB\">Class_en</itm>\n                <itm loc=\"de_DE\">Class_de</itm>\n            </name>\n            <meta>\n                <!-- Additional metadata -->\n            </meta>\n        </class>\n    </classes>\n    <nodes>\n        <!-- Root node (must match classification name) -->\n        <node path=\"/Classification\">\n            <attr key=\"product_id\"\n                level=\"p\"\n                inheritance=\"visible\"\n                restriction=\"optional\"\n                localized=\"false\"/>\n        </node>\n        <!-- Child node -->\n        <node parentId=\"00000\" path=\"/Classification/node\" parentPath=\"/Classification\">\n            <attr key=\"product_title\"\n                level=\"p\"\n                inheritance=\"visible\"\n                restriction=\"optional\"\n                localized=\"true\"/>\n        </node>\n        <!-- Grandchild node -->\n        <node parentId=\"00001\" path=\"/Classification/node/node1\" parentPath=\"/Classification/node\">\n            <attr key=\"description_long\"\n                level=\"p\"\n                inheritance=\"visible\"\n                restriction=\"optional\"\n                localized=\"true\"/>\n        </node>\n    </nodes>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing statuses about each persisted classification",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "classification_created_response" : {
                    "summary" : "Successful classification creation response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-11-17T03:22:30.207Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">classification</itm>\n    </meta>\n    <responses>\n        <response dataType=\"classification\" action=\"create\" tid=\"NewClassification\">\n            <status>SUCCESS</status>\n            <description>The classification has been created successfully</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "classification_updated_response" : {
                    "summary" : "Successful classification update response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-11-17T03:22:30.207Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">classification</itm>\n    </meta>\n    <responses>\n        <response dataType=\"classification\" action=\"update\" tid=\"NewClassification\">\n            <status>SUCCESS</status>\n            <description>The classification has been saved successfully</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "classification_not_found_error" : {
                    "summary" : "Error response when classification is not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response dataType=\"classification\" action=\"create\">\n            <status>ERROR</status>\n            <description>There is no classification with the given identity '15342'</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "unable_to_create_root_node_error" : {
                    "summary" : "Error response when unable to create root node",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response dataType=\"classification\" action=\"create\">\n            <status>ERROR</status>\n            <description>Unable to create the root node, identifier should match the classification name, classification: NewClassification, root node: NewClassification1</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided, such as root node name mismatch or invalid language codes"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Classification not found when attempting to update non-existent classification"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred during persistence operation"
          }
        }
      }
    },
    "/api/core/v1/pim/classes/perform" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Perform actions for classifications",
        "description" : "Allows you to execute actions on classifications. Currently supports the delete action, which removes classifications and their associated classification nodes with attributes from the system.\n<details># Classifications Perform - Extended Documentation\n\n## Classification Identification Details\nYou must provide one of the following identifiers:\n- **tid**: Transaction ID of the classification\n- **id**: ID of the classification\n\n**Important Notes**:\n- Actions are performed by TID if both TID and ID parameters are present in the request.\n\n## Error Response Examples\n\n### Classification Not Found by ID\n```xml\n<pim>\n    <responses>\n        <response action=\"delete\" dataType=\"classification\" id=\"241001\">\n            <description>The classification not found by given id: '241001'</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim>\n```\n\n### Classification Not Found by TID\n```xml\n<pim>\n    <responses>\n        <response action=\"delete\" dataType=\"classification\" tid=\"ClassificationNotExists\">\n            <description>The classification not found by given tid: 'ClassificationNotExists'</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim>\n```\n\n### Wrong Data Type\n```xml\n<pim>\n    <responses>\n        <response action=\"delete\" dataType=\"classification\" tid=\"Classification\">\n            <description>The data type of the passed item is wrong. It must be 'classification'</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim>\n```\n\n### Missing TID and ID Request Attributes\n```xml\n<pim>\n    <responses>\n        <response action=\"delete\" dataType=\"classification\">\n            <description>Classification attributes missing: 'tid' or 'id' attribute must be</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim>\n```\n\n## Use Cases\n- Removing obsolete or deprecated classifications\n- Cleaning up test classifications\n- Restructuring the classification system by removing old hierarchies\n- Managing the lifecycle of product categorization structures </details>",
        "operationId" : "performClassifications",
        "requestBody" : {
          "description" : "PimType with ActionsType containing action details. Must provide either 'tid' (transaction ID) or 'id' for classification identification. Actions are performed by TID if both are present.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "delete_classification_by_tid" : {
                  "summary" : "Delete a classification by transaction ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"classification\"\n                tid=\"Classification\"\n                type=\"delete\"/>\n    </actions>\n</pim> "
                },
                "delete_classification_by_id" : {
                  "summary" : "Delete a classification by ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"classification\"\n                id=\"24101\"\n                type=\"delete\"/>\n    </actions>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing statuses about each action performed on the classification",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "classifications_perform_response" : {
                    "summary" : "Successful delete operation response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-12-22T03:19:45.983Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response action=\"delete\" dataType=\"classification\" tid=\"Classification\">\n            <description>The classification has been deleted successfully</description>\n            <status>SUCCESS</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "classification_not_found_by_id_error" : {
                    "summary" : "Error response when classification is not found by ID",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response action=\"delete\" dataType=\"classification\" id=\"241001\">\n            <description>The classification not found by given id: '241001'</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "classification_not_found_by_tid_error" : {
                    "summary" : "Error response when classification is not found by TID",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response action=\"delete\" dataType=\"classification\" tid=\"ClassificationNotExists\">\n            <description>The classification not found by given tid: 'ClassificationNotExists'</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "wrong_data_type_error" : {
                    "summary" : "Error response when wrong data type is provided",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response action=\"delete\" dataType=\"classification\" tid=\"Classification\">\n            <description>The data type of the passed item is wrong. It must be 'classification'</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "missing_tid_and_id_error" : {
                    "summary" : "Error response when both TID and ID attributes are missing",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response action=\"delete\" dataType=\"classification\">\n            <description>Classification attributes missing: 'tid' or 'id' attribute must be</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided, such as missing required identifiers or wrong data type"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Requested classification not found by the provided ID or TID"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred during the action"
          }
        }
      }
    },
    "/api/core/v1/pim/classes/bulk" : {
      "post" : {
        "tags" : [ "pim" ],
        "operationId" : "startBulk_2",
        "requestBody" : {
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/pim/attributes/retrieve" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Retrieve a list of attributes",
        "description" : "Allows you to retrieve detailed information about attributes. Provides functionality to get attribute data based on various identifiers, with options to include domain values, default values, and inherited attributes.\n<details># Attributes Retrieve - Extended Documentation\n\n## Retrieval Criteria Details\nYou can retrieve attributes using the following criteria:\n1. **List of attribute IDs** - Get attributes by their direct IDs\n2. **List of product IDs** - Get attributes associated with specific products\n3. **List of product TIDs** - Get attributes associated with specific product transaction IDs\n4. **List of node IDs** - Get attributes associated with specific classification nodes\n5. **List of node paths** - Get attributes associated with specific node paths\n\n## Important Parameters\n- **withDomainValues**: Boolean flag to include domain values in the response (default: false)\n- **withDefaultValues**: Boolean flag to include default values in the response (default: false)\n- **includeParentAttributes**: Boolean flag to include inherited attributes in the response\n\n## Important Notes\n- Only one of the input parameters (`ids`, `productIds`, `productTids`, `nodeIds`, or `nodePaths`) should be specified in a request.\n- For queries by `nodeIds` or `nodePaths`, the default value of `includeParentAttributes` is `false`.\n- For queries by `productTids` or `productIds`, inherited attributes are always included, and the `includeParentAttributes` parameter is ignored.\n\n## Request Structure Details\nThe request body should contain an AttributesRetrieveRequest object with one of the following parameters:\n- `ids`: Array of attribute IDs to retrieve\n- `productIds`: Array of product IDs to retrieve attributes for\n- `productTids`: Array of product transaction IDs to retrieve attributes for\n- `nodeIds`: Array of node IDs to retrieve attributes for\n- `nodePaths`: Array of node paths to retrieve attributes for\n\nAnd optionally:\n- `withDomainValues`: Boolean flag to include domain values\n- `withDefaultValues`: Boolean flag to include default values\n- `includeParentAttributes`: Boolean flag to include inherited attributes\n\n## Response Format Details\nThe response is a PimType with filled AttributesType containing detailed information about the requested attributes.\n\n## Use Cases\n- Retrieving detailed attribute information for display in user interfaces\n- Getting attribute configurations including domain values and default values\n- Accessing all attributes associated with a product, including inherited ones\n- Retrieving node-specific attributes for classification management\n- Building comprehensive attribute documentation for system integration </details>",
        "operationId" : "retrieveAttributes",
        "requestBody" : {
          "description" : "AttributesRetrieveRequest object with one of: ids, productIds, productTids, nodeIds, or nodePaths arrays. Include withDomainValues, withDefaultValues, and includeParentAttributes flags as needed. Only one input parameter should be specified per request.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/AttributesRetrieveRequestDto"
              },
              "examples" : {
                "retrieve_attributes_by_ids_with_domain_values" : {
                  "summary" : "Retrieve attributes by IDs with domain and default values",
                  "value" : "{\n     \"ids\": [46190],\n     \"withDomainValues\": true,\n     \"withDefaultValues\": true\n} "
                },
                "retrieve_attributes_by_product_tids" : {
                  "summary" : "Retrieve attributes by product TIDs with domain and default values",
                  "value" : "{\n     \"productTids\": [\"ec98dde6-4064-465d-a1fb-237e2f10a336\"],\n     \"withDomainValues\": true,\n     \"withDefaultValues\": true\n} "
                },
                "retrieve_attributes_by_product_ids" : {
                  "summary" : "Retrieve attributes by product IDs",
                  "value" : "{\n     \"productIds\": [44812]\n} "
                },
                "retrieve_attributes_by_node_ids_with_parent" : {
                  "summary" : "Retrieve attributes by node IDs with parent attributes",
                  "value" : "{\n     \"nodeIds\": [34812],\n     \"includeParentAttributes\": true\n} "
                },
                "retrieve_attributes_by_node_paths" : {
                  "summary" : "Retrieve attributes by node paths",
                  "value" : "{\n     \"nodePaths\": [\"RootNode/ChildNode\"]\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with filled AttributesType containing detailed information about the requested attributes",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "attributes_retrieve_response_with_domain_values" : {
                    "summary" : "Response with domain and default values",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <attrs>\n        <attr id=\"46190\" inheritance=\"not_visible\" key=\"new1\" level=\"p\" localized=\"false\" restriction=\"optional\">\n            <defaultVal tid=\"domain1\"/>\n            <domainVals allowNewValue=\"false\" mode=\"FULL\" sortDirection=\"MANUAL\">\n                <domainVal tid=\"domain1\">\n                    <itm loc=\"en_GB\">domain1-en</itm>\n                    <itm loc=\"de_DE\">domain1-de</itm>\n                </domainVal>\n            </domainVals>\n        </attr>\n    </attrs>\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2023-02-20T08:13:06.210Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n</pim> "
                  },
                  "attributes_retrieve_response_multiple" : {
                    "summary" : "Response with multiple attributes",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <attrs>\n        <attr id=\"44793\" inheritance=\"not_visible\" key=\"new2\" level=\"p\" localized=\"false\" restriction=\"optional\"/>\n        <attr id=\"46190\" inheritance=\"not_visible\" key=\"new1\" level=\"p\" localized=\"false\" restriction=\"optional\">\n            <defaultVal tid=\"domain1\"/>\n            <domainVals allowNewValue=\"false\" mode=\"FULL\" sortDirection=\"MANUAL\">\n                <domainVal tid=\"domain1\">\n                    <itm loc=\"en_GB\">domain1-en</itm>\n                    <itm loc=\"de_DE\">domain1-dee</itm>\n                </domainVal>\n            </domainVals>\n        </attr>\n    </attrs>\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2023-02-20T08:22:32.516Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided in request parameters"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Requested resources not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred during retrieval"
          }
        }
      }
    },
    "/api/core/v1/pim/attributes/query" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Query a list of attribute ids",
        "description" : "Allows you to retrieve a list of attribute IDs based on various criteria. Provides a way to find attributes associated with specific products or classification nodes.\n<details># Attributes Query - Extended Documentation\n\n## Query Criteria Details\nYou can query attribute IDs using the following criteria:\n1. **Product TID** - Find attributes associated with specific product transaction IDs\n2. **Product ID** - Find attributes associated with specific product IDs\n3. **Node ID** - Find attributes associated with specific node IDs\n4. **Node Path** - Find attributes associated with specific node paths\n\n## Important Notes\n- The `includeParentAttributes` parameter indicates whether to include inherited attributes in the query results.\n- For queries by `nodeId` or `nodePath`, the default value of `includeParentAttributes` is `false`.\n- For queries by `productTid` or `productId`, inherited attributes are always included, and the `includeParentAttributes` parameter is ignored.\n\n## Request Structure Details\nThe request body should contain an AttributesQueryRequest object with one of the following parameters:\n- `productId`: Array of product IDs to query attributes for\n- `productTid`: Array of product transaction IDs to query attributes for\n- `nodeId`: Array of node IDs to query attributes for\n- `nodePath`: Array of node paths to query attributes for\n- `includeParentAttributes`: Boolean flag to include inherited attributes (optional)\n\n## Response Format Details\nThe response is an AttributesRequest object containing an array of attribute IDs that match the query criteria.\n\n## Use Cases\n- Retrieving attribute IDs for subsequent retrieval of full attribute details\n- Finding all attributes associated with a specific product\n- Identifying attributes assigned to a classification node\n- Building comprehensive attribute lists including inherited attributes\n- Preparing data for attribute-based filtering or search operations </details>",
        "operationId" : "queryAttributeIds",
        "requestBody" : {
          "description" : "AttributesQueryRequest object with one query parameter: productId, productTid, nodeId, or nodePath arrays. Include includeParentAttributes flag to retrieve inherited attributes for node-based queries.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/AttributesQueryRequestDto"
              },
              "examples" : {
                "query_attributes_by_product_id" : {
                  "summary" : "Query attributes by product ID",
                  "value" : "{\n     \"productId\": [65874]\n} "
                },
                "query_attributes_by_product_tid" : {
                  "summary" : "Query attributes by product TID",
                  "value" : "{\n     \"productTid\": [150185]\n} "
                },
                "query_attributes_by_node_id" : {
                  "summary" : "Query attributes by node ID",
                  "value" : "{\n     \"nodeId\": [96648]\n} "
                },
                "query_attributes_by_node_path_with_inherited" : {
                  "summary" : "Query attributes by node path with inherited attributes",
                  "value" : "{\n     \"nodePath\": [96648],\n     \"includeParentAttributes\": true\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns AttributesRequest object containing array of attribute IDs that match the query criteria",
            "content" : {
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttributesRequestDto"
                },
                "examples" : {
                  "attributes_query_response" : {
                    "summary" : "Response with found attribute IDs",
                    "value" : "{\n    \"ids\": [75662, 34345, 43213]\n} "
                  },
                  "attributes_query_response_with_inherited" : {
                    "summary" : "Response with found attribute IDs including inherited",
                    "value" : "{\n    \"ids\": [75662, 34345, 43213, 96884, 55478]\n} "
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided in query parameters"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Requested resources not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred during the query operation"
          }
        }
      }
    },
    "/api/core/v1/pim/attributes/persist" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Persist a list of attributes",
        "description" : "Allows you to save node attribute information. Provides functionality to create new attributes and update existing attribute values for classification nodes.\n<details># Attributes Persist - Extended Documentation\n\n## Key Capabilities\n1. **Create** new attribute definitions for nodes\n2. **Update** existing attribute values and properties\n\n## Important Notes\n- When creating an attribute, either `nodePath` or `nodeId` parameters must be specified.\n- When updating attributes, one of the following parameter combinations must be used:\n  - Attribute `id`\n  - `nodeId` and attribute `key`\n  - `nodePath` and attribute `key`\n- The attribute parameter `key` refers to the attribute definition value.\n\n## Error Response Examples\n\n### Attribute Not Found by ID\n```xml\n<pim>\n    <responses>\n        <response action=\"update\" dataType=\"attribute\" key=\"product_id\">\n            <status>ERROR</status>\n            <description>Attribute with id 23456 was not found.</description>\n        </response>\n    </responses>\n</pim>\n```\n\n### Node Not Found by ID\n```xml\n<pim>\n    <responses>\n        <response action=\"create\" dataType=\"attribute\" key=\"product_id\" nodeId=\"23456\">\n            <status>ERROR</status>\n            <description>Node with id 23456 not found</description>\n        </response>\n    </responses>\n</pim>\n```\n\n### Node Not Found by Path\n```xml\n<pim>\n    <responses>\n        <response action=\"create\" dataType=\"attribute\" key=\"product_id\" nodePath=\"RootNode/someNode\">\n            <status>ERROR</status>\n            <description>Node with path RootNode/someNode not found</description>\n        </response>\n    </responses>\n</pim>\n```\n\n## Use Cases\n- Creating new attribute definitions for classification nodes\n- Updating existing attribute configurations\n- Managing domain values and default values for attributes\n- Configuring attribute inheritance and localization properties\n- Setting up attribute restrictions and validation rules </details>",
        "operationId" : "persistAttributes",
        "requestBody" : {
          "description" : "PimType with AttributesType. For creating attributes, specify either nodePath or nodeId. For updating, use attribute id, or nodeId/nodePath with attribute key. Attribute key refers to the attribute definition value.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "create_attribute_by_node_id" : {
                  "summary" : "Create a new attribute by node ID with domain values",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <attrs>\n        <attr nodeId=\"23456\"\n            key=\"gender\"\n            level=\"p\"\n            inheritance=\"visible\"\n            restriction=\"optional\"\n            localized=\"true\">\n            <domainVals allowNewValue=\"false\" sortDirection=\"MANUAL\">\n                <domainVal tid=\"female\">\n                    <itm loc=\"en_EN\">female</itm>\n                    <itm loc=\"de_DE\">weiblich</itm>\n                </domainVal>\n            </domainVals>\n        </attr>\n    </attrs>\n</pim> "
                },
                "create_attribute_by_node_path" : {
                  "summary" : "Create a new attribute by node path",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <attrs>\n        <attr nodePath=\"/RootNode/someNode\"\n            inheritance=\"visible\"\n            key=\"product_id\"\n            level=\"p\"\n            localized=\"false\"\n            restriction=\"optional\"/>\n    </attrs>\n</pim> "
                },
                "update_attribute_by_id" : {
                  "summary" : "Update an existing attribute by ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <attrs>\n        <attr id=\"95547\"\n            inheritance=\"visible\"\n            key=\"product_id\"\n            level=\"p\"\n            localized=\"false\"\n            restriction=\"optional\"/>\n    </attrs>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing statuses about each persisted attribute",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "attribute_created_response" : {
                    "summary" : "Successful attribute creation response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-09-27T12:41:38.795Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">attribute</itm>\n    </meta>\n    <responses>\n        <response dataType=\"attribute\" action=\"create\" id=\"95547\" nodeId=\"23456\">\n            <status>SUCCESS</status>\n            <description>The attribute has been created successfully</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "attribute_updated_response" : {
                    "summary" : "Successful attribute update response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-09-27T12:41:38.795Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">attribute</itm>\n    </meta>\n    <responses>\n        <response dataType=\"attribute\" action=\"update\" id=\"95547\">\n            <status>SUCCESS</status>\n            <description>The attribute has been saved successfully</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "attribute_not_found_by_id_error" : {
                    "summary" : "Error response when attribute is not found by ID",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response action=\"update\" dataType=\"attribute\" key=\"product_id\">\n            <status>ERROR</status>\n            <description>Attribute with id 23456 was not found.</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "node_not_found_by_id_error" : {
                    "summary" : "Error response when node is not found by ID",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response action=\"create\" dataType=\"attribute\" key=\"product_id\" nodeId=\"23456\">\n            <status>ERROR</status>\n            <description>Node with id 23456 not found</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "node_not_found_by_path_error" : {
                    "summary" : "Error response when node is not found by path",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response action=\"create\" dataType=\"attribute\" key=\"product_id\" nodePath=\"RootNode/someNode\">\n            <status>ERROR</status>\n            <description>Node with path RootNode/someNode not found</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "attribute_definition_not_found_error" : {
                    "summary" : "Error response when attribute definition is not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response action=\"create\" dataType=\"attribute\" key=\"not_exists\" nodePath=\"RootNode/someNode\">\n            <status>ERROR</status>\n            <description>Attribute definition: 'not_exists' cannot be found</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided, such as missing required node identifiers or invalid attribute configurations"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Requested attribute or node not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred during persistence operation"
          }
        }
      }
    },
    "/api/core/v1/pim/attributes/perform" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Perform a list of attributes",
        "description" : "Allows you to execute actions on attribute definitions. Currently supports the delete action, which removes attribute definitions from the system.\n<details># Attributes Perform - Extended Documentation\n\n## Available Actions\nCurrently, the only supported action is:\n- **delete** - Removes an attribute definition by ID\n\n## Required Parameters for Delete Action\n- `id`: ID of the attribute definition that should be deleted\n\n## Error Response Examples\n\n### Attribute Not Found\n```xml\n<pim>\n    <responses>\n        <response action=\"delete\" dataType=\"attribute\" id=\"45260\">\n            <description>Attribute not found with given id</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim>\n```\n\n### Missing Attribute ID\n```xml\n<pim>\n    <responses>\n        <response dataType=\"attribute\" action=\"delete\">\n            <status>ERROR</status>\n            <description>\"Attribute 'id' is required to process attribute deletion\"</description>\n        </response>\n    </responses>\n</pim>\n```\n\n## Use Cases\n- Removing obsolete or deprecated attribute definitions\n- Cleaning up test attributes\n- Managing the lifecycle of product attributes\n- Restructuring the attribute system\n\n## Technical Details\nThe request body should contain a PimType with ActionsType. The action requires the attribute ID to be specified in the action attributes. </details>",
        "operationId" : "performAttributes",
        "requestBody" : {
          "description" : "PimType with ActionsType containing action details. The action requires the attribute ID to be specified in the action attributes for delete operations.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "delete_attribute_by_id" : {
                  "summary" : "Delete an attribute definition by ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T10:10:16.774Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <actions>\n        <action dataType=\"attribute\" id=\"98756\" type=\"delete\"/>\n    </actions>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing statuses about each performed action on attributes",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "attributes_perform_response" : {
                    "summary" : "Successful delete operation response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2023-02-14T11:29:11.613Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response action=\"delete\" dataType=\"attribute\" id=\"98756\">\n            <description>Attribute definition has been deleted successfully</description>\n            <status>SUCCESS</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "attribute_not_found_perform_error" : {
                    "summary" : "Error response when attribute is not found for deletion",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response action=\"delete\" dataType=\"attribute\" id=\"45260\">\n            <description>Attribute not found with given id</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "missing_attribute_id_error" : {
                    "summary" : "Error response when attribute ID is required but missing",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response dataType=\"attribute\" action=\"delete\">\n            <status>ERROR</status>\n            <description>\"Attribute 'id' is required to process attribute deletion\"</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided, such as missing required attribute ID"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Requested attribute not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred during the action"
          }
        }
      }
    },
    "/api/core/v1/pim/attributes/bulk" : {
      "post" : {
        "tags" : [ "pim" ],
        "operationId" : "startBulk_3",
        "requestBody" : {
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/pim/attribute-definitions/retrieve" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Retrieve attribute definitions",
        "description" : "Allows you to fetch detailed information about attribute definitions. You can retrieve attribute definitions by their IDs, TIDs (technical identifiers), or get all attribute definitions at once.\n<details># Attribute Definitions Retrieve - Extended Documentation\n\n## Request Parameters Details\nThe request body should contain an AttributeDefinitionsRequest with one of the following parameters:\n- **ids**: Array of attribute definition IDs to retrieve\n- **tids**: Array of attribute definition technical identifiers to retrieve\n- **all**: Boolean flag to retrieve all attribute definitions (default: false)\n\n## Important Notes\n- If the `all` parameter is set to `true`, the `tids` and `ids` values are ignored\n- Attribute definitions are retrieved by `tids` OR `ids`. If both are provided, `ids` are ignored\n\n## Response Format Details\nThe response is a PimType with filled AttributeDefinitionsType containing the requested attribute definitions.\n\n## Error Response Examples\n\n### Invalid Request\n```xml\n<response>\n    <status>ERROR</status>\n    <description>Invalid request parameters</description>\n</response>\n```\n\n### Attribute Definitions Not Found\n```xml\n<response>\n    <status>ERROR</status>\n    <description>No attribute definitions found with the provided identifiers</description>\n</response>\n```\n\n## Use Cases\n- Retrieving attribute definitions for display in user interfaces\n- Getting attribute definition details for validation purposes\n- Fetching attribute definitions for data mapping and integration\n- Building dynamic forms based on attribute definitions\n- Retrieving attribute definitions for documentation or reporting\n\n## Technical Considerations\n- The retrieve endpoint supports multiple retrieval strategies (by IDs, TIDs, or all)\n- Response includes complete attribute definition data including localized names\n- Use this endpoint after querying to get full attribute definition details </details>",
        "operationId" : "retrieveAttributeDefinitions",
        "requestBody" : {
          "description" : "AttributeDefinitionsRequest with one of: ids, tids arrays, or all flag. If all=true, ids and tids are ignored. If both ids and tids are provided, ids are ignored. Only one retrieval strategy should be used per request.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/AttributeDefinitionsRequestDto"
              },
              "examples" : {
                "retrieve_attribute_definitions_by_tids" : {
                  "summary" : "Retrieve attribute definitions by TIDs",
                  "value" : "{\n    \"tids\": [\"product_id\", \"product_title\"]\n} "
                },
                "retrieve_attribute_definitions_by_ids" : {
                  "summary" : "Retrieve attribute definitions by IDs",
                  "value" : "{\n    \"ids\": [15210, 15211]\n} "
                },
                "retrieve_all_attribute_definitions" : {
                  "summary" : "Retrieve all attribute definitions",
                  "value" : "{\n    \"all\": true\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with filled AttributeDefinitionsType containing the requested attribute definitions",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "attribute_definitions_retrieve_response" : {
                    "summary" : "Response with retrieved attribute definitions",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <attrDefs>\n        <attrDef id=\"15210\" tid=\"product_id\" type=\"text\">\n            <name>\n                <itm loc=\"en_EN\">SKU product</itm>\n                <itm loc=\"de_DE\">SKU Produkt</itm>\n            </name>\n        </attrDef>\n        <attrDef id=\"15211\" tid=\"product_title\" type=\"text\">\n            <name>\n                <itm loc=\"en_EN\">Title</itm>\n                <itm loc=\"de_DE\">Titel</itm>\n            </name>\n        </attrDef>\n    </attrDefs>\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-12-23T08:28:03.722Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">attrDefinition</itm>\n    </meta>\n</pim> "
                  },
                  "invalid_request_retrieve_error" : {
                    "summary" : "Error response for invalid request parameters",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response xmlns=\"http://www.apollon.de/omn\">\n            <status>ERROR</status>\n            <description>Invalid request parameters</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "attr_definitions_not_found_error" : {
                    "summary" : "Error response when attribute definitions are not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response xmlns=\"http://www.apollon.de/omn\">\n            <status>ERROR</status>\n            <description>No attribute definitions found for the specified criteria</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Requested attribute definitions not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/pim/attribute-definitions/query" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Query attribute definition IDs by criteria",
        "description" : "Allows you to retrieve attribute definition IDs based on specific criteria. Currently supports filtering attribute definitions by their types.\n<details># Attribute Definitions Query - Extended Documentation\n\n## Query Parameters Details\nYou can query attribute definitions by:\n- **types**: An array of attribute definition types (e.g., \"text\", \"date\", \"number\", \"boolean\", \"ref\", \"table\")\n\n## Request Structure Details\nThe request body should contain an AttributeDefinitionsQueryRequest with the filtering criteria.\n\n## Response Format Details\nThe response is an AttributeDefinitionsRequest containing the IDs of attribute definitions that match the specified criteria.\n\n## Supported Attribute Types\n- **text**: Text-based attributes for string values\n- **date**: Date and time attributes\n- **number**: Numeric attributes for integer and decimal values\n- **boolean**: Boolean attributes for true/false values\n- **ref**: Reference attributes pointing to other entities\n- **table**: Table-based attributes for structured data\n\n## Empty Query Behavior\nIf you provide an empty types array, the response will not contain any IDs and the `all` flag will be `false`.\n\n## Use Cases\n- Retrieving attribute definition IDs for specific types\n- Filtering attribute definitions for further processing\n- Building dynamic attribute definition selection interfaces\n- Preparing data for batch operations on attribute definitions\n- Creating type-specific attribute management tools\n\n## Technical Considerations\n- The query endpoint is optimized for filtering by attribute types\n- Results include only the IDs, not the full attribute definition data\n- Use the retrieve endpoint to get full details after querying </details>",
        "operationId" : "queryAttributeDefinitions",
        "requestBody" : {
          "description" : "AttributeDefinitionsQueryRequest with filtering criteria. Currently supports filtering by types array containing attribute definition types (text, date, number, boolean, ref, table).",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/AttributeDefinitionsQueryRequestDto"
              },
              "examples" : {
                "query_attribute_definitions_by_types" : {
                  "summary" : "Query attribute definitions by multiple types",
                  "value" : "{\n    \"types\": [\"text\", \"date\", \"number\", \"boolean\", \"ref\", \"table\"]\n} "
                },
                "query_attribute_definitions_empty_types" : {
                  "summary" : "Query with empty types array",
                  "value" : "{\n    \"types\": []\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns AttributeDefinitionsRequest with attribute definition IDs that match the specified criteria",
            "content" : {
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttributeDefinitionsRequestDto"
                },
                "examples" : {
                  "attribute_definitions_query_response" : {
                    "summary" : "Response with found attribute definition IDs",
                    "value" : "{\n    \"ids\": [\n        15210,\n        15211,\n        15212,\n        15213,\n        15214,\n        15215,\n        15216,\n        15217,\n        15218,\n        15219,\n        15310,\n        15311,\n        15313,\n        15314,\n        15315,\n        15316,\n        15317,\n        15318,\n        30160,\n        30161\n    ],\n    \"all\": false\n} "
                  },
                  "attribute_definitions_query_response_empty" : {
                    "summary" : "Response for empty query",
                    "value" : "{\n    \"all\": false\n} "
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/pim/attribute-definitions/persist" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Persist a list of attribute definitions",
        "description" : "Allows you to create and update attribute definitions. This endpoint provides functionality to define new attributes and modify existing ones with localized names.\n<details># Attribute Definitions Persist - Extended Documentation\n\n## Key Capabilities\n1. **Create** new attribute definitions\n2. **Update** existing attribute definitions\n\n## Request Structure Details\nThe request body should contain a PimType with filled AttributeDefinitionsType. The structure includes the attribute definition's identifier (tid), type, and localized names.\n\n## Error Response Examples\n\n### Save Failure\n```xml\n<pim>\n    <responses>\n        <response dataType=\"attrDefinition\"\n                id=\"12345\"\n                tid=\"attrDefinitionIdentifier\"\n                action=\"update\">\n            <status>ERROR</status>\n            <description>The attribute definition could not be saved. Reason: {errorMessage}</description>\n        </response>\n    </responses>\n</pim>\n```\n\n### Attribute Definition Not Found\n```xml\n<pim>\n    <responses>\n        <response dataType=\"attrDefinition\"\n                id=\"54321\"\n                action=\"update\">\n            <status>ERROR</status>\n            <description>No attribute definition by id: 54321</description>\n        </response>\n    </responses>\n</pim>\n```\n\n## Use Cases\n- Creating new attribute definitions for product data modeling\n- Updating attribute definitions with improved or corrected names\n- Localizing attribute definitions for multiple languages\n- Establishing standardized attribute definitions across the system\n\n## Technical Details\nThe persist endpoint handles both creation and update operations automatically based on whether the attribute definition already exists in the system. </details>",
        "operationId" : "persistAttributeDefinitions",
        "requestBody" : {
          "description" : "PimType with filled AttributeDefinitionsType. The structure includes the attribute definition's identifier (tid), type, and localized names. Handles both creation and update operations automatically.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "create_attribute_definition" : {
                  "summary" : "Create a new attribute definition",
                  "value" : "<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <attrDefs>\n        <attrDef tid=\"product_tid\" type=\"text\">\n            <name>\n                <itm loc=\"en_GB\">SKU product</itm>\n                <itm loc=\"de_DE\">SKU Produkt</itm>\n            </name>\n        </attrDef>\n    </attrDefs>\n</pim> "
                },
                "update_attribute_definition" : {
                  "summary" : "Update an existing attribute definition",
                  "value" : "<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <attrDefs>\n        <attrDef tid=\"product_tid\" type=\"text\">\n            <name>\n                <itm loc=\"en_GB\">New value</itm>\n                <itm loc=\"de_DE\">New value</itm>\n            </name>\n        </attrDef>\n    </attrDefs>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing statuses about each persisted attribute definition",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "attribute_definition_created_response" : {
                    "summary" : "Successful attribute definition creation response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2023-02-14T08:39:54.996Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response action=\"create\" dataType=\"attrDefinition\" tid=\"product_tid\">\n            <description>The attribute definition has been saved successfully</description>\n            <status>SUCCESS</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "attribute_definition_updated_response" : {
                    "summary" : "Successful attribute definition update response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2023-02-14T08:39:54.996Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">attrDefinition</itm>\n    </meta>\n    <responses>\n        <response action=\"update\" dataType=\"attrDefinition\" tid=\"product_tid\">\n            <description>The attribute definition has been saved successfully</description>\n            <status>SUCCESS</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "save_failure_error" : {
                    "summary" : "Error response when save operation fails",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response dataType=\"attrDefinition\"\n                id=\"12345\"\n                tid=\"attrDefinitionIdentifier\"\n                action=\"update\">\n            <status>ERROR</status>\n            <description>The attribute definition could not be saved. Reason: {errorMessage}</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "attr_definition_not_found_persist_error" : {
                    "summary" : "Error response when attribute definition is not found for update",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response dataType=\"attrDefinition\"\n                id=\"54321\"\n                action=\"update\">\n            <status>ERROR</status>\n            <description>No attribute definition by id: 54321</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Requested attribute definition not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/pim/attribute-definitions/perform" : {
      "post" : {
        "tags" : [ "pim" ],
        "summary" : "Perform a list of attribute definitions",
        "description" : "Allows you to execute actions on attribute definitions. Currently supports the delete action, which removes attribute definitions from the system.\n<details># Attribute Definitions Perform - Extended Documentation\n\n## Available Actions\nCurrently, the only supported action is:\n- **delete** - Removes an attribute definition by ID or identifier\n\n## Important Note\nThe API consumer should provide only one of the attribute definitions identifiers: `tid` or `id` in all actions.\n\n## Error Response Examples\n\n### Attribute Definition Not Found\n```xml\n<pim>\n    <responses>\n        <response action=\"delete\" dataType=\"attrDefinition\" id=\"45260\">\n            <description>There is no attribute definition with the given tid or id</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim>\n```\n\n### Deletion Failure\n```xml\n<pim>\n    <responses>\n        <response dataType=\"attrDefinition\" tid=\"product_tid\" action=\"delete\">\n            <status>ERROR</status>\n            <description>The attribute definition could not be deleted. Reason: {errorMessage}</description>\n        </response>\n    </responses>\n</pim>\n```\n\n## Use Cases\n- Removing obsolete or deprecated attribute definitions\n- Cleaning up test attribute definitions\n- Managing the lifecycle of product attribute definitions\n- Restructuring the attribute definition system\n\n## Technical Details\nThe request body should contain a PimType with ActionsType. The action requires the attribute definition ID or identifier to be specified in the action attributes. </details>",
        "operationId" : "performAttributeDefinitions",
        "requestBody" : {
          "description" : "PimType with ActionsType containing action details. The action requires the attribute definition ID or identifier (tid or id) to be specified in the action attributes. Provide only one identifier per action.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "delete_attribute_definition_by_tid" : {
                  "summary" : "Delete an attribute definition by TID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T10:10:16.774Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <actions>\n        <action dataType=\"attrDefinition\" tid=\"product_tid\" type=\"delete\"/>\n    </actions>\n</pim> "
                },
                "delete_attribute_definition_by_id" : {
                  "summary" : "Delete an attribute definition by ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T10:10:16.774Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <actions>\n        <action dataType=\"attrDefinition\" id=\"45260\" type=\"delete\"/>\n    </actions>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing statuses about each performed action on attribute definitions",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "attribute_definitions_perform_response" : {
                    "summary" : "Successful delete operation response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2023-02-14T11:29:11.613Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response action=\"delete\" dataType=\"attrDefinition\" tid=\"product_tid\">\n            <description>The attribute definition has been deleted successfully</description>\n            <status>SUCCESS</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "attr_definition_not_found_perform_error" : {
                    "summary" : "Error response when attribute definition is not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response action=\"delete\" dataType=\"attrDefinition\" id=\"45260\">\n            <description>There is no attribute definition with the given tid or id</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "deletion_failure_error" : {
                    "summary" : "Error response when deletion fails",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response dataType=\"attrDefinition\" tid=\"product_tid\" action=\"delete\">\n            <status>ERROR</status>\n            <description>The attribute definition could not be deleted. Reason: {errorMessage}</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Requested attribute definition not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/pim/attribute-definitions/bulk" : {
      "post" : {
        "tags" : [ "pim" ],
        "operationId" : "startBulk_4",
        "requestBody" : {
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/peo/peos" : {
      "post" : {
        "tags" : [ "peo" ],
        "summary" : "Get PEOs (deprecated)",
        "description" : "get peos (deprecated)",
        "operationId" : "retrievePeosDeprecated",
        "requestBody" : {
          "description" : "",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PeoRequestDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Peos found",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid input"
          },
          "401" : {
            "description" : "Not authorized"
          },
          "404" : {
            "description" : "Not found"
          },
          "500" : {
            "description" : "Server error"
          }
        }
      }
    },
    "/api/core/v1/peo/peos/retrieve" : {
      "post" : {
        "tags" : [ "peo" ],
        "summary" : "Retrieve PEOs",
        "description" : "Allows you to fetch detailed information about Product Extension Objects (PEOs). You can retrieve PEOs by their IDs or TIDs (technical identifiers) with optional metadata and performance optimization flags.\n<details># PEOs Retrieve - Extended Documentation\n\n## Request Parameters Details\nThe request body should contain a PeoRequest with the following parameters:\n- **ids**: Array of PEO IDs to retrieve\n- **tids**: Array of PEO technical identifiers to retrieve\n- **withMetadata**: Boolean flag to include metadata in the response (default: false)\n- **namesOnly**: Boolean flag to return only PEO names for performance reasons (default: false)\n\n## Important Notes\n- PEOs are retrieved by `tids` OR `ids`. If both are provided, `ids` are ignored\n- The `withMetadata` flag includes creation and modification information\n- The `namesOnly` flag improves performance when only names are needed\n\n## Response Format Details\nThe response is a PimType with PEOs as String containing detailed PEO information including properties, metadata, and project links.\n\n## Use Cases\n- Retrieving PEO information for display in user interfaces\n- Getting PEO details for validation purposes\n- Fetching PEO data for integration with other systems\n- Retrieving PEO information for reporting and analysis\n- Performance-optimized name-only retrieval for UI components\n\n## Technical Considerations\n- Use `namesOnly=true` for performance when only names are required\n- Include metadata when audit information is needed\n- The retrieve endpoint supports both ID and TID-based retrieval </details>",
        "operationId" : "retrievePeos",
        "requestBody" : {
          "description" : "PeoRequest with ids or tids arrays, withMetadata flag for audit information, and namesOnly flag for performance optimization. If both ids and tids are provided, ids are ignored.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PeoRequestDto"
              },
              "examples" : {
                "retrieve_peos_with_metadata_by_tids" : {
                  "summary" : "Retrieve PEOs with metadata by TIDs",
                  "value" : "{\n    \"tids\": [\"55beafb6-a80b-48ab-8a7b-9e1a98d67b24\", \"38b42b94-ffca-445c-b395-fa6ee612cbb3\"],\n    \"withMetadata\": true\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with PEOs containing detailed information including properties, metadata, and project links",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "peos_retrieve_response" : {
                    "summary" : "Response with retrieved PEO details",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2023-02-27T07:20:20.659Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">peo</itm>\n    </meta>\n    <peos>\n        <peo default=\"false\"\n           product=\"ec98dde6-4064-465d-a1fb-237e2f10a336\"\n           template=\"PeoTemplate1\"\n           tid=\"55beafb6-a80b-48ab-8a7b-9e1a98d67b24\">\n            <meta>\n                <itm key=\"createdBy\">admin</itm>\n                <itm key=\"createdDate\">2023-02-27T07:20:20.659Z</itm>\n                <itm key=\"modifiedBy\">admin</itm>\n                <itm key=\"modifiedDate\">2023-02-27T07:20:20.659Z</itm>\n            </meta>\n            <name>PEO name</name>\n            <description>PEO description</description>\n            <properties>\n                <property name=\"property1\" value=\"value1\"/>\n                <property name=\"property2\" value=\"value2\"/>\n            </properties>\n        </peo>\n        <peo default=\"false\"\n           product=\"ec98dde6-4064-465d-a1fb-237e2f10a336\"\n           template=\"PeoTemplate1\"\n           tid=\"38b42b94-ffca-445c-b395-fa6ee612cbb3\">\n            <meta>\n                <itm key=\"createdBy\">admin</itm>\n                <itm key=\"createdDate\">2023-02-27T07:20:20.659Z</itm>\n                <itm key=\"modifiedBy\">admin</itm>\n                <itm key=\"modifiedDate\">2023-02-27T07:20:20.659Z</itm>\n            </meta>\n            <name>PEO other name</name>\n            <description>PEO other description</description>\n            <properties>\n                <property name=\"property1\" value=\"value1\"/>\n                <property name=\"property2\" value=\"value2\"/>\n            </properties>\n        </peo>\n    </peos>\n</pim> "
                  },
                  "peos_not_found_error" : {
                    "summary" : "Error response when no PEOs found with provided identifiers",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response xmlns=\"http://www.apollon.de/omn\">\n            <status>ERROR</status>\n            <description>No PEOs found for the specified identifiers</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Requested PEOs not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/peo/peos/query" : {
      "post" : {
        "tags" : [ "peo" ],
        "summary" : "Query PEO TIDs",
        "description" : "Allows you to retrieve a list of PEO (Product Extension Object) technical identifiers (TIDs) based on specific criteria. Filter PEOs by modification date, project TID, product TID, and PEO names.\n<details># PEOs Query - Extended Documentation\n\n## Query Parameters Details\nYou can query PEOs by one or more of the following criteria (combined with AND operator):\n- **modifiedFrom**: Start date for modification date range\n- **modifiedUntil**: End date for modification date range\n- **tidProject**: Project technical identifier\n- **tidProduct**: Product technical identifier\n- **names**: Array of PEO names\n- **withChildren**: Boolean flag to include PEOs linked to child projects (default: true)\n\n## Important Notes\n- When project TID is set, the PEOs linked to child projects are included by default. Set `withChildren` to false to exclude them.\n- All query parameters are combined with AND operator for filtering\n- Date parameters should be in ISO 8601 format\n\n## Request Structure Details\nThe request body should contain a PeoQuery with the filtering criteria.\n\n## Response Format Details\nThe response is a PeoRequest containing the TIDs of PEOs that match the specified criteria.\n\n## Use Cases\n- Retrieving PEO identifiers for further processing\n- Filtering PEOs based on modification date for synchronization\n- Finding PEOs associated with specific products or projects\n- Building dynamic PEO selection interfaces\n- Preparing data for batch operations on PEOs\n\n## Technical Considerations\n- The query endpoint is optimized for filtering by multiple criteria\n- Results include only the TIDs, not the full PEO data\n- Use the retrieve endpoint to get full details after querying </details>",
        "operationId" : "queryPeos",
        "requestBody" : {
          "description" : "PeoQuery with filtering criteria including modification date range, product TID, project TID, PEO names, and withChildren flag for including child project PEOs. All criteria are combined with AND operator.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PeoQueryDto"
              },
              "examples" : {
                "query_peos_by_product_modified_names_project_with_children" : {
                  "summary" : "Query PEOs with multiple criteria including child projects",
                  "value" : "{\n    \"tidProduct\": \"ec98dde6-4064-465d-a1fb-237e2f10a336\",\n    \"modifiedFrom\": \"2018-02-25T01:00:00.000\",\n    \"modifiedUntil\": \"2023-02-24T01:00:00.000\",\n    \"names\": [\"PEO name\", \"PEO other name\"],\n    \"tidProject\": \"t0t8de6-9874-46a1-f11t-ec98dde6\"\n} "
                },
                "query_peos_by_product_modified_names_project_without_children" : {
                  "summary" : "Query PEOs with multiple criteria excluding child projects",
                  "value" : "{\n    \"tidProduct\": \"ec98dde6-4064-465d-a1fb-237e2f10a336\",\n    \"modifiedFrom\": \"2018-02-25T01:00:00.000\",\n    \"modifiedUntil\": \"2023-02-24T01:00:00.000\",\n    \"names\": [\"PEO name\", \"PEO other name\"],\n    \"tidProject\": \"t0t8de6-9874-46a1-f11t-ec98dde6\",\n    \"withChildren\": false\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PeoRequest with PEO TIDs that match the specified criteria",
            "content" : {
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PeoRequestDto"
                },
                "examples" : {
                  "peos_query_response_with_children" : {
                    "summary" : "Response with found PEO TIDs including child projects",
                    "value" : "{\n    \"tids\": [\n        \"55beafb6-a80b-48ab-8a7b-9e1a98d67b24\",\n        \"38b42b94-ffca-445c-b395-fa6ee612cbb3\",\n        \"8d4e6770-67d2-49db-874c-bf4d5dfa315b\"\n    ]\n} "
                  },
                  "peos_query_response_without_children" : {
                    "summary" : "Response with found PEO TIDs excluding child projects",
                    "value" : "{\n    \"tids\": [\n        \"55beafb6-a80b-48ab-8a7b-9e1a98d67b24\",\n        \"38b42b94-ffca-445c-b395-fa6ee612cbb3\"\n    ]\n} "
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: No matching PEOs found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/peo/peos/persist" : {
      "post" : {
        "tags" : [ "peo" ],
        "summary" : "Persist PEOs",
        "description" : "Allows you to create new Product Extension Objects (PEOs) or update existing ones. You can link PEOs to products and optionally to projects for organizational purposes.\n<details># PEOs Persist - Extended Documentation\n\n## Operations\nThe endpoint supports the following operations:\n- **Create** - Creates a new PEO linked to a product and optionally to projects\n- **Update** - Updates an existing PEO by its ID or TID\n\n## Request Structure Details\nThe request body should contain a PimType with PeosType. For creating a new PEO, you need to specify the product TID and template ID. For updating an existing PEO, you need to provide its ID or TID.\n\n### Required Parameters for Creating a PEO\n- `productTid`: Technical identifier of the product to link the PEO to\n- `templateId`: ID of the template to use for the PEO\n- `name`: Name of the PEO\n\n### Optional Parameters\n- `nodes`: List of projects to link the PEO to (can be specified by TID or ID)\n\n## Response Format Details\nThe response is a PimType with ResponsesType containing statuses about each persisted PEO.\n\n## Use Cases\n- Creating new PEOs for products\n- Linking PEOs to specific projects\n- Updating existing PEO information\n- Managing product extension objects across the system\n- Batch creation or update of multiple PEOs\n\n## Technical Considerations\n- Product TID is required for all PEO operations\n- Template ID is required only for new PEO creation\n- Project linking can be done during creation or separately\n- Update operations require either PEO ID or TID identification </details>",
        "operationId" : "persistPeos",
        "requestBody" : {
          "description" : "PimType with PeosType for creating or updating PEOs. For creation, specify productTid, templateId, and name. For updates, provide PEO ID or TID. Optional nodes array can link PEO to projects.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "create_peo_linked_to_product" : {
                  "summary" : "Create a new PEO linked to a product",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <peos>\n        <peo productTid=\"ec98dde6-4064-465d-a1fb-237e2f10a336\" templateId=\"47220\">\n            <name>PEO name</name>\n        </peo>\n    </peos>\n</pim> "
                },
                "create_peo_linked_to_product_and_projects" : {
                  "summary" : "Create a new PEO linked to product and projects",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <peos>\n        <peo productTid=\"ec98dde6-4064-465d-a1fb-237e2f10a336\" templateId=\"47220\">\n            <name>PEO name</name>\n            <nodes>\n                <node>projectTid1</node>\n                <node>projectTid2</node>\n                <node tid=\"projectTid3\"/>\n                <node id=\"1\"/>\n            </nodes>\n        </peo>\n    </peos>\n</pim> "
                },
                "update_existing_peo" : {
                  "summary" : "Update an existing PEO",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <peos>\n        <peo productTid=\"55beafb6-a80b-48ab-8a7b-9e1a98d67b24\">\n            <name>PEO new name</name>\n        </peo>\n    </peos>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing statuses about each persisted PEO",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "peos_persist_response" : {
                    "summary" : "Successful PEO persistence response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2023-02-27T12:23:02.746Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"peo\" id=\"52730\">\n            <status>SUCCESS</status>\n            <description>PEO has been saved successfully</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "invalid_input_product_tid_required_error" : {
                    "summary" : "Error response when product TID is required",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2023-02-27T12:25:02.746Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"peo\">\n            <status>ERROR</status>\n            <description>Invalid input: Product TID is required</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "product_not_found_error" : {
                    "summary" : "Error response when product is not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2023-02-27T12:26:02.746Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"peo\">\n            <status>ERROR</status>\n            <description>Product with TID 'invalid-tid' not found</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Referenced product or project not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/peo/peos/perform" : {
      "post" : {
        "tags" : [ "peo" ],
        "summary" : "Perform actions on PEOs",
        "description" : "Allows you to execute actions on Product Extension Objects (PEOs). Currently supports delete and copy actions with proper error handling for each operation.\n<details># PEOs Perform - Extended Documentation\n\n## Available Actions\nThe endpoint supports the following actions:\n- **delete** - Removes a PEO by ID or TID\n- **copy** - Creates a copy of an existing PEO\n\n## Request Structure Details\nThe request body should contain a PimType with ActionsType. Each action requires the PEO ID or TID to be specified in the action attributes.\n\n### Required Parameters for Actions\n- `id` or `tid`: Identifier of the PEO that should be deleted or copied (one of these is required)\n- `dataType`: Must be set to \"peo\"\n- `type`: Action type (\"delete\" or \"copy\")\n\nFor the copy action, additional parameters can be provided in the meta section:\n- `name`: Name for the copied PEO\n\n## Response Format Details\nThe response is a PimType with ResponsesType containing statuses about each performed action on PEOs.\n\n## Important Notes\n- Actions are processed separately. Exceptions thrown during the execution of actions will be reported in the response.\n- Each action has its own response status and description\n- Copy actions generate new TIDs and IDs for the copied PEOs\n\n## Use Cases\n- Removing obsolete or deprecated PEOs\n- Creating copies of PEOs for testing or template purposes\n- Managing the lifecycle of product extension objects\n- Batch operations on multiple PEOs\n\n## Technical Considerations\n- Delete operations are permanent and cannot be undone\n- Copy operations preserve most PEO properties but assign new identifiers\n- Error handling is provided for each individual action </details>",
        "operationId" : "performPeos",
        "requestBody" : {
          "description" : "PimType with ActionsType containing action details. Specify PEO by id or tid, set dataType to 'peo', and choose action type ('delete' or 'copy'). For copy actions, include name in meta section.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "delete_peo_by_tid" : {
                  "summary" : "Delete a PEO by TID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"peo\" tid=\"7d534991-b623-418c-a7cb-a273c877a37d\" type=\"delete\"/>\n    </actions>\n</pim> "
                },
                "delete_peo_by_id" : {
                  "summary" : "Delete a PEO by ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"peo\" id=\"2364684\" type=\"delete\"/>\n    </actions>\n</pim> "
                },
                "copy_peo_with_new_name" : {
                  "summary" : "Copy a PEO with a new name",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"peo\" tid=\"ab6492-bc76439a-aaaa-aaaaa\" type=\"copy\">\n            <meta>\n                <itm key=\"name\">PEO copy name</itm>\n            </meta>\n        </action>\n    </actions>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing statuses about each performed action on PEOs",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "peos_perform_delete_response" : {
                    "summary" : "Successful delete operation response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:24:53.286Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"peo\" tid=\"7d534991-b623-418c-a7cb-a273c877a37d\" action=\"delete\">\n            <status>SUCCESS</status>\n            <description>PEO has been deleted successfully</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "peos_perform_copy_response" : {
                    "summary" : "Successful copy operation response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-08-15T13:37:04.635Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"peo\"\n                tid=\"64467fe8-863a-4fcd-ba4e-82914affb3f8\"\n                id=\"76890\"\n                action=\"copy\">\n            <status>SUCCESS</status>\n            <description>peo has been copied</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "peo_not_found_error" : {
                    "summary" : "Error response when PEO is not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:36:54.983Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"peo\"\n                tid=\"7d534991-b623-418c-a7cb-a273c877a37d\"\n                action=\"delete\">\n            <status>ERROR</status>\n            <description>There is no peo with the given tid</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "access_rights_error" : {
                    "summary" : "Error response when PEO is not available by access rights",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:38:16.444Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"peo\"\n                tid=\"7d534991-b623-418c-a7cb-a273c877a37d\"\n                action=\"delete\">\n            <status>ERROR</status>\n            <description>PEO is not available by access rights</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: PEO not found or access rights error"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/peo/peos/links/persist" : {
      "post" : {
        "tags" : [ "peo" ],
        "summary" : "Link PEOs to projects",
        "description" : "Allows you to create links between Product Extension Objects (PEOs) and projects. This endpoint enables you to associate PEOs with specific projects for organizational and access control purposes.\n<details># PEOs Links Persist - Extended Documentation\n\n## Request Structure Details\nThe request body should contain a PimType with LinksType. You can specify the PEO and project to link using either their IDs or TIDs.\n\n### Required Parameters\nYou can specify the PEO and project using either IDs or TIDs:\n- Using TIDs:\n  - `peoTid`: Technical identifier of the PEO\n  - `projectTid`: Technical identifier of the project\n- Using IDs:\n  - `peoId`: ID of the PEO\n  - `projectId`: ID of the project\n\n## Response Format Details\nThe response is a PimType with ResponsesType containing statuses about each linked PEO.\n\n## Use Cases\n- Associating PEOs with specific projects\n- Organizing PEOs by project\n- Setting up project-specific PEO visibility\n- Managing access control for PEOs through project assignments\n\n## Technical Considerations\n- Both PEO and project must exist before linking\n- Links can be created using consistent identifier types (both IDs or both TIDs)\n- Duplicate links are handled gracefully with appropriate error messages\n- Link creation is atomic - either succeeds completely or fails with clear error information </details>",
        "operationId" : "peosLinksPersist",
        "requestBody" : {
          "description" : "PimType with LinksType for creating PEO-to-project links. Specify PEO and project using either IDs (peoId, projectId) or TIDs (peoTid, projectTid). Use consistent identifier types for both entities.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "link_peo_to_project_by_tids" : {
                  "summary" : "Link PEO to project using TIDs",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <links>\n        <itms type=\"peoToProject\">\n            <itms>\n                <itm key=\"peoTid\">55beafb6-a80b-48ab-8a7b-9e1a98d67b24</itm>\n                <itm key=\"projectTid\">acc0000232</itm>\n            </itms>\n        </itms>\n    </links>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing statuses about each linked PEO",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "peo_not_found_links_error" : {
                    "summary" : "Error response when PEO is not found during linking",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2023-02-27T08:55:39.051Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response action=\"link\" dataType=\"peoToProjectLink\">\n            <description>PEO not found with given id or tid</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "project_not_found_links_error" : {
                    "summary" : "Error response when project is not found during linking",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2023-02-27T08:56:39.051Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response action=\"link\" dataType=\"peoToProjectLink\">\n            <description>Project not found with given id or tid</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "link_already_exists_error" : {
                    "summary" : "Error response when link between PEO and project already exists",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response action=\"link\" dataType=\"peoToProjectLink\">\n            <description>Link between PEO and project already exists</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: PEO or project not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/peo/peos/links/perform" : {
      "post" : {
        "tags" : [ "peo" ],
        "summary" : "Perform actions on PEO links",
        "description" : "Allows you to execute actions on the links between Product Extension Objects (PEOs) and projects. Currently supports the unlink action, which removes the association between a PEO and a project.\n<details># PEOs Links Perform - Extended Documentation\n\n## Available Actions\nCurrently, the only supported action is:\n- **unlink** - Removes the link between a PEO and a project\n\n## Request Structure Details\nThe request body should contain a PimType with ActionsType. The action requires the PEO and project identifiers to be specified in the meta section.\n\n### Required Parameters for Unlink Action\nYou can specify the PEO and project using either IDs or TIDs:\n- Using TIDs:\n  - `peoTid`: Technical identifier of the PEO\n  - `projectTid`: Technical identifier of the project\n- Using IDs:\n  - `peoId`: ID of the PEO\n  - `projectId`: ID of the project\n\n## Response Format Details\nThe response is a PimType with ResponsesType containing statuses about each performed action on PEO links.\n\n## Use Cases\n- Removing PEO associations from specific projects\n- Managing project-specific PEO visibility\n- Reorganizing PEO project assignments\n- Cleaning up project-PEO relationships\n\n## Technical Considerations\n- Both PEO and project must exist for unlink operations\n- Unlink operations are idempotent - unlinking non-existent links returns appropriate error messages\n- Actions are atomic and provide clear status feedback\n- Error handling distinguishes between missing entities and missing links </details>",
        "operationId" : "performPeoLinks",
        "requestBody" : {
          "description" : "PimType with ActionsType for unlink operations. Set dataType to 'peoToProjectLink', type to 'unlink', and specify PEO and project identifiers (peoId/projectId or peoTid/projectTid) in the meta section.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing statuses about each performed action on PEO links",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "peo_not_found_unlink_error" : {
                    "summary" : "Error response when PEO is not found during unlinking",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2023-02-27T08:55:39.051Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response action=\"unlink\" dataType=\"peo\">\n            <description>PEO not found with given id or tid</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "project_not_found_unlink_error" : {
                    "summary" : "Error response when project is not found during unlinking",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2023-02-27T08:56:39.051Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response action=\"unlink\" dataType=\"peo\">\n            <description>Project not found with given id or tid</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: PEO or project not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/peo/peos/bulk" : {
      "post" : {
        "tags" : [ "peo" ],
        "operationId" : "startBulk_5",
        "requestBody" : {
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/dam/rncs/retrieve" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "retrieve rncs",
        "description" : "Retrieve a complete list of all Root Node Configurations (RNCs) in the Digital Asset Management system. RNCs represent top-level storage containers with configuration information about storage locations, preview generation settings, server connections, and volume management.\n<details># RNC Retrieve - Extended Documentation\n\n## Overview\nThe RNC Retrieve endpoint provides access to the complete list of Root Node Configurations (RNCs) in the Digital Asset Management system. RNCs represent the top-level storage containers and include critical configuration information about storage locations, server connections, preview generation settings, and volume management.\n\n## Request Structure Details\nThis is a parameter-less endpoint that requires no input data:\n- **No request body required**: The endpoint accepts an empty POST request\n- **No parameters needed**: All available RNCs are returned automatically\n- **Authentication**: Requires valid authorization token\n\n## Response Format Details\nThe response contains PimType with RncsType including comprehensive RNC configurations:\n\n### RNC Core Information\n- **TID**: Root Name Container Transaction ID (unique identifier)\n- **rncIdentifier**: Human-readable RNC identifier (e.g., \"MAM\", \"CONTENT\")\n- **rncIdentity**: Numeric RNC identity\n- **rncVolumeName**: Storage volume name for the RNC\n\n### Storage Configuration\n- **rncLocalPathAsString**: Local file system path for the RNC storage\n- **rncEventBasePath**: Base path for event-based file operations\n- **rncCreationDate**: ISO8601 timestamp of RNC creation\n- **rncModificationDate**: ISO8601 timestamp of last modification\n\n### Preview Generation Settings\n- **rncDisablePreviewGeneration**: Boolean flag to disable/enable preview generation\n- **rncOriginalMaxSize**: Maximum resolution for original images (e.g., \"1280x1024\")\n- **rncOriginalResolution**: DPI resolution setting for images\n- **rncPdfFirstPagePreviewOnly**: Boolean for PDF preview generation strategy\n- **rncUseResolution**: Boolean flag for resolution enforcement\n\n### Server Connection Details\n- **serverHost**: Hostname or IP address of the storage server\n- **serverPort**: Port number for server communication\n- **serverIdentifier**: Server identifier string\n- **serverIdentity**: Numeric server identity\n- **serverDescription**: Optional human-readable server description\n\n### Event Management\n- **rndDisableEvents**: Boolean flag for event processing control\n\n## Use Cases\n- **System Administration**: Discovering available storage containers and their configurations\n- **Infrastructure Management**: Understanding server topology and connection details\n- **Storage Planning**: Identifying available storage locations and their capacities\n- **Configuration Audit**: Reviewing RNC settings for compliance and optimization\n- **Integration Setup**: Obtaining RNC identifiers for API calls and system integration\n- **Monitoring Setup**: Collecting configuration data for system monitoring\n- **Troubleshooting**: Diagnosing storage and server connectivity issues\n- **Preview Management**: Understanding preview generation settings across RNCs\n\n## Technical Considerations\n- **Performance**: Lightweight operation returning cached configuration data\n- **Security**: Access control applies to RNC visibility based on user permissions\n- **Caching**: RNC configurations are typically cached for optimal performance\n- **Consistency**: Configuration changes may require system restart to take effect\n- **Validation**: All returned configurations are validated for consistency\n- **Monitoring**: Failed RNC retrievals indicate system-level issues\n\n## Integration Patterns\n- **System Health Checks**: Include RNC retrieval in system health monitoring\n- **Configuration Management**: Use for automated configuration validation\n- **Storage Discovery**: Implement dynamic storage location discovery\n- **Load Balancing**: Use server information for storage load distribution\n- **Backup Planning**: Identify all storage locations for backup strategies\n\n## Error Scenarios\n- **Authentication Failure**: Invalid or expired authorization token\n- **System Unavailable**: Database or configuration service unavailable\n- **Permission Denied**: Insufficient rights to view RNC configurations\n- **Configuration Corruption**: Invalid or corrupted RNC configuration data\n- **Network Issues**: Connectivity problems with configuration storage\n- **Service Overload**: System temporarily unable to process requests\n\n## Response Analysis\n- **Multiple RNCs**: Typical deployments have multiple RNCs for different content types\n- **Configuration Variance**: Each RNC may have different preview and storage settings\n- **Server Distribution**: RNCs may reference different storage servers\n- **Path Consistency**: Verify path configurations match actual storage setup\n- **Date Tracking**: Use creation/modification dates for change tracking </details>",
        "operationId" : "retrieveRncs",
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with RncsType containing comprehensive configuration information for all Root Name Containers including storage settings, server details, and preview generation configurations",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "rncs_retrieve_response" : {
                    "summary" : "RNC configurations with storage and server details",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-07-18T03:46:11.950Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <rncs>\n        <rnc tid=\"MAM\">\n            <meta>\n                <itm key=\"rncCreationDate\">2022-01-13T05:34:43.262Z</itm>\n                <itm key=\"rncDisablePreviewGeneration\">false</itm>\n                <itm key=\"rncEventBasePath\">/localhost/omn/data/MAM/</itm>\n                <itm key=\"rncIdentifier\">MAM</itm>\n                <itm key=\"rncIdentity\">15030</itm>\n                <itm key=\"rncLocalPathAsString\">/omn/data/MAM/</itm>\n                <itm key=\"rncModificationDate\">2022-01-13T05:34:43.262Z</itm>\n                <itm key=\"rncOriginalMaxSize\">1280x1024</itm>\n                <itm key=\"rncOriginalResolution\">72</itm>\n                <itm key=\"rncPdfFirstPagePreviewOnly\">false</itm>\n                <itm key=\"rncUseResolution\">false</itm>\n                <itm key=\"rncVolumeName\">MAM</itm>\n                <itm key=\"rndDisableEvents\">false</itm>\n                <itm key=\"serverDescription\"/>\n                <itm key=\"serverHost\">localhost</itm>\n                <itm key=\"serverIdentifier\">localhost</itm>\n                <itm key=\"serverIdentity\">15020</itm>\n                <itm key=\"serverPort\">6900</itm>\n            </meta>\n        </rnc>\n        <rnc tid=\"CONTENT\">\n            <meta>\n                <itm key=\"rncCreationDate\">2022-01-13T05:34:43.262Z</itm>\n                <itm key=\"rncDisablePreviewGeneration\">true</itm>\n                <itm key=\"rncEventBasePath\">/localhost/omn/data/CONTENT/</itm>\n                <itm key=\"rncIdentifier\">CONTENT</itm>\n                <itm key=\"rncIdentity\">15031</itm>\n                <itm key=\"rncLocalPathAsString\">/omn/data/CONTENT/</itm>\n                <itm key=\"rncModificationDate\">2022-02-15T08:22:17.845Z</itm>\n                <itm key=\"rncOriginalMaxSize\">1920x1080</itm>\n                <itm key=\"rncOriginalResolution\">96</itm>\n                <itm key=\"rncPdfFirstPagePreviewOnly\">true</itm>\n                <itm key=\"rncUseResolution\">true</itm>\n                <itm key=\"rncVolumeName\">CONTENT</itm>\n                <itm key=\"rndDisableEvents\">false</itm>\n                <itm key=\"serverDescription\">Content Storage Server</itm>\n                <itm key=\"serverHost\">content-server</itm>\n                <itm key=\"serverIdentifier\">content-server</itm>\n                <itm key=\"serverIdentity\">15021</itm>\n                <itm key=\"serverPort\">6901</itm>\n            </meta>\n        </rnc>\n    </rncs>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to retrieve RNC configurations"
          },
          "404" : {
            "description" : "Not Found: RNC configuration service not available"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/dam/dirs/retrieve" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "retrieve directories",
        "description" : "Retrieve a list of sub-directories of a given Root Name Container (RNC) or directory in the Digital Asset Management system. Supports hierarchical directory browsing with configurable depth levels and multiple identification methods.\n<details># Directory Retrieve - Extended Documentation\n\n## Overview\nThe Directory Retrieve endpoint provides comprehensive directory browsing capabilities for the Digital Asset Management (DAM) system. It enables hierarchical navigation through the directory structure with configurable depth levels and multiple identification methods.\n\n## Request Structure Details\nThe endpoint accepts DirectoryRequest objects with flexible identification options:\n\n### Directory Identification Methods\n- **RNC-based**: Use `rncTid` to retrieve top-level directories within a Root Name Container\n- **TID-based**: Use `dirTid` to retrieve sub-directories of a specific directory by Transaction ID\n- **Path-based**: Use `dirPath` to retrieve sub-directories using the directory path\n\n### Level Parameter Options\n- **level: 1** (default): Load immediate children only\n- **level: n** (positive integer): Load n levels deep\n- **level: -1**: Load all levels (complete hierarchy)\n- **level: 0**: Invalid value - will result in error\n\n## Response Format Details\nThe response contains PimType with DirectoriesType including:\n\n### Directory Information\n- **TID**: Unique transaction identifier\n- **Name**: Directory display name\n- **RNC**: Root Name Container reference\n- **Parent**: Parent directory reference (if applicable)\n\n### Directory Metadata\n- **discriminator**: Always \"DIR\" for directories\n- **identity**: Numeric directory ID\n- **creationDate**: ISO8601 timestamp of creation\n- **modificationDate**: ISO8601 timestamp of last modification\n\n## Use Cases\n- **Navigation Interface**: Building directory trees for user navigation\n- **Asset Organization**: Understanding directory structure for asset placement\n- **Hierarchy Exploration**: Mapping complete directory structures\n- **Content Management**: Locating directories for content upload and organization\n- **Directory Discovery**: Finding available directories within specific containers\n- **Metadata Retrieval**: Accessing directory creation and modification information\n\n## Technical Considerations\n- **Performance**: Use appropriate level values to avoid loading unnecessary data\n- **Caching**: Directory structures can be cached based on modification dates\n- **Security**: Access control applies to directory visibility\n- **Scalability**: Large directory trees should use incremental loading (level = 1)\n- **Error Handling**: Invalid level values and non-existent directories return appropriate errors\n\n## Integration Patterns\n- **Lazy Loading**: Start with level=1 and load deeper levels on demand\n- **Full Tree Loading**: Use level=-1 for complete hierarchy when needed\n- **Path-based Navigation**: Use dirPath for breadcrumb-style navigation\n- **Container Browsing**: Use rncTid for exploring top-level container contents\n\n## Error Scenarios\n- **Invalid Level**: level=0 or negative values other than -1\n- **Directory Not Found**: Non-existent TID or path\n- **Access Denied**: Insufficient permissions for directory access\n- **RNC Not Found**: Invalid Root Name Container reference </details>",
        "operationId" : "retrieveDirectories",
        "requestBody" : {
          "description" : "DirectoryRequest specifying which directories to retrieve. Use rncTid for top-level directories, dirTid for sub-directories by TID, or dirPath for sub-directories by path. The level parameter controls depth (1=immediate children, -1=all levels).",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/DirectoryRequestDto"
              },
              "examples" : {
                "get_directories_by_rnc" : {
                  "summary" : "Get top-level directories in an RNC",
                  "value" : "{\n    \"rncTid\": \"MAM\",\n    \"level\": 1\n} "
                },
                "get_directories_by_path" : {
                  "summary" : "Get directories by path",
                  "value" : "{\n    \"dirPath\": \"/DATA\",\n    \"level\": 1\n} "
                },
                "get_directories_by_tid" : {
                  "summary" : "Get sub-directories by directory TID",
                  "value" : "{\n    \"dirTid\": \"2401C4CE-D223-4C3B-AE20-6260DFA6ECC5\",\n    \"level\": 1\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with DirectoriesType containing requested directory information including TID, name, RNC, and metadata",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "dirs_retrieve_response" : {
                    "summary" : "Directory retrieval response with metadata",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-03-22T11:14:11.882Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <dirs>\n        <dir tid=\"tid1\" rnc=\"DATA\">\n            <name>directory1</name>\n            <meta>\n                <itm key=\"discriminator\">DIR</itm>\n                <itm key=\"identity\">26576991</itm>\n                <itm key=\"creationDate\">2019-05-03T15:50:55.664Z</itm>\n                <itm key=\"modificationDate\">2020-02-14T17:58:59.275Z</itm>\n            </meta>\n        </dir>\n        <dir tid=\"tid2\" rnc=\"DATA\">\n            <name>directory2</name>\n            <meta>\n                <itm key=\"discriminator\">DIR</itm>\n                <itm key=\"identity\">26576992</itm>\n                <itm key=\"creationDate\">2019-05-03T15:50:55.664Z</itm>\n                <itm key=\"modificationDate\">2020-02-14T17:58:59.275Z</itm>\n            </meta>\n        </dir>\n    </dirs>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided (e.g., invalid level parameter)"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access directories"
          },
          "404" : {
            "description" : "Not Found: Directory, RNC, or path not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/dam/dirs/persist" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "persist directories",
        "description" : "Create new directories or update existing ones in the Digital Asset Management system. Supports creating directories at root level within RNCs, as subdirectories, and updating directory properties with comprehensive attribute support.\n<details># Directory Persist - Extended Documentation\n\n## Overview\nThe Directory Persist endpoint provides comprehensive directory creation and update capabilities for the Digital Asset Management (DAM) system. It supports creating directories at root level within RNCs, as subdirectories, and updating existing directory properties with full attribute support.\n\n## Request Structure Details\nThe endpoint accepts PimType with DirectoriesType supporting both creation and update operations:\n\n### Directory Creation Parameters\nFor new directory creation, specify exactly one of:\n- **rnc**: Root Name Container ID for top-level directory creation\n- **parent**: Parent directory TID for subdirectory creation\n\nAlways required for creation:\n- **name**: Directory name (must be unique within parent/RNC)\n\n### Directory Update Parameters\nFor existing directory updates:\n- **tid**: Transaction ID of directory to update\n- **name**: New directory name (optional if only updating attributes)\n\n### Directory Attributes Support\nThe endpoint supports comprehensive attribute management:\n\n#### Attribute Types\n- **Boolean**: Simple or localized true/false values\n- **Date**: ISO8601 formatted dates with optional localization\n- **Enumeration**: Predefined value sets with localization support\n- **Number**: Numeric values with locale-specific formatting\n- **String**: Text values with full localization capabilities\n\n#### Localization\n- **Simple Attributes**: Single value for all locales\n- **Localized Attributes**: Locale-specific values (e.g., loc=\"en_US\", loc=\"de_DE\")\n\n## Response Format Details\nThe response contains PimType with ResponsesType providing:\n\n### Success Response Elements\n- **dataType**: Always \"dir\" for directory operations\n- **tid**: Transaction ID of created/updated directory\n- **action**: \"create\" or \"update\" indicating operation type\n- **status**: \"SUCCESS\" for successful operations\n- **description**: Human-readable success message\n\n### Error Response Elements\n- **status**: \"ERROR\" for failed operations\n- **description**: Detailed error message explaining the failure reason\n\n## Use Cases\n- **Initial Setup**: Creating root directories for new projects or content categories\n- **Hierarchy Building**: Constructing complex directory structures incrementally\n- **Organization Restructuring**: Creating new directories for reorganization efforts\n- **Metadata Management**: Setting custom attributes for directory classification\n- **Localization**: Creating locale-specific directory attributes\n- **Directory Renaming**: Updating directory names while preserving structure\n- **Attribute Updates**: Modifying directory metadata without structural changes\n\n## Technical Considerations\n- **Uniqueness**: Directory names must be unique within their parent context\n- **Validation**: Names are validated for file system compatibility\n- **Atomic Operations**: Each directory operation is processed atomically\n- **Cascade Effects**: Directory creation may trigger automatic permission inheritance\n- **Attribute Validation**: Custom attributes are validated against their type definitions\n- **Performance**: Batch operations can create multiple directories efficiently\n\n## Best Practices\n- **Naming Conventions**: Use consistent, descriptive directory names\n- **Hierarchy Planning**: Design directory structure before implementation\n- **Attribute Strategy**: Define attribute schemas before setting values\n- **Error Handling**: Always check response status before proceeding\n- **Localization Planning**: Consider multi-locale requirements from the start\n\n## Error Scenarios\n- **Name Conflicts**: Directory with same name already exists in parent\n- **Missing Parameters**: Required name parameter not provided\n- **Invalid Parent**: Parent directory TID not found or inaccessible\n- **Invalid RNC**: Root Name Container not found or inaccessible\n- **Permission Denied**: Insufficient rights for directory creation/update\n- **Attribute Validation**: Custom attributes fail type or format validation\n- **Name Validation**: Directory name contains invalid characters </details>",
        "operationId" : "persistDirectories",
        "requestBody" : {
          "description" : "PimType with DirectoriesType for directory operations. For creation: specify rnc or parent TID and directory name. For updates: provide directory TID and new properties. Supports comprehensive directory attributes.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "create_directory_in_rnc" : {
                  "summary" : "Create a directory in a Root Name Container",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <dirs>\n        <dir rnc=\"MAM\">\n            <name>New Directory</name>\n        </dir>\n    </dirs>\n</pim> "
                },
                "create_directory_in_parent" : {
                  "summary" : "Create a subdirectory in a parent directory",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <dirs>\n        <dir parent=\"483AAC0B-57F2-4B70-95F9-FF1DAD9AA9C6\">\n            <name>New Directory</name>\n        </dir>\n    </dirs>\n</pim> "
                },
                "update_directory" : {
                  "summary" : "Update an existing directory",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <dirs>\n        <dir tid=\"7D534991-B623-418C-A7CB-A273C877A37D\" rnc=\"MAM\">\n            <name>Updated Directory</name>\n        </dir>\n    </dirs>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing status information about the directory creation or update operation",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "dirs_persist_response" : {
                    "summary" : "Successful directory creation/update response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-05-13T16:20:23.420Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"dir\"\n                tid=\"7D534991-B623-418C-A7CB-A273C877A37D\"\n                action=\"create\">\n            <status>SUCCESS</status>\n            <description>The directory has been saved successfully</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "missing_directory_name_error" : {
                    "summary" : "Error response when directory name is missing",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-07-06T11:45:41.247Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"dir\" action=\"create\">\n            <status>ERROR</status>\n            <description>Missing directory parameter 'name'</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "directory_already_exists_error" : {
                    "summary" : "Error response when directory already exists",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-07-06T11:45:41.247Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"dir\" action=\"create\">\n            <status>ERROR</status>\n            <description>Directory with name 'Directory' already exists</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided (e.g., missing required parameters, name conflicts)"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to create or modify directories"
          },
          "404" : {
            "description" : "Not Found: Parent directory or RNC not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/dam/dirs/perform" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "perform directories",
        "description" : "Execute various operations on directories in the Digital Asset Management system. Supports deletion, moving, copying, and creating directory paths with flexible identification methods and detailed status reporting.\n<details># Directory Perform - Extended Documentation\n\n## Overview\nThe Directory Perform endpoint provides comprehensive directory operation capabilities for the Digital Asset Management (DAM) system. It supports critical directory lifecycle operations including deletion, moving, copying, and batch path creation with flexible identification methods and detailed status reporting.\n\n## Request Structure Details\nThe endpoint accepts PimType with ActionsType supporting multiple directory operations:\n\n### Required Parameters for All Operations\n- **dataType**: Must be \"dir\" to indicate directory operations\n- **type**: Operation type - one of \"delete\", \"move\", \"copy\", \"createPath\"\n\n### Directory Identification Methods\nChoose one identification method:\n- **tid**: Transaction ID of the directory\n- **id**: Numeric ID of the directory  \n- **path**: Full directory path (e.g., \"/MAM/folder/subfolder\")\n\n### Operation-Specific Parameters\n\n#### Delete Operation\n- No additional parameters required\n- Permanently removes the directory and all contents\n\n#### Move Operation\nAdditional meta parameters required:\n- **destinationDirTid**, **destinationDirId**, or **destinationDirPath**: Target location\n- **overwrite**: Boolean indicating whether to overwrite existing directories\n\n#### Copy Operation\nAdditional meta parameters required:\n- **destinationDirTid**, **destinationDirId**, or **destinationDirPath**: Target location\n- **overwrite**: Boolean indicating whether to overwrite existing directories\n\n#### CreatePath Operation\n- Uses **path** parameter to create complete directory hierarchy\n- Automatically creates all intermediate directories if they don't exist\n\n## Response Format Details\nThe response contains PimType with ResponsesType providing detailed operation results:\n\n### Success Response Elements\n- **dataType**: Always \"dir\" for directory operations\n- **tid**: Transaction ID of affected directory\n- **id**: Numeric ID of affected directory (when available)\n- **action**: Operation performed (\"delete\", \"move\", \"copy\", \"createPath\")\n- **path**: Directory path (when applicable)\n- **status**: \"SUCCESS\" for successful operations\n- **description**: Human-readable success message\n- **details**: Additional operation metadata (e.g., monitorId for tracking)\n\n### Error Response Elements\n- **status**: \"ERROR\" for failed operations\n- **description**: Detailed error message with specific failure reason\n- **details**: Additional error context (e.g., collision information)\n\n## Operation Types and Use Cases\n\n### Delete Operations\n- **Cleanup**: Removing obsolete or temporary directories\n- **Content Management**: Cleaning up unused directory structures\n- **Space Management**: Freeing up storage space\n- **Reorganization**: Removing directories during restructuring\n\n### Move Operations\n- **Reorganization**: Moving directories to different locations\n- **Hierarchy Restructuring**: Changing parent-child relationships\n- **Content Migration**: Moving content between containers\n- **Workflow Management**: Moving directories through process stages\n\n### Copy Operations\n- **Backup Creation**: Creating copies for backup purposes\n- **Template Replication**: Duplicating directory structures\n- **Multi-environment Setup**: Copying structures between environments\n- **Version Management**: Creating versioned copies\n\n### CreatePath Operations\n- **Bulk Setup**: Creating complete directory hierarchies at once\n- **Template Deployment**: Setting up predefined directory structures\n- **Automated Organization**: Creating paths based on metadata\n- **Integration Support**: Creating paths from external system data\n\n## Technical Considerations\n- **Atomicity**: Each operation is processed atomically\n- **Monitoring**: Long-running operations return monitor IDs for tracking\n- **Permissions**: Operations respect directory access controls\n- **Validation**: All parameters are validated before execution\n- **Collision Handling**: Configurable overwrite behavior for conflicts\n- **Performance**: Batch operations are optimized for efficiency\n- **Rollback**: Failed operations don't leave partial changes\n\n## Best Practices\n- **Pre-validation**: Verify directory existence before operations\n- **Monitor Tracking**: Use monitor IDs to track long-running operations\n- **Collision Strategy**: Define clear overwrite policies\n- **Error Handling**: Implement comprehensive error handling\n- **Backup Strategy**: Consider backups before destructive operations\n- **Permission Planning**: Ensure adequate permissions before operations\n\n## Error Scenarios\n- **Directory Not Found**: Source directory doesn't exist\n- **Permission Denied**: Insufficient rights for operation\n- **Collision Detected**: Target directory already exists (when overwrite=false)\n- **Invalid Path**: Malformed or invalid directory path\n- **Circular Reference**: Move/copy operations creating circular references\n- **System Resources**: Insufficient disk space or system resources\n- **Concurrent Modification**: Directory modified during operation </details>",
        "operationId" : "performDirectories",
        "requestBody" : {
          "description" : "PimType with ActionsType containing directory operations. Specify dataType='dir', operation type (delete/move/copy/createPath), and directory identification (tid/id/path). Move/copy operations require destination and overwrite parameters.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "delete_directory" : {
                  "summary" : "Delete a directory",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T10:10:16.774Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <actions>\n        <action dataType=\"dir\" tid=\"730DD2AE-3AEA-4A13-9C3A-C6EC3C94ADCE\" type=\"delete\"/>\n    </actions>\n</pim> "
                },
                "move_directory" : {
                  "summary" : "Move a directory to another location",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-08T12:54:32.990Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <actions>\n        <action dataType=\"dir\" tid=\"E769ABBC-9AFC-47F2-8983-8DB40610937B\" type=\"move\">\n        <meta>\n            <itm key=\"destinationDirTid\">EEB36E10-5B45-492A-BAB5-5737DDCC9B12</itm>\n            <itm key=\"overwrite\">false</itm>\n        </meta>\n        </action>\n    </actions>\n</pim> "
                },
                "copy_directory" : {
                  "summary" : "Copy a directory to another location",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-08T12:54:32.990Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <actions>\n        <action dataType=\"dir\" path=\"/MAM/demo/copies/tempAR\" type=\"copy\">\n        <meta>\n            <itm key=\"destinationDirPath\">/MAM/</itm>\n            <itm key=\"overwrite\">false</itm>\n        </meta>\n        </action>\n    </actions>\n</pim> "
                },
                "create_path" : {
                  "summary" : "Create multiple directories at once (path creation)",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"dir\" path=\"/MAM/test2/1\" type=\"createPath\"/>\n    </actions>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing status information about the directory operation including operation details and monitor IDs for tracking",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "dirs_perform_delete_response" : {
                    "summary" : "Successful directory deletion response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-12-09T11:39:25.555Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"dir\"\n                tid=\"51F78647-63AE-4F3E-8D4B-664E070C6AA2\"\n                action=\"delete\">\n            <status>SUCCESS</status>\n            <description>The directory has been deleted successfully</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "dirs_perform_move_response" : {
                    "summary" : "Successful directory move/copy response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-08-18T06:22:10.069Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"dir\"\n                tid=\"E54AC373-09D8-478D-B201-9775D046EF4F\"\n                id=\"23902\"\n                action=\"move\"\n                path=\"/MAM/dirToMove\">\n            <status>SUCCESS</status>\n            <description>dir has been moved</description>\n            <details>\n                <itm key=\"monitorId\">23955</itm>\n            </details>\n        </response>\n    </responses>\n</pim> "
                  },
                  "directory_not_found_error" : {
                    "summary" : "Error response when directory is not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:36:54.983Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"dir\"\n                tid=\"37590039-3AEA-4A13-9C3A-C6EC3C94ADCE2\"\n                action=\"delete\">\n            <status>ERROR</status>\n            <description>Cannot find directory with tid '37590039-3AEA-4A13-9C3A-C6EC3C94ADCE2'</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "collision_during_operation_error" : {
                    "summary" : "Error response when collision occurs during operation",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-08-19T12:46:31.213Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"dir\"\n                tid=\"957836F4-840A-492B-B149-9720D177BC56\"\n                id=\"72030\"\n                action=\"copy\"\n                path=\"/MAM/demo/copies/tempAR\">\n            <status>ERROR</status>\n            <description>Collision during copy. Collision dir name:'tempAR'</description>\n            <details>\n                <itm key=\"collision\">true</itm>\n                <itm key=\"monitorId\">79856</itm>\n            </details>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided (e.g., invalid operation type or missing parameters)"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to perform directory operations"
          },
          "404" : {
            "description" : "Not Found: Directory or destination not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/dam/dirs/bulk" : {
      "post" : {
        "tags" : [ "dam" ],
        "operationId" : "startBulk_6",
        "requestBody" : {
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/dam/attribute-definitions/retrieve" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "Retrieve DAM attribute definitions",
        "description" : "Retrieves DAM metadata attribute definitions by ids or tids, or all of them at once. The response is returned in the same format as PIM attribute definitions.\n<details># DAM Attribute Definitions Retrieve - Extended Documentation\n\nRetrieves DAM metadata attribute definitions. The response uses the same format as the PIM\nattribute definitions.\n\nSpecified by `AttributeDefinitionsRequest`:\n- `ids` - retrieve attribute definitions by id\n- `tids` - retrieve attribute definitions by tid\n- `all` - retrieve all attribute definitions (default: `false`)\n\n## Response\n\n`PimType` with a filled `AttributeDefinitionsType`.\n</details>",
        "operationId" : "retrieveAttributeDefinitions_1",
        "requestBody" : {
          "description" : "AttributeDefinitionsRequest with one of: ids, tids arrays, or the all flag (default false). If all=true, ids and tids are ignored. If both ids and tids are provided, ids are ignored.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/AttributeDefinitionsRequestDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with a filled AttributeDefinitionsType containing the requested DAM metadata attribute definitions",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Requested attribute definitions not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/versions/bin/persist" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "Upload as version",
        "description" : "Uploads a binary file as a new version of an existing asset. The feature creates a version of the file currently on the system and then replaces it with the uploaded file. Semantically identical to the chunked version upload, but performed in a single request without splitting the file into chunks.\n<details># Version Upload - Extended Documentation\n\nSemantic is the same as in the chunked version upload. With this endpoint it is possible to\nupload a file in a single request without splitting it into chunks.\n\nThe \"upload as version\" feature creates a version of the file that is currently on the system\nand then replaces the file on the system with the uploaded one.\n\nThe request is sent as `multipart/form-data`:\n- `payload` - the binary file to upload\n- `params` - a JSON object (`AssetVersionUploadRequest`)\n\n`AssetVersionUploadRequest` supports (among others): `tid`, `versionComment`, `timeoutDate`,\n`protectedAfterDate`, `protectedBeforeDate` (dates in ISO 8601 format).\n\n## Response\n\n`PimType` with a filled `ResponsesType`. The response contains the status and information\nabout the upload asset version operation.\n\n## curl example\n\n```bash\ncurl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/versions/bin/persist' \\\n--header 'Authorization: Bearer <TOKEN>' \\\n--form 'payload=@\"/<FILE_PATH>/artworks-bQbImNIL55TZ52he-gAKJ7w-t500x500.jpg\"' \\\n--form 'params=\"{\\\"versionComment\\\": \\\"Created before upload via API\\\", \\\"tid\\\":\\\"F103F147-428C-4427-AA65-8A46AE066803\\\"}\";type=application/json'\n```\n</details>",
        "operationId" : "uploadAssetVersion",
        "requestBody" : {
          "description" : "Multipart request. The 'payload' part is the binary file; the 'params' part is an AssetVersionUploadRequest JSON object with (among others) tid, versionComment, timeoutDate, protectedAfterDate and protectedBeforeDate (dates in ISO 8601 format).",
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "params" : {
                    "$ref" : "#/components/schemas/AssetVersionUploadRequestDto"
                  },
                  "payload" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            },
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "params" : {
                    "$ref" : "#/components/schemas/AssetVersionUploadRequestDto"
                  },
                  "payload" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              },
              "examples" : {
                "version_upload_request" : {
                  "summary" : "AssetVersionUploadRequest params",
                  "value" : "{\n    \"tid\": \"F103F147-428C-4427-AA65-8A46AE066803\",\n    \"versionComment\": \"Created before upload via API\"\n}\n"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing the status and information about the upload asset version operation",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "version_upload_response" : {
                    "summary" : "Old file versioned and new file uploaded",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-07-16T09:30:46.743Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"asset\"\n                tid=\"F103F147-428C-4427-AA65-8A46AE066803\"\n                action=\"update\">\n            <status>SUCCESS</status>\n            <description>Old file has been versioned and new file has been uploaded</description>\n        </response>\n    </responses>\n</pim>\n"
                  },
                  "version_upload_no_access_error" : {
                    "summary" : "Error response when the asset is not available by access rights",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-07-16T09:45:15.768Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"asset\"\n                tid=\"BA7A3E08-A48B-47FE-8150-6986A61588732\"\n                action=\"update\">\n            <status>ERROR</status>\n            <description>Asset is not available by access rights</description>\n        </response>\n    </responses>\n</pim>\n"
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/variations/types" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "get variation types",
        "description" : "Retrieve a complete list of all available asset variation types in the Digital Asset Management system. Variation types define the categories of relationships that can exist between original assets and their derived versions.\n<details># Variation Types - Extended Documentation\n\n## Overview\nThe Variation Types endpoint provides access to the complete catalog of asset variation types available in the Digital Asset Management system. Variation types define the categories and purposes of relationships between original assets and their derived versions, enabling structured content management and multi-channel publishing strategies.\n\n## Request Structure Details\nThis is a parameter-less endpoint that requires no input data:\n- **No request body required**: The endpoint accepts an empty POST request\n- **No parameters needed**: All available variation types are returned automatically\n- **Authentication**: Requires valid authorization token for access\n\n## Response Format Details\nThe response contains PimType with VariationTypesType including all configured variation types:\n\n### Variation Type Information\n- **TID**: Unique identifier for the variation type (typically a descriptive string)\n- **Type Categories**: Logical groupings of variation purposes\n- **System Configuration**: Reflects the configured variation taxonomy\n\n### Common Variation Types\n- **Print**: Optimized for print media output with higher resolution and CMYK color profiles\n- **Web**: Optimized for web display with RGB color profiles and compressed file sizes\n- **Mobile**: Specifically sized and optimized for mobile device display\n- **Social**: Formatted for social media platforms with specific aspect ratios\n- **Thumbnail**: Small preview versions for quick loading and grid displays\n- **Preview**: Medium-resolution versions for preview purposes\n- **Archive**: High-quality preservation versions for long-term storage\n\n## Use Cases\n- **Content Strategy Planning**: Understanding available variation categories for content planning\n- **Workflow Configuration**: Setting up automated variation creation workflows\n- **User Interface Development**: Building variation type selection interfaces\n- **System Integration**: Validating variation types before creating relationships\n- **Multi-Channel Publishing**: Identifying appropriate variation types for different channels\n- **Quality Assurance**: Ensuring all required variation types are properly configured\n- **Migration Planning**: Understanding variation type requirements for system migrations\n- **Compliance Management**: Verifying variation types meet organizational standards\n\n## Technical Considerations\n- **System Configuration**: Variation types are configured at the system level\n- **Extensibility**: New variation types can be added through system configuration\n- **Validation**: All variation creation requests must reference valid types\n- **Consistency**: Type definitions remain consistent across system instances\n- **Performance**: Lightweight operation returning cached configuration data\n- **Internationalization**: Type names may support multiple languages\n- **Access Control**: Some variation types may have restricted usage\n\n## Integration Patterns\n- **Validation Workflows**: Pre-validate variation types before asset processing\n- **Dynamic UI Generation**: Build user interfaces based on available types\n- **Automated Classification**: Use variation types for automated content categorization\n- **Workflow Routing**: Route approval processes based on variation types\n- **Reporting and Analytics**: Analyze content distribution across variation types\n- **Content Governance**: Enforce variation type policies across organizations\n\n## Business Applications\n- **Brand Management**: Ensure consistent variation types across brand assets\n- **Channel Strategy**: Align variation types with distribution channels\n- **Content Lifecycle**: Track assets through different variation stages\n- **Resource Planning**: Understand variation requirements for content projects\n- **Quality Control**: Standardize variation creation processes\n- **Compliance Reporting**: Monitor variation type usage for regulatory requirements\n\n## System Administration\n- **Configuration Management**: Understanding current variation type setup\n- **Capacity Planning**: Analyzing variation type usage patterns\n- **Performance Monitoring**: Tracking variation type creation and usage\n- **Backup and Recovery**: Ensuring variation type configurations are preserved\n- **Upgrade Planning**: Understanding impact of system changes on variation types\n- **User Training**: Educating users on appropriate variation type selection\n\n## Error Scenarios\n- **Configuration Missing**: No variation types configured in the system\n- **Service Unavailable**: Variation type service temporarily inaccessible\n- **Authentication Failure**: Invalid or expired authorization credentials\n- **Permission Denied**: Insufficient rights to view variation type configuration\n- **System Corruption**: Invalid or corrupted variation type configuration data\n- **Network Issues**: Connectivity problems with configuration services\n\n## Response Analysis\n- **Type Coverage**: Ensure all business requirements are covered by available types\n- **Naming Consistency**: Verify variation type names follow organizational standards\n- **Completeness Check**: Confirm all expected variation types are present\n- **Change Detection**: Monitor for additions or modifications to variation types\n- **Usage Planning**: Plan content strategies based on available variation categories </details>",
        "operationId" : "getVariationTypes",
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with VariationTypesType containing all configured variation type categories",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "variation_types_response" : {
                    "summary" : "Available variation types",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-08-15T14:32:18.421Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <variationTypes>\n        <variationType tid=\"Print\"/>\n        <variationType tid=\"Web\"/>\n        <variationType tid=\"Mobile\"/>\n        <variationType tid=\"Social\"/>\n    </variationTypes>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to retrieve variation types"
          },
          "404" : {
            "description" : "Not Found: Variation types configuration not available"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/variations/types/retrieve" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "get variation types",
        "description" : "Retrieve a complete list of all available asset variation types in the Digital Asset Management system. Variation types define the categories of relationships that can exist between original assets and their derived versions.\n<details># Variation Types - Extended Documentation\n\n## Overview\nThe Variation Types endpoint provides access to the complete catalog of asset variation types available in the Digital Asset Management system. Variation types define the categories and purposes of relationships between original assets and their derived versions, enabling structured content management and multi-channel publishing strategies.\n\n## Request Structure Details\nThis is a parameter-less endpoint that requires no input data:\n- **No request body required**: The endpoint accepts an empty POST request\n- **No parameters needed**: All available variation types are returned automatically\n- **Authentication**: Requires valid authorization token for access\n\n## Response Format Details\nThe response contains PimType with VariationTypesType including all configured variation types:\n\n### Variation Type Information\n- **TID**: Unique identifier for the variation type (typically a descriptive string)\n- **Type Categories**: Logical groupings of variation purposes\n- **System Configuration**: Reflects the configured variation taxonomy\n\n### Common Variation Types\n- **Print**: Optimized for print media output with higher resolution and CMYK color profiles\n- **Web**: Optimized for web display with RGB color profiles and compressed file sizes\n- **Mobile**: Specifically sized and optimized for mobile device display\n- **Social**: Formatted for social media platforms with specific aspect ratios\n- **Thumbnail**: Small preview versions for quick loading and grid displays\n- **Preview**: Medium-resolution versions for preview purposes\n- **Archive**: High-quality preservation versions for long-term storage\n\n## Use Cases\n- **Content Strategy Planning**: Understanding available variation categories for content planning\n- **Workflow Configuration**: Setting up automated variation creation workflows\n- **User Interface Development**: Building variation type selection interfaces\n- **System Integration**: Validating variation types before creating relationships\n- **Multi-Channel Publishing**: Identifying appropriate variation types for different channels\n- **Quality Assurance**: Ensuring all required variation types are properly configured\n- **Migration Planning**: Understanding variation type requirements for system migrations\n- **Compliance Management**: Verifying variation types meet organizational standards\n\n## Technical Considerations\n- **System Configuration**: Variation types are configured at the system level\n- **Extensibility**: New variation types can be added through system configuration\n- **Validation**: All variation creation requests must reference valid types\n- **Consistency**: Type definitions remain consistent across system instances\n- **Performance**: Lightweight operation returning cached configuration data\n- **Internationalization**: Type names may support multiple languages\n- **Access Control**: Some variation types may have restricted usage\n\n## Integration Patterns\n- **Validation Workflows**: Pre-validate variation types before asset processing\n- **Dynamic UI Generation**: Build user interfaces based on available types\n- **Automated Classification**: Use variation types for automated content categorization\n- **Workflow Routing**: Route approval processes based on variation types\n- **Reporting and Analytics**: Analyze content distribution across variation types\n- **Content Governance**: Enforce variation type policies across organizations\n\n## Business Applications\n- **Brand Management**: Ensure consistent variation types across brand assets\n- **Channel Strategy**: Align variation types with distribution channels\n- **Content Lifecycle**: Track assets through different variation stages\n- **Resource Planning**: Understand variation requirements for content projects\n- **Quality Control**: Standardize variation creation processes\n- **Compliance Reporting**: Monitor variation type usage for regulatory requirements\n\n## System Administration\n- **Configuration Management**: Understanding current variation type setup\n- **Capacity Planning**: Analyzing variation type usage patterns\n- **Performance Monitoring**: Tracking variation type creation and usage\n- **Backup and Recovery**: Ensuring variation type configurations are preserved\n- **Upgrade Planning**: Understanding impact of system changes on variation types\n- **User Training**: Educating users on appropriate variation type selection\n\n## Error Scenarios\n- **Configuration Missing**: No variation types configured in the system\n- **Service Unavailable**: Variation type service temporarily inaccessible\n- **Authentication Failure**: Invalid or expired authorization credentials\n- **Permission Denied**: Insufficient rights to view variation type configuration\n- **System Corruption**: Invalid or corrupted variation type configuration data\n- **Network Issues**: Connectivity problems with configuration services\n\n## Response Analysis\n- **Type Coverage**: Ensure all business requirements are covered by available types\n- **Naming Consistency**: Verify variation type names follow organizational standards\n- **Completeness Check**: Confirm all expected variation types are present\n- **Change Detection**: Monitor for additions or modifications to variation types\n- **Usage Planning**: Plan content strategies based on available variation categories </details>",
        "operationId" : "retrieveVariationTypes",
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with VariationTypesType containing all configured variation type categories",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "variation_types_response" : {
                    "summary" : "Available variation types",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-08-15T14:32:18.421Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <variationTypes>\n        <variationType tid=\"Print\"/>\n        <variationType tid=\"Web\"/>\n        <variationType tid=\"Mobile\"/>\n        <variationType tid=\"Social\"/>\n    </variationTypes>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to retrieve variation types"
          },
          "404" : {
            "description" : "Not Found: Variation types configuration not available"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/variations/retrieve" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "get variations for asset",
        "description" : "Retrieve comprehensive information about asset variations in the Digital Asset Management system. Variations represent links between assets, showing relationships between original assets and their derived versions for complex asset hierarchy management.\n<details># Asset Variations Retrieve - Extended Documentation\n\n## Overview\nThe Asset Variations Retrieve endpoint provides comprehensive information about asset relationships in the Digital Asset Management system. Variations represent links between assets, typically showing relationships between original assets and their derived versions, enabling complex asset hierarchy management and content lifecycle tracking.\n\n## Request Structure Details\nThe endpoint accepts VariationRequest objects with flexible asset identification methods:\n\n### Asset Identification Methods\nChoose one identification method:\n- **assetIds**: Array of numeric asset identifiers for database-level lookup\n- **assetTids**: Array of Transaction IDs (Metatag GUIDs) for unique asset identification\n- **assetPaths**: Array of file path strings for location-based asset lookup\n\n### Input Validation\n- **Single Method Required**: Specify exactly one identification method per request\n- **Array Format**: All identifiers must be provided as arrays, even for single assets\n- **Path Format**: Asset paths must be absolute from RNC root (e.g., \"/MAM/folder/file.jpg\")\n- **TID Format**: Transaction IDs must be valid UUID format\n- **ID Format**: Asset IDs must be positive integers\n\n## Response Format Details\nThe response contains PimType with VariationsType including comprehensive variation information:\n\n### Variation Information\n- **assetId**: Numeric identifier of the variation asset\n- **assetTid**: Transaction ID (UUID) of the variation asset\n- **parentTid**: Transaction ID of the parent asset (empty for root assets)\n\n### Variation Metadata\n- **variationType**: Category of variation (e.g., \"Print\", \"Web\", \"Mobile\", \"Social\")\n- **Hierarchy Level**: Implied through parent-child relationships\n- **Creation Context**: Metadata about when and why the variation was created\n\n### Relationship Mapping\n- **Root Assets**: parentTid is empty, indicating original content\n- **Direct Variations**: parentTid references immediate parent asset\n- **Nested Variations**: parentTid can reference other variations, creating chains\n- **Multiple Children**: Single assets can have multiple variations\n\n## Use Cases\n- **Asset Lifecycle Management**: Tracking content from creation through all derivative versions\n- **Digital Asset Lineage**: Understanding the complete family tree of related assets\n- **Content Repurposing**: Identifying existing variations before creating new ones\n- **Multi-Channel Publishing**: Managing asset versions for different output channels\n- **Brand Consistency**: Ensuring all variations maintain appropriate relationships\n- **Rights Management**: Understanding usage rights inheritance across variations\n- **Storage Optimization**: Identifying redundant or obsolete variations\n- **Workflow Management**: Supporting approval and review processes for asset families\n\n## Technical Considerations\n- **Performance**: Large asset families may return extensive variation trees\n- **Recursion Depth**: Variation chains can be arbitrarily deep\n- **Circular References**: System prevents circular parent-child relationships\n- **Batch Processing**: Multiple assets can be queried simultaneously\n- **Access Control**: Variation visibility respects asset-level permissions\n- **Consistency**: All returned variations are guaranteed to exist and be accessible\n- **Orphan Detection**: Missing parent references indicate data integrity issues\n\n## Integration Patterns\n- **Asset Discovery**: Use variations to build complete asset family views\n- **Workflow Automation**: Trigger processes based on variation relationships\n- **Content Syndication**: Identify appropriate variations for different channels\n- **Version Control**: Implement versioning strategies using variation hierarchies\n- **Approval Workflows**: Route variations based on their relationship to approved content\n- **Analytics Tracking**: Monitor usage patterns across asset families\n\n## Advanced Scenarios\n- **Complex Hierarchies**: Assets with multiple levels of variations\n- **Cross-RNC Variations**: Variations stored in different Root Name Containers\n- **Bulk Relationship Analysis**: Processing large sets of related assets\n- **Variation Validation**: Ensuring integrity of complex asset relationships\n- **Migration Support**: Understanding relationships during system migrations\n\n## Error Scenarios\n- **Asset Not Found**: Referenced assets don't exist or are inaccessible\n- **Permission Denied**: Insufficient rights to view asset variations\n- **Invalid Identifiers**: Malformed TIDs, invalid IDs, or incorrect paths\n- **System Unavailable**: Variation service temporarily unavailable\n- **Data Corruption**: Inconsistent variation relationships in database\n- **Timeout**: Large variation trees exceed processing time limits\n\n## Response Analysis Guidelines\n- **Hierarchy Visualization**: Build tree structures from parent-child relationships\n- **Orphan Identification**: Assets with parentTid references to non-existent assets\n- **Circular Detection**: Impossible but indicates data corruption if found\n- **Type Distribution**: Analyze variation types for content strategy insights\n- **Depth Analysis**: Understanding complexity of asset derivative chains </details>",
        "operationId" : "getAssetVariations",
        "parameters" : [ {
          "name" : "arg0",
          "in" : "query",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/VariationRequestDto"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with VariationsType containing asset variation relationships including parent-child hierarchies and variation types",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "variations_retrieve_response" : {
                    "summary" : "Asset variations with hierarchical relationships",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-09-01T11:41:47.507Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <variations>\n        <variation assetId=\"86430\" assetTid=\"DB32DAAC-6A80-4BEB-A09C-C020CA941F4E\" parentTid=\"\"/>\n        <variation assetId=\"87960\"\n                 assetTid=\"C6E3F14B-092A-4267-9A5D-C16FE4295DC3\"\n                 parentTid=\"DB32DAAC-6A80-4BEB-A09C-C020CA941F4E\">\n            <meta>\n                <itm key=\"variationType\">Print</itm>\n            </meta>\n        </variation>\n        <variation assetId=\"87961\"\n                 assetTid=\"11319367-DE26-4FB8-9148-3C341766C1BA\"\n                 parentTid=\"C6E3F14B-092A-4267-9A5D-C16FE4295DC3\">\n            <meta>\n                <itm key=\"variationType\">Print</itm>\n            </meta>\n        </variation>\n        <variation assetId=\"87962\"\n                 assetTid=\"22428478-EF37-5FC9-A259-4D452877D2CB\"\n                 parentTid=\"DB32DAAC-6A80-4BEB-A09C-C020CA941F4E\">\n            <meta>\n                <itm key=\"variationType\">Web</itm>\n            </meta>\n        </variation>\n    </variations>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided (e.g., malformed identifiers)"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to retrieve asset variations"
          },
          "404" : {
            "description" : "Not Found: Specified assets not found or inaccessible"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/variations/bin/persist" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "Upload as variation",
        "description" : "Uploads a binary file as a variation of an existing asset. The variation type is provided in the request; an optional variation file name can be supplied.\n<details># Upload as Variation - Extended Documentation\n\nUploads a binary file as a variation of an existing asset.\n\nThe request is sent as `multipart/form-data`:\n- `payload` - the binary file to upload\n- `params` - a JSON object (`AssetUploadRequest`) with `tid`, `variationType` and optionally\n  `variationFileName`\n\n## Response\n\n`PimType` with a filled `ResponsesType`. The response contains the status and information\nabout the uploaded asset variation.\n\n## curl example\n\n```bash\ncurl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/variations/bin/persist' \\\n--header 'Authorization: Bearer <TOKEN>' \\\n--form 'payload=@\"/<FILE_PATH>/artworks-bQbImNIL55TZ52he-gAKJ7w-t500x500.jpg\"' \\\n--form 'params=\"{\n    \\\"tid\\\":\\\"52F78637-63AE-4F3E-8D4B-664E070C6AB8\\\",\n    \\\"variationType\\\": \\\"Print\\\"\n}\";type=application/json'\n```\n</details>",
        "operationId" : "uploadAssetVariation",
        "requestBody" : {
          "description" : "Multipart request. The 'payload' part is the binary file; the 'params' part is an AssetUploadRequest JSON object with tid, variationType and optionally variationFileName.",
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "params" : {
                    "$ref" : "#/components/schemas/AssetVariationUploadRequestDto"
                  },
                  "payload" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            },
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "params" : {
                    "$ref" : "#/components/schemas/AssetVariationUploadRequestDto"
                  },
                  "payload" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              },
              "examples" : {
                "variation_upload_request" : {
                  "summary" : "Upload a variation",
                  "value" : "{\n    \"tid\": \"52F78637-63AE-4F3E-8D4B-664E070C6AB8\",\n    \"variationType\": \"Print\"\n}\n"
                },
                "variation_upload_with_filename_request" : {
                  "summary" : "Upload a variation with an explicit file name",
                  "value" : "{\n    \"tid\": \"52F78637-63AE-4F3E-8D4B-664E070C6AB8\",\n    \"variationType\": \"Print\",\n    \"variationFileName\": \"assetVariation.png\"\n}\n"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing the status and information about the uploaded asset variation",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "variation_upload_response" : {
                    "summary" : "Asset variation has been created",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-07-16T09:30:46.743Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"variation\"\n                tid=\"52F78637-63AE-4F3E-8D4B-664E070C6AB8\"\n                action=\"update\">\n            <status>SUCCESS</status>\n            <description>Asset variation has been created</description>\n        </response>\n    </responses>\n</pim>\n"
                  },
                  "variation_upload_no_access_error" : {
                    "summary" : "Error response when the asset is not available by access rights",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-07-16T09:45:15.768Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"variation\"\n                tid=\"52F78637-63AE-4F3E-8D4B-664E070C6AB8\"\n                action=\"update\">\n            <status>ERROR</status>\n            <description>Asset is not available by access rights</description>\n        </response>\n    </responses>\n</pim>\n"
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/statuses" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "retrieve assets statuses",
        "description" : "Retrieve status information for specified assets including import states \nand object states. Essential for monitoring asset processing, workflow \nmanagement, and troubleshooting operations.\n\n<details># DAM Assets Status API - Extended Documentation\n\n## Overview\n\nThe DAM Assets Status API endpoint provides comprehensive status monitoring for assets within the Digital Asset Management system. This endpoint enables real-time tracking of asset import states, object states, and operational conditions, essential for system monitoring, workflow management, and troubleshooting operations.\n\n## Key Features\n\n- **Import Status Tracking**: Monitor asset import and processing states\n- **Object Status Monitoring**: Track asset operational conditions\n- **Batch Status Queries**: Efficient status checking for multiple assets\n- **Real-time Monitoring**: Current asset state information\n- **Workflow Integration**: Support for process state management\n- **System Health Monitoring**: Asset-level system health indicators\n\n## Status Categories\n\n### Import Status States\n- **Pending**: Asset queued for import processing\n- **Running**: Active import processing in progress\n- **Available**: Asset fully imported and accessible\n- **Incomplete**: Import failed or partially completed\n\n### Object Status States\n- **Import Incomplete**: Object synchronization pending\n- **Available**: Asset fully operational and accessible\n- **Locked**: Asset currently checked out for editing\n- **Marked for Deletion**: Asset scheduled for removal\n\n## Technical Implementation\n\n### Status Resolution Process\n- **Multi-source Aggregation**: Combine import and object status information\n- **Cache Integration**: Optimize status lookup performance\n- **Real-time Updates**: Reflect current asset states accurately\n- **Batch Processing**: Efficient multi-asset status queries\n\n### Performance Optimization\n- **Status Caching**: Cache frequently accessed status information\n- **Bulk Queries**: Process multiple status requests efficiently\n- **Index Utilization**: Leverage database indexes for fast lookups\n- **Connection Pooling**: Optimize database connection management\n\n### Monitoring Integration\n- **Health Check Integration**: Support system health monitoring\n- **Alerting Systems**: Generate alerts for problematic asset states\n- **Metrics Collection**: Gather status-related system metrics\n- **Trend Analysis**: Track status patterns over time\n\n## Advanced Use Cases\n\n### Workflow Management\n- **Process State Tracking**: Monitor workflow progression states\n- **Bottleneck Identification**: Identify processing bottlenecks\n- **Quality Assurance**: Track asset quality states\n- **Approval Workflows**: Monitor approval process states\n\n### System Administration\n- **System Health Monitoring**: Track overall system asset health\n- **Capacity Planning**: Monitor processing capacity utilization\n- **Performance Tuning**: Identify performance optimization opportunities\n- **Troubleshooting**: Diagnose asset-related system issues\n\n### Integration Scenarios\n- **External System Synchronization**: Coordinate with external systems\n- **ETL Process Monitoring**: Track data integration processes\n- **Publishing Workflows**: Monitor content publishing states\n- **Backup and Recovery**: Track asset backup states\n\n## Monitoring and Alerting\n\n### Status-based Alerting\n- **Stuck Import Detection**: Identify assets stuck in processing\n- **Failed Import Alerts**: Notify of import failures\n- **Lock Timeout Alerts**: Detect abandoned asset locks\n- **System Capacity Alerts**: Monitor processing queue lengths\n\n### Dashboard Integration\n- **Real-time Status Displays**: Live status dashboard creation\n- **Historical Trending**: Track status changes over time\n- **Performance Metrics**: Display status-related performance data\n- **System Overview**: Aggregate status information for system view\n\n### Automated Response Systems\n- **Auto-remediation**: Automatically resolve common status issues\n- **Escalation Procedures**: Escalate persistent status problems\n- **Notification Systems**: Alert appropriate personnel of status changes\n- **Recovery Triggers**: Trigger recovery processes based on status\n\n## Performance Considerations\n\n### Query Optimization\n- **Efficient Filtering**: Use appropriate status filters\n- **Batch Size Management**: Optimize batch query sizes\n- **Caching Strategies**: Implement effective status caching\n- **Connection Management**: Optimize database connections\n\n### Scalability Patterns\n- **Horizontal Scaling**: Scale status services horizontally\n- **Load Distribution**: Distribute status queries across instances\n- **Cache Distribution**: Implement distributed status caching\n- **Asynchronous Processing**: Handle status updates asynchronously\n\n### Resource Management\n- **Memory Optimization**: Optimize memory usage for status operations\n- **CPU Utilization**: Manage CPU resources for status processing\n- **Network Optimization**: Minimize network overhead for status queries\n- **Storage Efficiency**: Optimize status information storage\n\n## Integration Best Practices\n\n### API Integration\n- **Polling Strategies**: Implement efficient status polling\n- **Event-driven Updates**: Use events for status change notifications\n- **Error Handling**: Handle status query failures gracefully\n- **Rate Limiting**: Respect API rate limits for status queries\n\n### System Design\n- **Microservice Architecture**: Design status services as microservices\n- **Event Sourcing**: Use event sourcing for status state management\n- **CQRS Patterns**: Separate status command and query responsibilities\n- **Circuit Breaker**: Implement circuit breaker patterns for resilience\n\n### Monitoring Integration\n- **Log Aggregation**: Aggregate status-related logs\n- **Metric Collection**: Collect status-related metrics\n- **Tracing**: Implement distributed tracing for status operations\n- **Health Checks**: Include status in system health checks </details>",
        "operationId" : "retrieveAssetsStatuses",
        "requestBody" : {
          "description" : "",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/AssetRequestDto"
              },
              "examples" : {
                "status_by_tids" : {
                  "summary" : "Get asset statuses by TIDs",
                  "value" : "{\n    \"tids\": [\"986A971D-1B8B-4E72-ACB3-0ED272CB504\"]\n} "
                },
                "status_by_ids" : {
                  "summary" : "Get asset statuses by IDs",
                  "value" : "{\n    \"ids\": [15185]\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Asset statuses retrieved successfully",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "status_response" : {
                    "summary" : "Asset status information response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">response</itm>\n        <itm key=\"messageTime\">2022-09-27T12:41:38.795Z</itm>\n        <itm key=\"itemInformationType\">asset</itm>\n    </meta>\n    <assets>\n        <asset tid=\"986A971D-1B8B-4E72-ACB3-0ED272CB504\" id=\"64556\" type=\"IMG\">\n            <meta>\n                <itm key=\"ImportState\">available</itm>\n                <itm key=\"ObjectState\">available</itm>\n            </meta>\n        </asset>\n    </assets>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid asset identifiers or request format"
          },
          "401" : {
            "description" : "Not authorized - status query permissions required"
          },
          "404" : {
            "description" : "Assets not found or no access permissions"
          },
          "500" : {
            "description" : "Server error - status retrieval failure"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/retrieve" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "retrieve assets",
        "description" : "Retrieve detailed information about assets in the Digital Asset Management system. \nSupports multiple identification methods (IDs, TIDs) and optional inclusion of \nhistorical data and preview information. This endpoint provides comprehensive \nasset metadata, attributes, and technical properties.\n\n<details># DAM Assets Retrieve API - Extended Documentation\n\n## Overview\n\nThe DAM Assets Retrieve API endpoint is a comprehensive service for retrieving detailed asset information from the Digital Asset Management system. This endpoint supports flexible asset identification methods and optional inclusion of historical data and preview information.\n\n## Key Features\n\n- **Multiple Identification Methods**: Support for asset IDs, TIDs, and paths\n- **Optional History Retrieval**: Comprehensive asset change tracking\n- **Preview Information**: Complete preview metadata and URLs\n- **Rich Metadata Support**: Technical, business, and XMP metadata\n- **Batch Operations**: Efficient retrieval of multiple assets\n\n## Technical Implementation\n\n### Request Patterns\n- **Single Asset**: Retrieve individual asset with full details\n- **Batch Retrieval**: Efficient processing of multiple assets\n- **Selective Data**: Choose between minimal or comprehensive data sets\n\n### Response Format Structure\nThe response follows the OMN PIM schema with organized sections:\n- **Asset Core Data**: Basic identification and file information\n- **Metadata Section**: Technical properties and file characteristics\n- **Attribute Values**: Business metadata and custom attributes\n- **History Tracking**: Complete audit trail of changes\n- **Preview Information**: Multiple format preview metadata\n\n### Attribute Type Support\nComprehensive support for all OMN attribute types:\n- Boolean attributes (simple and localized)\n- Date attributes with timezone support\n- Enumeration attributes with multiple selections\n- Number attributes (integer and decimal)\n- String attributes with localization\n- XMP metadata attributes\n\n## Advanced Use Cases\n\n### Content Management Integration\n- Building asset detail views in CMS systems\n- Synchronizing asset metadata with external systems\n- Creating comprehensive asset reports\n\n### Workflow Integration\n- Asset approval workflows with history tracking\n- Quality assurance processes with metadata validation\n- Publishing workflows with preview generation\n\n### Analytics and Reporting\n- Asset usage tracking through history analysis\n- Metadata quality assessment\n- Performance monitoring of asset operations\n\n## Best Practices\n\n### Performance Optimization\n- Use selective retrieval flags (retrieveHistory, retrievePreviews) based on needs\n- Batch requests for multiple assets when possible\n- Implement caching strategies for frequently accessed assets\n\n### Error Handling\n- Implement robust retry mechanisms for transient failures\n- Handle partial success scenarios in batch operations\n- Validate asset access permissions before operations\n\n### Security Considerations\n- Respect user access permissions for asset visibility\n- Implement proper authentication and authorization\n- Sanitize metadata for display in web applications </details>",
        "operationId" : "retrieveAssets",
        "requestBody" : {
          "description" : "",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/AssetRequestDto"
              },
              "examples" : {
                "retrieve_by_ids" : {
                  "summary" : "Retrieve assets by IDs with history and previews",
                  "value" : "{\n    \"ids\": [24478],\n    \"retrieveHistory\": true,\n    \"retrievePreviews\": true\n} "
                },
                "retrieve_by_tids" : {
                  "summary" : "Retrieve assets by TIDs with previews only",
                  "value" : "{\n    \"tids\": [\"6FC0022A-E978-4ADF-ABFE-DBF0BE99042F\", \"11319367-DE26-4FB8-9148-3C341766C1BA\"],\n    \"retrieveHistory\": false,\n    \"retrievePreviews\": true\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Assets retrieved successfully with comprehensive metadata",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "assets_response" : {
                    "summary" : "Complete asset response with metadata, history, and previews",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">response</itm>\n        <itm key=\"messageTime\">2022-10-04T11:39:16.272Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <assets>\n        <asset parent=\"01427CB0-AF41-41CF-96FC-51EC7B6ADEC1\"\n               tid=\"6FC0022A-E978-4ADF-ABFE-DBF0BE99042F\"\n               type=\"IMG\">\n            <name>100192855000_96p.jpg</name>\n            <meta>\n                <itm key=\"annotationstate\">false</itm>\n                <itm key=\"archivestate\">ONLINE</itm>\n                <itm key=\"creationDate\">2022-10-04T11:39:13.943Z</itm>\n                <itm key=\"discriminator\">IMG</itm>\n                <itm key=\"fileCreationDate\">2022-10-04T11:39:13.937Z</itm>\n                <itm key=\"fileModificationDate\">2022-10-04T11:39:13.937Z</itm>\n                <itm key=\"fileTypeShortName\">JPEG</itm>\n                <itm key=\"hidden\">false</itm>\n                <itm key=\"identity\">24478</itm>\n                <itm key=\"imageColorspace\">YCBCR</itm>\n                <itm key=\"imageHeightInMM\">705.5555555555555</itm>\n                <itm key=\"imageHeightInPixel\">2000</itm>\n                <itm key=\"imageICCProfile\">sRGB IEC61966-2-1 withBPC</itm>\n                <itm key=\"imageWidthInMM\">465.66666666666663</itm>\n                <itm key=\"imageWidthInPixel\">1320</itm>\n                <itm key=\"imageXResolutionValue\">72.0</itm>\n                <itm key=\"imageYResolutionValue\">72.0</itm>\n                <itm key=\"modificationDate\">2022-10-04T11:39:16.272Z</itm>\n                <itm key=\"nameWithoutExtension\">100192855000_96p</itm>\n                <itm key=\"numberOfVersions\">0</itm>\n                <itm key=\"online\">true</itm>\n                <itm key=\"pathStringStr\">/Productimages/100/192/855/100192855000_96p.jpg</itm>\n                <itm key=\"size\">112209</itm>\n            </meta>\n            <vals>\n                <val attr=\"xmp.IPTC.Description\" type=\"xmp\">\n                    <itm>100192296041383437</itm>\n                </val>\n                <val attr=\"STRING_SIMPLE\">\n                    <itm>string</itm>\n                </val>\n                <val attr=\"ENUMERATION_L\" type=\"multi_loc\">\n                    <i18n loc=\"en_EN\">\n                        <itm pos=\"0\">Brown</itm>\n                        <itm pos=\"1\">Yellow</itm>\n                    </i18n>\n                </val>\n            </vals>\n            <histories>\n                <history id=\"37220\">\n                    <meta>\n                        <itm key=\"changedProperty\">STRING_SIMPLE</itm>\n                        <itm key=\"eventDate\">2022-10-21T15:45:04.110Z</itm>\n                        <itm key=\"eventDescription\">Saving object details.</itm>\n                        <itm key=\"eventIdentifier\">SAVE_DETAILS</itm>\n                        <itm key=\"newValue\">testttest</itm>\n                        <itm key=\"oldValue\">aeorosol</itm>\n                        <itm key=\"userIdentifier\">test@apollon.de</itm>\n                    </meta>\n                </history>\n            </histories>\n            <previews>\n                <preview tid=\"E5B04787-87BD-4D18-AAA6-6CD26498EB0A\" type=\"ORIGINAL_PIXEL\">\n                    <meta>\n                        <itm key=\"extension\">jpeg</itm>\n                        <itm key=\"height\">230</itm>\n                        <itm key=\"width\">219</itm>\n                        <itm key=\"url\">/dam/assets/bin?assetTid=11319367-DE26-4FB8-9148-3C341766C1BA&amp;format=previewOriginalPixel</itm>\n                    </meta>\n                </preview>\n                <preview tid=\"0B0A042E-6F51-44C2-8CE7-5F13E4719FCF\" type=\"THUMBNAIL\">\n                    <meta>\n                        <itm key=\"extension\">jpeg</itm>\n                        <itm key=\"height\">40</itm>\n                        <itm key=\"width\">38</itm>\n                        <itm key=\"url\">/dam/assets/bin?assetTid=11319367-DE26-4FB8-9148-3C341766C1BA&amp;format=previewThumbnail</itm>\n                    </meta>\n                </preview>\n            </previews>\n        </asset>\n    </assets>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid input - check asset identifiers and request format"
          },
          "401" : {
            "description" : "Not authorized - authentication required"
          },
          "404" : {
            "description" : "Assets not found or no access permissions"
          },
          "500" : {
            "description" : "Server error - internal processing failure"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/query" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "query assets",
        "description" : "Search for assets based on multiple criteria including modification dates, \nfile types, and directory locations. Returns asset TIDs for further processing. \nSupports flexible filtering with AND logic for precise asset discovery.\n\n<details># DAM Assets Query API - Extended Documentation\n\n## Overview\n\nThe DAM Assets Query API endpoint provides advanced search capabilities for discovering assets in the Digital Asset Management system based on multiple criteria. This endpoint enables efficient asset discovery through flexible filtering options and returns asset identifiers for further processing.\n\n## Key Features\n\n- **Time-based Filtering**: Query assets by modification date ranges\n- **File Type Filtering**: Filter by specific asset types (IMG, VID, DOC, etc.)\n- **Directory-based Search**: Locate assets within specific directory structures\n- **Flexible Directory Identification**: Support for directory paths, TIDs, and IDs\n- **AND Logic**: Combine multiple criteria for precise asset discovery\n\n## Technical Implementation\n\n### Query Strategy Patterns\n- **Temporal Queries**: Find assets modified within specific time windows\n- **Type-based Queries**: Filter assets by file type categories\n- **Location-based Queries**: Search within directory hierarchies\n- **Combined Queries**: Multi-criteria searches for complex scenarios\n\n### Directory Identification Methods\nThe endpoint supports three methods for directory specification:\n- **Path-based**: Human-readable directory paths (/MAM/dir1/dir2)\n- **TID-based**: Unique directory identifiers for programmatic access\n- **ID-based**: Numeric directory identifiers for legacy system integration\n\n### Response Optimization\n- Returns only asset TIDs for minimal data transfer\n- Includes retrieval flags for subsequent asset detail requests\n- Optimized for high-volume query scenarios\n\n## Advanced Use Cases\n\n### Content Lifecycle Management\n- Identifying assets for archival based on age criteria\n- Finding orphaned assets in specific directories\n- Locating assets requiring metadata updates\n\n### Workflow Automation\n- Batch processing workflows based on file types\n- Scheduled maintenance operations on asset collections\n- Integration with external processing systems\n\n### Reporting and Analytics\n- Asset distribution analysis across directory structures\n- Content velocity tracking through modification patterns\n- Compliance reporting for asset management policies\n\n## Query Optimization Strategies\n\n### Performance Considerations\n- Use specific date ranges to limit result sets\n- Combine file type filters with directory restrictions\n- Implement pagination for large result sets\n\n### Index Utilization\n- Date-based queries leverage modification time indexes\n- Directory queries utilize hierarchical path indexes\n- File type queries use type classification indexes\n\n### Batch Processing\n- Group similar queries to reduce API calls\n- Cache directory TIDs for repeated location-based queries\n- Implement efficient asset processing pipelines\n\n## Integration Patterns\n\n### Search Interface Implementation\n- Building advanced search forms with multiple criteria\n- Creating saved search functionality\n- Implementing real-time search suggestions\n\n### Automation Integration\n- ETL processes for asset synchronization\n- Automated content curation workflows\n- System integration for asset discovery </details>",
        "operationId" : "queryAssets",
        "requestBody" : {
          "description" : "",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/AssetQueryDto"
              },
              "examples" : {
                "query_by_date_and_type" : {
                  "summary" : "Query assets by modification date, file type, and directory",
                  "value" : "{\n    \"modifiedFrom\": \"2022-12-09T08:33:09.734Z\",\n    \"modifiedUntil\": \"2022-12-12T08:33:09.734Z\",\n    \"fileTypes\": [\"IMG\"],\n    \"directory\": {\n        \"path\": \"/MAM/dir1/dir2/dir3\"\n    }\n} "
                },
                "query_by_directory_tid" : {
                  "summary" : "Query assets by directory TID",
                  "value" : "{\n    \"directory\": {\n        \"tid\": \"DBF6D18D-6CB4-4765-8966-10000DD22A6E\"\n    }\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Assets queried successfully, returning matching asset TIDs",
            "content" : {
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AssetRequestDto"
                },
                "examples" : {
                  "query_response" : {
                    "summary" : "Asset query response with TIDs",
                    "value" : "{\n    \"tids\": [\n        \"8E93BA7A-0521-4FB2-A7B7-40941C7A5AFA\",\n        \"218BCAED-A63B-4CE4-B23F-42B479E4E9FB\",\n        \"C3617CA4-0869-4A60-9CDC-32DCA0322F63\",\n        \"2BA8E460-964E-4197-9292-1E4365B29386\",\n        \"5BD22A27-7C2E-49B9-B90F-00F209900480\"\n    ],\n    \"retrieveHistory\": false,\n    \"retrievePreviews\": false\n} "
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid query criteria or malformed request"
          },
          "401" : {
            "description" : "Not authorized - authentication required"
          },
          "404" : {
            "description" : "No assets found matching criteria"
          },
          "500" : {
            "description" : "Server error - query processing failure"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/previews/retrieve" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "get assets previews information",
        "description" : "Retrieve comprehensive metadata information about various preview formats and renditions of assets in the Digital Asset Management system. Enables discovery of available preview formats, access URLs, dimensional information, and status across multiple quality levels and formats.\n<details># Asset Previews Retrieve - Extended Documentation\n\n## Overview\nThe Asset Previews Retrieve endpoint provides comprehensive metadata information about various preview formats and renditions of assets in the Digital Asset Management system. This endpoint enables applications to discover available preview formats, obtain access URLs, retrieve dimensional information, and understand the status and characteristics of asset previews across multiple formats and quality levels.\n\n## Request Structure Details\nThe endpoint accepts PreviewInfoRequest objects with flexible asset identification and format specification:\n\n### Asset Identification Methods\nChoose one identification method:\n- **ids**: Array of numeric asset identifiers for database-level lookup\n- **tids**: Array of Transaction IDs (Metatag GUIDs) for unique asset identification\n- **paths**: Array of file path strings for location-based asset lookup\n\n### Preview Format Specification\nThe `formats` parameter allows selective retrieval of specific preview types:\n- **original**: The original uploaded asset file\n- **previewOriginal**: Full-resolution preview optimized for display\n- **previewCoarse**: Medium-resolution preview for general viewing\n- **previewThumbnail**: Small thumbnail preview for grid displays\n- **previewCustom**: Custom-configured preview formats\n- **previewOriginalPixel**: Pixel-based original format for raster graphics\n- **previewOriginalVector**: Vector-based original format for vector graphics\n- **previewOriginalMultimedia**: Multimedia-specific original format for video/audio\n\n### Input Validation\n- **Single Method Required**: Specify exactly one asset identification method per request\n- **Array Format**: All identifiers must be provided as arrays, even for single assets\n- **Format Selection**: Omitting formats returns all available preview types\n- **Path Format**: Asset paths must be absolute from RNC root\n- **Batch Processing**: Multiple assets can be queried simultaneously\n\n## Response Format Details\nThe response contains PimType with AssetsType including comprehensive preview metadata:\n\n### Asset Core Information\n- **tid**: Transaction ID (UUID) of the asset\n- **type**: Asset type classification (e.g., \"IMG\", \"DOC\", \"VID\", \"AUD\")\n- **name**: Current asset filename\n- **identity**: Numeric asset identifier\n- **pathStringStr**: Full asset path within the storage hierarchy\n\n### Preview Entry Structure\nEach preview entry represents a specific format or rendition:\n\n#### Preview Identification\n- **tid**: Unique Transaction ID for the preview\n- **type**: Preview type category (e.g., \"ORIGINAL\", \"THUMBNAIL\", \"COARSE\", \"ORIGINAL_PIXEL\")\n\n#### Technical Metadata\n- **extension**: File format extension (e.g., \"jpeg\", \"png\", \"gif\")\n- **width**: Preview width in pixels\n- **height**: Preview height in pixels\n- **size**: File size in bytes (0 if not calculated)\n- **pageNumber**: Page number for multi-page documents (-1 for single-page or non-document assets)\n\n#### Status and Temporal Information\n- **status**: Generation status (\"ORIGINAL\", \"GENERATED\", \"PROCESSING\", \"ERROR\")\n- **modificationDate**: ISO8601 timestamp of last preview generation or update\n- **url**: Direct access URL for retrieving the preview binary data\n\n## Use Cases\n- **User Interface Development**: Building responsive galleries and asset browsers with appropriate preview sizes\n- **Content Management**: Determining available preview formats for different display contexts\n- **Performance Optimization**: Selecting optimal preview sizes for bandwidth and loading speed\n- **Quality Assessment**: Understanding preview generation status and availability\n- **Multi-Channel Publishing**: Choosing appropriate preview formats for different output channels\n- **Mobile Application Development**: Selecting appropriate preview sizes for mobile device constraints\n- **Web Integration**: Embedding asset previews in web applications and content management systems\n- **Print Preparation**: Accessing high-resolution previews for print production workflows\n- **Video Processing**: Retrieving video thumbnails and preview frames\n- **Document Previewing**: Accessing page previews for PDF and document assets\n\n## Technical Considerations\n- **Format Availability**: Not all preview formats are available for every asset type\n- **Generation Status**: Some previews may be in processing state for recently uploaded assets\n- **Performance Impact**: Requesting many preview formats may increase response time\n- **Caching**: Preview metadata is typically cached for performance optimization\n- **Storage Efficiency**: Preview generation consumes additional storage space\n- **Processing Time**: Large or complex assets may require extended preview generation time\n- **Format Support**: Preview availability depends on asset type and system configuration\n\n## Preview Format Details\n\n### Standard Preview Types\n- **original**: Unmodified uploaded file, suitable for download and detailed viewing\n- **previewOriginal**: High-quality preview optimized for display without format conversion\n- **previewCoarse**: Medium-resolution preview balancing quality and file size\n- **previewThumbnail**: Small preview optimized for grid displays and quick loading\n\n### Specialized Preview Types\n- **previewCustom**: Organization-specific custom preview configurations\n- **previewOriginalPixel**: Pixel-perfect previews for raster graphics workflows\n- **previewOriginalVector**: Vector-based previews maintaining scalability\n- **previewOriginalMultimedia**: Multimedia-specific previews with appropriate codecs\n\n### Multi-Page Document Support\n- **Page-Specific Previews**: Individual page previews for PDF and document files\n- **Page Navigation**: pageNumber field enables navigation through document pages\n- **Thumbnail Sheets**: Overview previews showing multiple pages in a single image\n\n## Integration Patterns\n- **Responsive Design**: Use different preview sizes based on viewport and device characteristics\n- **Progressive Loading**: Start with thumbnails and load higher resolutions on demand\n- **Fallback Strategies**: Implement fallbacks when preferred preview formats are unavailable\n- **CDN Integration**: Cache preview URLs for content delivery network optimization\n- **Lazy Loading**: Load previews only when needed to improve initial page load times\n- **Format Detection**: Automatically select appropriate preview formats based on asset type\n\n## Security and Access Control\n- **URL Security**: Preview URLs may include authentication tokens or access controls\n- **Permission Inheritance**: Preview access respects the underlying asset permissions\n- **Temporary URLs**: Some preview URLs may have limited validity periods\n- **Cross-Origin Considerations**: Preview URLs may require CORS configuration for web applications\n- **Bandwidth Management**: Monitor preview usage to manage bandwidth consumption\n\n## Error Scenarios\n- **Asset Not Found**: Referenced assets don't exist or are inaccessible\n- **Permission Denied**: Insufficient rights to view asset previews\n- **Preview Generation Failed**: Technical issues prevented preview creation\n- **Format Not Supported**: Requested preview format not available for asset type\n- **Processing In Progress**: Preview generation still in progress for recent uploads\n- **Storage Issues**: Insufficient storage space for preview generation\n- **Invalid Identifiers**: Malformed TIDs, invalid IDs, or incorrect paths\n\n## Performance Optimization\n- **Batch Requests**: Retrieve previews for multiple assets in single requests\n- **Format Filtering**: Request only needed preview formats to reduce response size\n- **Caching Strategy**: Cache preview metadata and URLs for improved response times\n- **CDN Usage**: Leverage content delivery networks for preview binary distribution\n- **Compression**: Use appropriate image compression for preview generation\n- **Selective Loading**: Load previews based on user interaction patterns\n\n## Best Practices\n- **Format Selection**: Choose appropriate preview formats based on use case requirements\n- **Error Handling**: Implement robust fallback mechanisms for missing or failed previews\n- **URL Management**: Handle preview URL expiration and renewal appropriately\n- **Responsive Design**: Adapt preview selection to device capabilities and network conditions\n- **Accessibility**: Provide alternative text and descriptions for preview images\n- **Performance Monitoring**: Track preview loading times and user experience metrics\n\n## Quality Assurance\n- **Preview Validation**: Verify preview quality and accuracy against original assets\n- **Format Consistency**: Ensure consistent preview generation across different asset types\n- **Status Monitoring**: Track preview generation success rates and failure patterns\n- **User Experience Testing**: Validate preview loading and display performance\n- **Cross-Platform Compatibility**: Test preview display across different devices and browsers </details>",
        "operationId" : "getAssetPreviews",
        "parameters" : [ {
          "name" : "arg0",
          "in" : "query",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/PreviewInfoRequestDto"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with AssetsType containing comprehensive preview metadata including dimensions, file types, URLs, generation status, and technical specifications for all requested preview formats",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "asset_previews_response" : {
                    "summary" : "Asset preview metadata with multiple formats",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-09-19T09:46:46.471Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <assets>\n        <asset tid=\"11319367-DE26-4FB8-9148-3C341766C1BA\" type=\"IMG\">\n            <name>artworks-bQbImNIL55TZ52he-gAKJ7w-t500x500_print_variation_print_variation.jpg</name>\n            <meta>\n                <itm key=\"identity\">87961</itm>\n                <itm key=\"pathStringStr\">/demo/artworks-bQbImNIL55TZ52he-gAKJ7w-t500x500_print_variation_print_variation.jpg</itm>\n            </meta>\n            <previews>\n                <preview tid=\"E5B04787-87BD-4D18-AAA6-6CD26498EB0A\" type=\"ORIGINAL_PIXEL\">\n                    <meta>\n                        <itm key=\"extension\">jpeg</itm>\n                        <itm key=\"height\">230</itm>\n                        <itm key=\"modificationDate\">2022-09-08T13:11:29.802Z</itm>\n                        <itm key=\"pageNumber\">-1</itm>\n                        <itm key=\"size\">0</itm>\n                        <itm key=\"status\">ORIGINAL</itm>\n                        <itm key=\"url\">/dam/assets/bin?assetTid=11319367-DE26-4FB8-9148-3C341766C1BA&amp;format=previewOriginalPixel</itm>\n                        <itm key=\"width\">219</itm>\n                    </meta>\n                </preview>\n                <preview tid=\"0B0A042E-6F51-44C2-8CE7-5F13E4719FCF\" type=\"THUMBNAIL\">\n                    <meta>\n                        <itm key=\"extension\">jpeg</itm>\n                        <itm key=\"height\">40</itm>\n                        <itm key=\"modificationDate\">2022-09-08T13:11:29.802Z</itm>\n                        <itm key=\"pageNumber\">-1</itm>\n                        <itm key=\"size\">0</itm>\n                        <itm key=\"status\">ORIGINAL</itm>\n                        <itm key=\"url\">/dam/assets/bin?assetTid=11319367-DE26-4FB8-9148-3C341766C1BA&amp;format=previewThumbnail</itm>\n                        <itm key=\"width\">38</itm>\n                    </meta>\n                </preview>\n                <preview tid=\"11F00126-6D35-4355-99C3-2763A9743C00\" type=\"COARSE\">\n                    <meta>\n                        <itm key=\"extension\">jpeg</itm>\n                        <itm key=\"height\">480</itm>\n                        <itm key=\"modificationDate\">2022-09-08T13:11:29.802Z</itm>\n                        <itm key=\"pageNumber\">-1</itm>\n                        <itm key=\"size\">0</itm>\n                        <itm key=\"status\">ORIGINAL</itm>\n                        <itm key=\"url\">/dam/assets/bin?assetTid=11319367-DE26-4FB8-9148-3C341766C1BA&amp;format=previewCoarse</itm>\n                        <itm key=\"width\">457</itm>\n                    </meta>\n                </preview>\n                <preview tid=\"B8F23A9D-4E67-4C21-9B45-8A2F7C3D6E5F\" type=\"ORIGINAL\">\n                    <meta>\n                        <itm key=\"extension\">jpeg</itm>\n                        <itm key=\"height\">500</itm>\n                        <itm key=\"modificationDate\">2022-09-08T13:11:29.802Z</itm>\n                        <itm key=\"pageNumber\">-1</itm>\n                        <itm key=\"size\">87432</itm>\n                        <itm key=\"status\">ORIGINAL</itm>\n                        <itm key=\"url\">/dam/assets/bin?assetTid=11319367-DE26-4FB8-9148-3C341766C1BA&amp;format=original</itm>\n                        <itm key=\"width\">500</itm>\n                    </meta>\n                </preview>\n            </previews>\n        </asset>\n        <asset tid=\"52F78637-63AE-4F3E-8D4B-664E070C6AB8\" type=\"DOC\">\n            <name>document.pdf</name>\n            <meta>\n                <itm key=\"identity\">74628354</itm>\n                <itm key=\"pathStringStr\">/CONTENT/documents/document.pdf</itm>\n            </meta>\n            <previews>\n                <preview tid=\"C9E15B3A-7F82-4A6D-B234-1E8F9C5D7A8B\" type=\"THUMBNAIL\">\n                    <meta>\n                        <itm key=\"extension\">png</itm>\n                        <itm key=\"height\">40</itm>\n                        <itm key=\"modificationDate\">2022-09-10T14:22:35.123Z</itm>\n                        <itm key=\"pageNumber\">1</itm>\n                        <itm key=\"size\">2148</itm>\n                        <itm key=\"status\">GENERATED</itm>\n                        <itm key=\"url\">/dam/assets/bin?assetTid=52F78637-63AE-4F3E-8D4B-664E070C6AB8&amp;format=previewThumbnail</itm>\n                        <itm key=\"width\">30</itm>\n                    </meta>\n                </preview>\n                <preview tid=\"A4D7B2E8-3C9F-4E5D-8A1B-6F7C2E9A4D8C\" type=\"COARSE\">\n                    <meta>\n                        <itm key=\"extension\">png</itm>\n                        <itm key=\"height\">640</itm>\n                        <itm key=\"modificationDate\">2022-09-10T14:22:35.123Z</itm>\n                        <itm key=\"pageNumber\">1</itm>\n                        <itm key=\"size\">45921</itm>\n                        <itm key=\"status\">GENERATED</itm>\n                        <itm key=\"url\">/dam/assets/bin?assetTid=52F78637-63AE-4F3E-8D4B-664E070C6AB8&amp;format=previewCoarse</itm>\n                        <itm key=\"width\">480</itm>\n                    </meta>\n                </preview>\n            </previews>\n        </asset>\n    </assets>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided (e.g., malformed identifiers or unsupported formats)"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to retrieve asset preview information"
          },
          "404" : {
            "description" : "Not Found: Specified assets not found or inaccessible"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/presigned-url" : {
      "post" : {
        "tags" : [ "dam" ],
        "operationId" : "createPresignedUrl",
        "requestBody" : {
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PresignedUrlRequestDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PresignedUrlRequestDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/dam/assets/persist" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "persist assets",
        "description" : "Save asset information including metadata updates, asset renaming, and keyword \nassociations. Supports partial updates where only provided attributes are modified. \nValidates attribute compatibility and enforces business rules.\n\n<details># DAM Assets Persist API - Extended Documentation\n\n## Overview\n\nThe DAM Assets Persist API endpoint provides comprehensive capabilities for updating asset information, including metadata modification, asset renaming, and keyword association. This endpoint supports both simple attribute updates and complex keyword linking operations while maintaining data integrity and audit trails.\n\n## Key Features\n\n- **Metadata Management**: Update custom and XMP attributes\n- **Asset Renaming**: Change asset names with validation\n- **Keyword Linking**: Associate assets with keyword hierarchies\n- **Partial Updates**: Modify only specified attributes\n- **Batch Operations**: Process multiple assets efficiently\n- **Validation**: Ensure data integrity and business rules compliance\n\n## Technical Implementation\n\n### Update Strategies\n- **Selective Updates**: Only provided attributes are modified\n- **Attribute Validation**: Ensure compatibility with OMN attribute definitions\n- **Keyword Validation**: Verify keyword existence before linking\n- **Conflict Detection**: Handle concurrent modification scenarios\n\n### Attribute Type Handling\nComprehensive support for all OMN attribute types:\n- **String Attributes**: Text-based metadata with localization\n- **Number Attributes**: Numeric values with validation\n- **Enumeration Attributes**: Controlled vocabulary selections\n- **Boolean Attributes**: True/false values with localization\n- **Date Attributes**: Temporal data with timezone handling\n- **XMP Attributes**: Industry-standard metadata formats\n\n### Keyword Management\n- **Hierarchical Linking**: Support for nested keyword structures\n- **Delta Mode Operations**: Efficient keyword association updates\n- **Path-based References**: Human-readable keyword identification\n- **Bulk Keyword Operations**: Efficient multi-keyword assignments\n\n## Advanced Use Cases\n\n### Content Enrichment Workflows\n- Automated metadata enhancement from external sources\n- AI-powered content tagging and classification\n- Batch metadata standardization operations\n\n### Asset Lifecycle Management\n- Status updates for workflow progression\n- Quality assurance metadata application\n- Compliance metadata management\n\n### Integration Scenarios\n- CMS system synchronization with asset metadata\n- PIM system integration for product-asset associations\n- External system metadata ingestion and normalization\n\n## Data Validation and Security\n\n### Validation Rules\n- Attribute definition compliance checking\n- Data type and format validation\n- Business rule enforcement\n- Referential integrity maintenance\n\n### Security Considerations\n- User permission validation for metadata modification\n- Audit trail generation for all changes\n- Sensitive data handling and encryption\n- Access control for keyword operations\n\n### Error Handling Patterns\n- Partial success reporting for batch operations\n- Detailed error descriptions for validation failures\n- Rollback capabilities for complex operations\n- Retry mechanisms for transient failures\n\n## Performance Optimization\n\n### Batch Processing\n- Group related updates to minimize API calls\n- Use transaction boundaries for data consistency\n- Implement efficient change detection algorithms\n- Optimize keyword lookup and validation operations\n\n### Caching Strategies\n- Cache keyword hierarchies for repeated operations\n- Maintain attribute definition caches\n- Implement change notification systems\n- Use connection pooling for database operations\n\n## Integration Best Practices\n\n### Workflow Integration\n- Implement proper error handling for failed updates\n- Use batch operations for bulk metadata operations\n- Maintain audit trails for compliance requirements\n- Design for eventual consistency in distributed systems\n\n### System Design Patterns\n- Event-driven architectures for metadata changes\n- Microservice integration with asset management\n- Queue-based processing for high-volume operations\n- API versioning for backward compatibility </details>",
        "operationId" : "persistAssets",
        "requestBody" : {
          "description" : "",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "persist_attributes" : {
                  "summary" : "Update asset attributes and metadata",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-03T07:28:00.168Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <assets>\n        <asset parent=\"01427CB0-AF41-41CF-96FC-51EC7B6ADEC1\"\n               tid=\"6FC0022A-E978-4ADF-ABFE-DBF0BE99042F\"\n               type=\"IMG\">\n            <name>100192855000_96p.jpg</name>\n            <vals>\n                <val attr=\"STRING_SIMPLE\">\n                    <itm>string</itm>\n                </val>\n                <val attr=\"NUMBER_SIMPLE\">\n                    <itm>6395629</itm>\n                </val>\n                <val attr=\"ENUMERATION_L\" type=\"multi_loc\">\n                    <i18n loc=\"en_EN\">\n                        <itm pos=\"0\">Brown</itm>\n                        <itm pos=\"1\">Yellow</itm>\n                    </i18n>\n                </val>\n                <val attr=\"xmp.IPTC.Description\" type=\"xmp\">\n                    <itm>100192296041383437</itm>\n                </val>\n                <val attr=\"xmp.dc:description\" type=\"xmp\">\n                    <itm>100192296041383437</itm>\n                </val>\n            </vals>\n        </asset>\n    </assets>\n</pim> "
                },
                "link_keywords" : {
                  "summary" : "Link keywords to asset",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2024-05-08T09:42:06.853Z</itm>\n        <itm key=\"sourceEnv\">ocd_dev</itm>\n    </meta>\n    <assets>\n        <asset id=\"58525\" parent=\"7CFD9FB3-8124-4363-8C06-B844CC58249C\" tid=\"5B8EF672-A396-43BC-B880-E8B1FC2F7376\" type=\"IMG\">\n            <name>MyAsset.jpg</name>\n            <links>\n                <itms mode=\"delta\" type=\"kwds\">\n                    <itm pos=\"0\">/MyRootKeyword</itm>\n                    <itm pos=\"1\">/AnotherRootKeyword/MySubKeyword</itm>\n                </itms>\n            </links>\n        </asset>\n    </assets>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Assets persisted successfully with status information",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "persist_response" : {
                    "summary" : "Successful asset persistence response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">response</itm>\n        <itm key=\"messageTime\">2022-06-03T07:28:00.168Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"ASSET\" tid=\"71A1021B-786C-4538-8883-70A1C6754034\" action=\"update\">\n            <status>SUCCESS</status>\n            <description>The asset has been saved successfully</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "asset_not_found_persist_error" : {
                    "summary" : "Error response when asset is not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-03T07:46:16.200Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"asset\" tid=\"71A1021B-786C-4538-8883-70A1C675403422\" action=\"update\">\n            <status>ERROR</status>\n            <description>The asset does not exist</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "no_access_rights_error" : {
                    "summary" : "Error response when access rights prevent attribute saving",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T09:15:35.301Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"ASSET\" tid=\"71A1021B-786C-4538-8883-70A1C6754034\" action=\"update\">\n            <status>WARNING</status>\n            <description>The asset has been saved successfully. Some attributes were not saved due to Access Rights</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid asset data or validation failures"
          },
          "401" : {
            "description" : "Not authorized - modification permissions required"
          },
          "404" : {
            "description" : "Asset not found or keywords not found"
          },
          "500" : {
            "description" : "Server error - persistence operation failure"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/perform" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "perform assets",
        "description" : "Execute various asset management operations including delete, move, copy, \nand version control (checkin/checkout). Supports batch operations with \ntransaction consistency and comprehensive error handling.\n\n<details># DAM Assets Perform API - Extended Documentation\n\n## Overview\n\nThe DAM Assets Perform API endpoint provides comprehensive asset management operations including lifecycle operations (delete, move, copy), version control (checkin, checkout), and administrative actions. This endpoint serves as the primary interface for asset manipulation and workflow operations within the DAM system.\n\n## Key Features\n\n- **Lifecycle Operations**: Delete, move, and copy assets\n- **Version Control**: Checkin, checkout, and clean checkout operations\n- **Batch Processing**: Execute multiple operations efficiently\n- **Transaction Support**: Ensure operation consistency\n- **Conflict Resolution**: Handle concurrent operation scenarios\n- **Audit Integration**: Complete operation tracking and logging\n\n## Available Operations\n\n### Delete Operations\n- **Hard Delete**: Permanent asset removal from the system\n- **Soft Delete**: Mark assets for deletion with recovery options\n- **Cascade Delete**: Handle dependent asset relationships\n- **Validation**: Ensure deletion permissions and constraints\n\n### Move Operations\n- **Directory Relocation**: Transfer assets between directories\n- **Path Updates**: Maintain referential integrity\n- **Conflict Handling**: Manage name collisions with overwrite options\n- **Batch Moves**: Efficient multi-asset relocation\n\n### Copy Operations\n- **Asset Duplication**: Create asset copies with new identities\n- **Metadata Preservation**: Maintain original asset attributes\n- **Version Management**: Handle copied asset versioning\n- **Reference Updates**: Update internal asset references\n\n### Version Control Operations\n- **Checkout (Lock)**: Acquire exclusive editing rights\n- **Checkin (Unlock)**: Release locks and apply changes\n- **Clean Checkout**: Force lock release for administrative scenarios\n- **Lock Management**: Handle abandoned and expired locks\n\n## Technical Implementation\n\n### Operation Processing\n- **Atomic Operations**: Ensure operation completeness\n- **Rollback Mechanisms**: Handle operation failures gracefully\n- **Progress Tracking**: Monitor long-running operations\n- **Resource Management**: Optimize system resource utilization\n\n### Concurrency Management\n- **Lock Coordination**: Prevent conflicting operations\n- **Queue Management**: Handle high-volume operation requests\n- **Priority Handling**: Process critical operations first\n- **Deadlock Detection**: Prevent and resolve operation deadlocks\n\n### Validation Framework\n- **Permission Checking**: Validate user operation rights\n- **Constraint Validation**: Ensure business rule compliance\n- **Dependency Analysis**: Check asset relationship impacts\n- **Resource Availability**: Verify system capacity for operations\n\n## Advanced Use Cases\n\n### Workflow Integration\n- **Approval Workflows**: Implement asset approval processes\n- **Review Cycles**: Support collaborative asset review\n- **Publishing Workflows**: Manage asset publication lifecycles\n- **Quality Assurance**: Integrate QA processes with asset operations\n\n### Automation Scenarios\n- **Scheduled Maintenance**: Automated asset housekeeping\n- **Archive Operations**: Automated asset archival based on criteria\n- **Synchronization**: Multi-system asset synchronization\n- **Backup Workflows**: Automated asset backup and recovery\n\n### Enterprise Integration\n- **ERP Integration**: Connect with enterprise resource planning\n- **CMS Integration**: Content management system synchronization\n- **PIM Integration**: Product information management alignment\n- **External Storage**: Integration with cloud storage providers\n\n## Performance Optimization\n\n### Batch Operation Strategies\n- **Operation Grouping**: Combine similar operations for efficiency\n- **Resource Pooling**: Optimize database and file system access\n- **Parallel Processing**: Execute independent operations concurrently\n- **Memory Management**: Optimize memory usage for large operations\n\n### Monitoring and Metrics\n- **Operation Timing**: Track operation performance metrics\n- **Resource Utilization**: Monitor system resource consumption\n- **Error Rate Tracking**: Identify and address operation failures\n- **Capacity Planning**: Predict and plan for system growth\n\n### Caching and Optimization\n- **Metadata Caching**: Cache frequently accessed asset metadata\n- **Path Resolution**: Optimize directory and asset path lookups\n- **Permission Caching**: Cache user permission information\n- **Operation History**: Maintain operation history for analysis\n\n## Security and Compliance\n\n### Access Control\n- **Permission Validation**: Enforce user access controls\n- **Role-based Security**: Implement role-based operation permissions\n- **Audit Logging**: Comprehensive operation audit trails\n- **Data Protection**: Ensure sensitive data handling compliance\n\n### Compliance Integration\n- **Retention Policies**: Implement asset retention requirements\n- **Legal Hold**: Support legal hold requirements for assets\n- **Privacy Regulations**: Ensure privacy regulation compliance\n- **Industry Standards**: Support industry-specific compliance requirements\n\n## Error Handling and Recovery\n\n### Error Classification\n- **Validation Errors**: Handle input validation failures\n- **Permission Errors**: Manage authorization failures\n- **Resource Errors**: Handle resource availability issues\n- **System Errors**: Manage system-level operation failures\n\n### Recovery Mechanisms\n- **Automatic Retry**: Implement intelligent retry mechanisms\n- **Manual Recovery**: Provide tools for manual error resolution\n- **Rollback Procedures**: Support operation rollback capabilities\n- **Notification Systems**: Alert administrators of critical failures </details>",
        "operationId" : "performAssets",
        "requestBody" : {
          "description" : "",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "delete_asset" : {
                  "summary" : "Delete an asset",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:24:53.286Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <actions>\n        <action dataType=\"asset\" tid=\"37590039-3AEA-4A13-9C3A-C6EC3C94ADCE\" type=\"delete\"/>\n    </actions>\n</pim> "
                },
                "move_asset" : {
                  "summary" : "Move asset to different directory",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-08-17T10:53:35.841Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <actions>\n        <action dataType=\"asset\" tid=\"52F78637-63AE-4F3E-8D4B-664E070C6AA1\" type=\"move\">\n            <meta>\n                <itm key=\"destinationDirTid\">52F78637-63AE-4F3E-8D4B-664E070C6AB8</itm>\n                <itm key=\"overwrite\">false</itm>\n            </meta>\n        </action>\n    </actions>\n</pim> "
                },
                "checkout_asset" : {
                  "summary" : "Checkout (lock) an asset for editing",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-14T14:40:00.264Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <actions>\n        <action dataType=\"asset\" tid=\"71A1021B-786C-4538-8883-70A1C6754034\" type=\"checkout\"/>\n    </actions>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Asset operations performed successfully",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "perform_response" : {
                    "summary" : "Successful asset operation response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">response</itm>\n        <itm key=\"messageTime\">2022-08-17T10:53:35.841Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"asset\"\n                  tid=\"52F78637-63AE-4F3E-8D4B-664E070C6AA1\"\n                  id=\"74638\"\n                  action=\"move\"\n                  path=\"/MAM/demo/copies/photo.jpg\">\n            <status>SUCCESS</status>\n            <description>asset has been moved</description>\n            <details>\n                <itm key=\"monitorId\">77833</itm>\n            </details>\n        </response>\n    </responses>\n</pim> "
                  },
                  "asset_not_found_perform_error" : {
                    "summary" : "Error response when asset is not found for operations\"",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:36:54.983Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"asset\"\n                tid=\"37590039-3AEA-4A13-9C3A-C6EC3C94ADCE2\"\n                action=\"delete\">\n            <status>ERROR</status>\n            <description>There is no asset with the given tid</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "asset_locked_error" : {
                    "summary" : "Error response when asset is locked by another user",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-14T14:40:00.264Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"asset\" tid=\"DB2B33D8-C9DF-4A0B-BCC4-F5222CB8A512\" action=\"update\">\n            <status>ERROR</status>\n            <description>The asset is checked-out (locked) by another user</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid operation parameters or asset conflicts"
          },
          "401" : {
            "description" : "Not authorized - operation permissions required"
          },
          "404" : {
            "description" : "Asset not found or destination directory not found"
          },
          "500" : {
            "description" : "Server error - operation execution failure"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/histories/retrieve" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "Get histories for asset",
        "description" : "Retrieve comprehensive historical information about assets in the Digital Asset Management system. Provides detailed examination of asset lifecycle events, property changes, user activities, and temporal sequences of modifications for compliance, forensic analysis, and change management.\n<details># Asset History Retrieve - Extended Documentation\n\n## Overview\nThe Asset History Retrieve endpoint provides comprehensive historical tracking and audit capabilities for assets in the Digital Asset Management system. This endpoint enables detailed examination of asset lifecycle events, property changes, user activities, and temporal sequences of modifications, supporting compliance, forensic analysis, and change management workflows.\n\n## Request Structure Details\nThe endpoint accepts HistoryRequest objects with flexible asset identification methods:\n\n### Asset Identification Methods\nChoose one identification method:\n- **ids**: Array of numeric asset identifiers for database-level lookup\n- **tids**: Array of Transaction IDs (Metatag GUIDs) for unique asset identification\n- **paths**: Array of file path strings for location-based asset lookup\n\n### Input Validation\n- **Single Method Required**: Specify exactly one identification method per request\n- **Array Format**: All identifiers must be provided as arrays, even for single assets\n- **Path Format**: Asset paths must be absolute from RNC root (e.g., \"/MAM/folder/file.jpg\")\n- **TID Format**: Transaction IDs must be valid UUID format\n- **ID Format**: Asset IDs must be positive integers\n- **Batch Processing**: Multiple assets can be queried simultaneously for efficient history retrieval\n\n## Response Format Details\nThe response contains PimType with AssetsType including comprehensive historical information:\n\n### Asset Core Information\n- **tid**: Transaction ID (UUID) of the asset\n- **type**: Asset type classification (e.g., \"IMG\", \"DOC\", \"VID\")\n- **name**: Current asset filename\n- **identity**: Numeric asset identifier\n- **pathStringStr**: Full asset path within the storage hierarchy\n\n### History Entry Structure\nEach history entry represents a single change event:\n\n#### Event Identification\n- **id**: Unique identifier for the history entry\n- **eventIdentifier**: Type of event (e.g., \"SAVE_DETAILS\", \"STATUS_CHANGE\", \"UPLOAD\")\n- **eventDate**: Timestamp when the change occurred\n- **eventDescription**: Human-readable description of the change\n\n#### Change Details\n- **changedProperty**: Name of the property that was modified\n- **oldValue**: Previous value of the property (before change)\n- **newValue**: New value of the property (after change)\n- **userIdentifier**: Username or identifier of the user who made the change\n\n### Historical Sequence\n- **Chronological Order**: History entries are typically ordered by event date\n- **Complete Audit Trail**: All significant changes are tracked and recorded\n- **User Attribution**: Every change is linked to the user who performed it\n- **Property Granularity**: Individual property changes are tracked separately\n\n## Use Cases\n- **Compliance Auditing**: Meeting regulatory requirements for change tracking and accountability\n- **Forensic Analysis**: Investigating unauthorized changes or data integrity issues\n- **Change Management**: Understanding the evolution of asset properties over time\n- **User Activity Monitoring**: Tracking individual user contributions and modifications\n- **Rollback Support**: Identifying previous values for potential rollback operations\n- **Quality Assurance**: Reviewing modification patterns to ensure data quality\n- **Workflow Analysis**: Understanding asset lifecycle patterns and bottlenecks\n- **Rights Management**: Tracking changes to access controls and permissions\n- **Content Governance**: Ensuring compliance with content management policies\n- **System Integration**: Synchronizing changes with external systems\n\n## Technical Considerations\n- **Performance**: Large assets with extensive histories may require pagination or filtering\n- **Storage Impact**: History tracking increases database storage requirements\n- **Data Retention**: Organizations may implement retention policies for historical data\n- **Privacy Compliance**: User information in history may be subject to privacy regulations\n- **Temporal Accuracy**: Event timestamps reflect server time and may need timezone consideration\n- **Concurrency**: Concurrent modifications are tracked with precise temporal ordering\n- **System Events**: Some changes may be attributed to system processes rather than users\n\n## Integration Patterns\n- **Audit Logging**: Integration with enterprise audit logging systems\n- **Notification Systems**: Triggering alerts based on specific change patterns\n- **Backup and Recovery**: Using history data to support recovery operations\n- **Business Intelligence**: Analyzing change patterns for operational insights\n- **Compliance Reporting**: Generating reports for regulatory compliance\n- **Change Approval**: Supporting approval workflows based on change history\n- **System Monitoring**: Detecting unusual change patterns or unauthorized access\n\n## Advanced Analysis Scenarios\n- **Change Pattern Analysis**: Identifying trends in asset modification behavior\n- **User Behavior Profiling**: Understanding individual user work patterns\n- **Asset Lifecycle Mapping**: Tracking assets through their complete lifecycle\n- **Impact Assessment**: Analyzing the scope and impact of specific changes\n- **Temporal Correlation**: Identifying relationships between changes across multiple assets\n- **Rollback Planning**: Determining safe rollback points based on change history\n- **Quality Metrics**: Measuring data quality improvements or degradation over time\n\n## Security and Privacy Considerations\n- **Access Control**: History access should respect asset-level permissions\n- **Data Sensitivity**: Historical data may contain sensitive information requiring protection\n- **User Privacy**: Consider privacy implications of detailed user activity tracking\n- **Retention Policies**: Implement appropriate data retention and deletion policies\n- **Audit Trail Protection**: Ensure history data cannot be tampered with or deleted\n- **GDPR Compliance**: Consider right-to-be-forgotten implications for user data in history\n\n## Error Scenarios\n- **Asset Not Found**: Referenced assets don't exist or are inaccessible\n- **Permission Denied**: Insufficient rights to view asset history\n- **Invalid Identifiers**: Malformed TIDs, invalid IDs, or incorrect paths\n- **History Service Unavailable**: History tracking service temporarily unavailable\n- **Data Corruption**: Inconsistent or corrupted historical data\n- **Timeout**: Large history datasets exceed processing time limits\n- **Storage Issues**: Insufficient storage for history data retrieval\n\n## Performance Optimization\n- **Pagination**: Implement pagination for assets with extensive histories\n- **Date Filtering**: Allow filtering by date ranges to limit response size\n- **Property Filtering**: Enable filtering by specific changed properties\n- **User Filtering**: Support filtering by specific users or user groups\n- **Caching**: Cache frequently accessed history data for improved performance\n- **Indexing**: Ensure proper database indexing for history queries\n- **Batch Processing**: Optimize batch requests for multiple assets\n\n## Response Analysis Guidelines\n- **Temporal Sequencing**: Analyze changes in chronological order for proper context\n- **Change Clustering**: Group related changes that occurred in the same timeframe\n- **User Pattern Recognition**: Identify patterns in individual user behavior\n- **Property Impact Assessment**: Understand the business impact of specific property changes\n- **Compliance Verification**: Ensure all required changes are properly documented\n- **Anomaly Detection**: Identify unusual or suspicious change patterns </details>",
        "operationId" : "getAssetHistories",
        "requestBody" : {
          "description" : "HistoryRequest object specifying assets to retrieve history for. Use ids for numeric identifiers, tids for Transaction IDs, or paths for file path-based lookup.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/HistoryRequestDto"
              },
              "examples" : {
                "get_history_by_tids" : {
                  "summary" : "Get asset history using Transaction IDs",
                  "value" : "{\n    \"tids\": [\"71A1021B-786C-4538-8883-70A1C6754034\", \"5FB0C015-2937-4B5C-AD45-7E7A49EEF026\"]\n} "
                },
                "get_history_by_ids" : {
                  "summary" : "Get asset history using asset IDs",
                  "value" : "{\n    \"ids\": [25151, 25167, 25180]\n} "
                },
                "get_history_by_paths" : {
                  "summary" : "Get asset history using asset paths",
                  "value" : "{\n    \"paths\": [\"/MAM/test/invisible/image1.png\", \"/MAM/test/simple/image2.png\"]\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with AssetsType containing comprehensive historical information including change events, user activities, and temporal sequences",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "asset_history_response" : {
                    "summary" : "Asset history with detailed change tracking",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-05-24T06:45:03.459Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <assets>\n        <asset tid=\"71A1021B-786C-4538-8883-70A1C6754034\" type=\"IMG\">\n            <name>image1.png</name>\n            <meta>\n                <itm key=\"identity\">25151</itm>\n                <itm key=\"pathStringStr\">MAM/test/invisible/image1.png</itm>\n            </meta>\n            <histories>\n                <history id=\"98765\">\n                    <meta>\n                        <itm key=\"changedProperty\">prop1</itm>\n                        <itm key=\"eventDate\">02.02.2022</itm>\n                        <itm key=\"eventDescription\">Asset metadata updated</itm>\n                        <itm key=\"eventIdentifier\">SAVE_DETAILS</itm>\n                        <itm key=\"newValue\">NewText</itm>\n                        <itm key=\"oldValue\">OldText</itm>\n                        <itm key=\"userIdentifier\">admin</itm>\n                    </meta>\n                </history>\n                <history id=\"98766\">\n                    <meta>\n                        <itm key=\"changedProperty\">title</itm>\n                        <itm key=\"eventDate\">03.02.2022</itm>\n                        <itm key=\"eventDescription\">Title changed</itm>\n                        <itm key=\"eventIdentifier\">SAVE_DETAILS</itm>\n                        <itm key=\"newValue\">Updated Title</itm>\n                        <itm key=\"oldValue\">Original Title</itm>\n                        <itm key=\"userIdentifier\">editor</itm>\n                    </meta>\n                </history>\n            </histories>\n        </asset>\n        <asset tid=\"5FB0C015-2937-4B5C-AD45-7E7A49EEF026\" type=\"IMG\">\n            <name>image2.png</name>\n            <meta>\n                <itm key=\"identity\">25167</itm>\n                <itm key=\"pathStringStr\">MAM/test/simple/image2.png</itm>\n            </meta>\n            <histories>\n                <history id=\"54321\">\n                    <meta>\n                        <itm key=\"changedProperty\">prop2</itm>\n                        <itm key=\"eventDate\">02.02.2022</itm>\n                        <itm key=\"eventDescription\">Property value updated</itm>\n                        <itm key=\"eventIdentifier\">SAVE_DETAILS</itm>\n                        <itm key=\"newValue\">future</itm>\n                        <itm key=\"oldValue\">past</itm>\n                        <itm key=\"userIdentifier\">user</itm>\n                    </meta>\n                </history>\n                <history id=\"54322\">\n                    <meta>\n                        <itm key=\"changedProperty\">status</itm>\n                        <itm key=\"eventDate\">04.02.2022</itm>\n                        <itm key=\"eventDescription\">Asset status changed</itm>\n                        <itm key=\"eventIdentifier\">STATUS_CHANGE</itm>\n                        <itm key=\"newValue\">published</itm>\n                        <itm key=\"oldValue\">draft</itm>\n                        <itm key=\"userIdentifier\">publisher</itm>\n                    </meta>\n                </history>\n            </histories>\n        </asset>\n    </assets>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided (e.g., malformed identifiers)"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to retrieve asset histories"
          },
          "404" : {
            "description" : "Not Found: Specified assets not found or inaccessible"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/checkin" : {
      "post" : {
        "tags" : [ "dam" ],
        "operationId" : "checkinAsset",
        "requestBody" : {
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/CheckinRequestDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/CheckinRequestDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/dam/assets/bulk" : {
      "post" : {
        "tags" : [ "dam" ],
        "operationId" : "startBulk_7",
        "requestBody" : {
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/dam/assets/bin/retrieve" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "Retrieve binary assets",
        "description" : "Retrieves the binary data of assets specified by an AssetRequest (ids, tids, formats). When multiple assets and/or formats are requested, the files are compressed into a zip with one directory per tid/id.\n<details># Retrieve Binary Assets - Extended Documentation\n\nSpecified by `AssetRequest`:\n- `tids` (List of String) - Filter parameter, asset TIDs (Metatag GUID), identifying unique objects\n- `ids` (List of Integer) - Filter parameter, asset IDs, identifying unique objects\n- `formats` (List of String) - Filter parameter, asset formats, identifying preview format or asset\n\n## Response\n\nBinary data.\n\nWhen multiple assets and/or multiple formats are requested, the files are compressed into a\nzip. The zip file has the following structure:\n- one directory per tid/id\n- inside that directory the file name of the asset + the format prefix (+ file-suffix) is\n  used as the file name\n\n```\nresult.zip\n        |----- 7CD062AE-B69E-47D5-8422-8840E4A22E88\n        |                                    |---- apollon_logo_previewThumbnail.jpg\n        |                                    |---- apollon_logo_previewOriginal.jpg\n        |\n        |----- 05954601-9289-49A7-8652-BE74A7DB0E06\n                                             |---- apollon_bg_previewThumbnail.jpg\n                                             |---- apollon_bg_previewOriginal.jpg\n```\n\n## curl example\n\n```bash\ncurl --location --request POST 'http://<OMN_SERVER>/api/core/v1/dam/assets/bin/retrieve' \\\n--header 'content-type: application/json' \\\n--header 'Authorization: Bearer <TOKEN>' \\\n--data-raw '<REQUEST_BODY>'\n```\n</details>",
        "operationId" : "retrieveAssetsBin",
        "requestBody" : {
          "description" : "AssetRequest with filter parameters: tids (asset TIDs), ids (asset IDs) and formats (preview format or asset).",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/AssetRequestDto"
              },
              "examples" : {
                "asset_bin_retrieve_by_id_request" : {
                  "summary" : "Retrieve a single asset by id",
                  "value" : "{\n  \"ids\": [1331131]\n}\n"
                },
                "asset_bin_retrieve_by_tid_request" : {
                  "summary" : "Retrieve a single asset by tid",
                  "value" : "{\n  \"tids\": [\"7CD062AE-B69E-47D5-8422-8840E4A22E88\"]\n}\n"
                },
                "asset_bin_retrieve_by_ids_request" : {
                  "summary" : "Retrieve several assets by ids (returns a zip)",
                  "value" : "{\n  \"ids\": [1331131, 22738178]\n}\n"
                },
                "asset_bin_retrieve_with_formats_request" : {
                  "summary" : "Retrieve preview formats for an asset (returns a zip)",
                  "value" : "{\n  \"ids\": [1331131],\n  \"formats\": [\"previewThumbnail\", \"previewOriginal\"]\n}\n"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns the binary data. A single file for one asset/format, or a zip when multiple assets and/or formats are requested",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/bin/persist" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "Asset upload",
        "description" : "Uploads a binary file for an asset in a single request without splitting it into chunks. Semantically identical to the chunked asset upload.\n<details># Asset Upload - Extended Documentation\n\nSemantic is the same as in the chunked asset upload. With this endpoint it is possible to\nupload a file in a single request without splitting it into chunks.\n\nThe request is sent as `multipart/form-data`:\n- `payload` - the binary file to upload\n- `params` - a JSON object (`AssetUploadRequest`) with the upload parameters\n\n## curl example\n\n```bash\ncurl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/bin/persist' \\\n--header 'Authorization: Bearer <TOKEN>' \\\n--form 'payload=@\"/<FILE_PATH>/artworks-bQbImNIL55TZ52he-gAKJ7w-t500x500.jpg\"' \\\n--form 'params=\"{\n    \\\"path\\\":\\\"/MAM/demo/\\\",\n    \\\"tid\\\": \\\"AAAAA-AAAAA-AAAAAA-AAAAAA\\\",\n    \\\"doPreviewsAsync\\\": true,\n    \\\"doOverwrite\\\": true\n}\";type=application/json'\n```\n\n## Response\n\n`PimType` with a filled `ResponsesType`. The response contains the status and information\nabout the upload asset operation.\n</details>",
        "operationId" : "uploadAsset",
        "requestBody" : {
          "description" : "Multipart request. The 'payload' part is the binary file; the 'params' part is an AssetUploadRequest JSON object (path, tid, doPreviewsAsync, doOverwrite).",
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "params" : {
                    "$ref" : "#/components/schemas/AssetUploadRequestDto"
                  },
                  "payload" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            },
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "params" : {
                    "$ref" : "#/components/schemas/AssetUploadRequestDto"
                  },
                  "payload" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              },
              "examples" : {
                "asset_bin_persist_request" : {
                  "summary" : "AssetUploadRequest params",
                  "value" : "{\n    \"path\": \"/MAM/demo/\",\n    \"tid\": \"AAAAA-AAAAA-AAAAAA-AAAAAA\",\n    \"doPreviewsAsync\": true,\n    \"doOverwrite\": true\n}\n"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing the status and information about the upload asset operation",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "asset_bin_persist_response" : {
                    "summary" : "The asset has been uploaded",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\">\n    <responses>\n        <response action=\"create\"\n                dataType=\"asset\"\n                id=\"86670\"\n                path=\"/MAM/demo/file.jpg\"\n                tid=\"AAAAA-AAAAA-AAAAAA-AAAAAA\">\n            <status>SUCCESS</status>\n            <description>The asset has been uploaded</description>\n        </response>\n    </responses>\n</pim>\n"
                  },
                  "asset_bin_persist_no_access_error" : {
                    "summary" : "Error response when there are no permissions to upload by path",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<response xmlns=\"http://www.apollon.de/omn\">\n    <details>\n        <itm key=\"supportId\">9fdfc6ce-6999-4f3b-8513-be5c431974ee</itm>\n    </details>\n    <issues>\n        <itm key=\"code\">1000</itm>\n        <itm key=\"description\">An unknown internal error occurred</itm>\n        <itms type=\"details\">\n            <itm key=\"errorMessage\">No permissions to upload by path: /demo/file.jpg</itm>\n        </itms>\n    </issues>\n    <status>ERROR</status>\n</response>\n"
                  },
                  "asset_bin_persist_already_exists_error" : {
                    "summary" : "Error response when the file already exists",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<response xmlns=\"http://www.apollon.de/omn\">\n    <details>\n        <itm key=\"supportId\">d2540d63-e9b5-4647-b875-bcb0c9dfabe5</itm>\n    </details>\n    <issues>\n        <itm key=\"code\">1003</itm>\n        <itm key=\"description\">The resource already exists</itm>\n        <itms type=\"details\">\n            <itm key=\"errorMessage\">File already exists by path: '/demo/file.jpg'</itm>\n        </itms>\n    </issues>\n    <status>ERROR</status>\n</response>\n"
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/bin/chunked/upload/{uploadId}" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "Chunked upload - upload a chunk",
        "description" : "Uploads a single chunk of the file for the upload session identified by uploadId. The request is a multipart form with the binary 'payload' part and the 'chunkId' part.\n<details># Chunked Upload: Upload a Chunk - Extended Documentation\n\nUploads a single chunk of the file for the upload session identified by `{uploadId}`.\n\nThe request is sent as `multipart/form-data`:\n- `payload` - the binary chunk\n- `chunkId` - the (zero-based) index of the chunk\n\n## Response\n\n`PimType` with a filled `ResponsesType`. The response contains the status of the chunk upload.\n\n## curl example\n\n```bash\ncurl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/bin/chunked/upload/9f9417cc-031b-4bf4-ae98-e1df1fc93fef' \\\n--header 'Authorization: Bearer <TOKEN>' \\\n--form 'payload=@\"<PATH_TO_FILE>500x500.jpg\"' \\\n--form 'chunkId=\"0\";type=application/json'\n```\n</details>",
        "operationId" : "uploadAssetChunk",
        "parameters" : [ {
          "name" : "uploadId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "chunkId" : {
                    "type" : "integer",
                    "format" : "int32"
                  },
                  "payload" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            },
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "chunkId" : {
                    "type" : "integer",
                    "format" : "int32"
                  },
                  "payload" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing the status of the chunk upload",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "asset_bin_chunked_upload_response" : {
                    "summary" : "Chunk has been uploaded",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\">\n    <responses>\n        <response action=\"create\" id=\"0\" tid=\"c15af96a-4ce2-4d05-8965-e375c00daf1b\">\n            <status>SUCCESS</status>\n            <description>Chunk has been uploaded</description>\n        </response>\n    </responses>\n</pim>\n"
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/dam/assets/bin/chunked/start" : {
      "post" : {
        "tags" : [ "dam" ],
        "summary" : "Chunked upload - start",
        "description" : "Starts a chunked asset upload session. The chunk upload workflow consists of three steps: start the upload, upload N chunks, then finish the upload. The response contains the upload tid required for the next steps.\n<details># Chunked Upload: Start - Extended Documentation\n\nThe chunk upload workflow consists of 3 general steps:\n1. Initialize / start upload\n2. Upload N chunks\n3. Finish upload\n\nSpecified by `AssetUploadRequest`.\n\n## Response\n\n`OmnType` with a filled `ResponsesType`. The response contains the upload `tid` - the unique\nidentity of the upload session. The upload `tid` is required for the next upload steps.\n\n## curl example\n\n```bash\ncurl --location --request POST 'https://<OMN_SERVER>/api/core/v1/dam/assets/bin/chunked/start' \\\n--header 'Authorization: Bearer <TOKEN>' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"path\":\"/MAM/demo/file2.jpg\",\n    \"tid\": \"AAAAA-AAAAA-AAAAAA-AAAAAA\"\n}'\n```\n</details>",
        "operationId" : "startAssetChunkUpload",
        "requestBody" : {
          "description" : "AssetUploadRequest specifying the target path and tid of the file to upload.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/AssetUploadRequestDto"
              },
              "examples" : {
                "asset_bin_chunked_start_request" : {
                  "summary" : "Start a chunked upload",
                  "value" : "{\n    \"tid\": \"0AA31C0C-F2AE-422C-9C6A-25BAB368706E\",\n    \"path\": \"/MAM/demo/filename.jpg\"\n}\n"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns OmnType with ResponsesType containing the upload tid (unique identity of the upload session)",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "asset_bin_chunked_start_response" : {
                    "summary" : "Chunk upload started, returns the upload tid",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\">\n    <responses>\n        <response tid=\"9f9417cc-031b-4bf4-ae98-e1df1fc93fef\">\n            <status>SUCCESS</status>\n            <description>Chunk upload could be started by upload UUID/tid</description>\n        </response>\n    </responses>\n</pim>\n"
                  },
                  "asset_bin_chunked_start_file_exists_error" : {
                    "summary" : "Error response when the file already exists",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<response xmlns=\"http://www.apollon.de/omn\">\n    <details>\n        <itm key=\"supportId\">f21311c9-a868-4d4e-bc48-adaa96436335</itm>\n    </details>\n    <issues>\n        <itm key=\"code\">1000</itm>\n        <itm key=\"description\">An unknown internal error occurred</itm>\n        <itms type=\"details\">\n            <itm key=\"errorMessage\">File already exists by path: '/demo/file.jpg'</itm>\n        </itms>\n    </issues>\n    <status>ERROR</status>\n</response>\n"
                  },
                  "asset_bin_chunked_start_no_destination_error" : {
                    "summary" : "Error response when the target directory does not exist",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<response xmlns=\"http://www.apollon.de/omn\">\n    <details>\n        <itm key=\"supportId\">9fdfc6ce-6999-4f3b-8513-be5c431974ee</itm>\n    </details>\n    <issues>\n        <itm key=\"code\">1000</itm>\n        <itm key=\"description\">An unknown internal error occurred</itm>\n        <itms type=\"details\">\n            <itm key=\"errorMessage\">No target directory by path: '[demo]' in rnc: 'MAM'</itm>\n        </itms>\n    </issues>\n    <status>ERROR</status>\n</response>\n"
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/common/transform" : {
      "post" : {
        "tags" : [ "common" ],
        "summary" : "Transform PimType in different formats",
        "description" : "Transform data between different API formats (XML, JSON, Compact JSON) while preserving content. The source format is specified by Content-Type header and target format by Accept header. Essential for system interoperability and supporting different client application requirements.\n<details># Transform - Extended Documentation\n\n## Overview\nThe Transform endpoint provides a format conversion service for OMN data, allowing seamless transformation between XML, JSON, and Compact JSON formats. This is essential for system interoperability and supporting different client application requirements.\n\n## Supported Format Transformations\nThe endpoint supports bidirectional conversion between all supported formats:\n\n### XML Format (application/xml; charset=UTF-8)\n- Standard OMN XML structure with `<pim>` root element\n- Namespace: `http://www.apollon.de/omn`\n- Hierarchical structure with nested elements and attributes\n- Best for systems requiring structured, schema-validated data\n\n### Standard JSON Format (application/json; charset=UTF-8)\n- Detailed JSON representation preserving all XML structure\n- Maintains `itm` arrays with explicit key-value pairs\n- Preserves all metadata and hierarchical relationships\n- Best for applications requiring complete data fidelity\n\n### Compact JSON Format (application/json+compact; charset=UTF-8)\n- Streamlined JSON format for efficient data transfer\n- Flattened structure with direct key-value mappings\n- Reduced payload size and simplified parsing\n- Best for web applications and mobile clients\n\n## Request/Response Pattern\nThe transformation is controlled by HTTP headers:\n- **Content-Type**: Specifies the format of incoming data\n- **Accept**: Specifies the desired output format\n- **Request Body**: Data in the source format\n- **Response Body**: Same data in the target format\n\n## Format Conversion Examples\n\n### XML → Compact JSON\nInput XML preserves all structural information while output Compact JSON provides a streamlined representation optimized for modern applications.\n\n### JSON → XML\nStandard JSON with `itm` arrays converts to well-formed XML maintaining all hierarchical relationships and metadata.\n\n### Compact JSON → Standard JSON\nCompact format expands to detailed JSON structure, making implicit relationships explicit.\n\n## Use Cases\n- **API Gateway Integration**: Convert between formats for different client requirements\n- **Legacy System Integration**: Transform modern JSON to XML for older systems\n- **Mobile Application Support**: Convert to compact JSON for bandwidth efficiency\n- **Data Migration**: Transform data formats during system migrations\n- **Development and Testing**: Compare data representations across formats\n- **Cross-Platform Compatibility**: Support different format preferences\n\n## Technical Considerations\n- **Content Preservation**: All data content is preserved during transformation\n- **Schema Validation**: Output maintains schema compliance for target format\n- **Performance Optimized**: Efficient conversion algorithms for production use\n- **Error Handling**: Comprehensive validation with detailed error messages\n- **Memory Efficient**: Streaming processing for large data sets\n- **Unicode Support**: Full UTF-8 character set support across all formats\n\n## Error Scenarios\n- **Invalid Input Format**: Malformed XML/JSON in request body\n- **Unsupported Content-Type**: Invalid or missing Content-Type header\n- **Invalid Accept Header**: Unsupported or missing Accept header value\n- **Schema Violations**: Input data not conforming to OMN schema\n- **Encoding Issues**: Character encoding problems in input data </details>",
        "operationId" : "transform",
        "requestBody" : {
          "description" : "PimType data in source format (XML, JSON, or Compact JSON). The format is determined by the Content-Type header.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "transform_request_xml" : {
                  "summary" : "XML format request for transformation",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageMode\">delta</itm>\n        <itm key=\"messageTime\">2019-09-17T11:32:08.022Z</itm>\n        <itm key=\"sourceEnv\">customer-prod</itm>\n        <itm key=\"productImportPreProcessor\">customerProductImportPreProcessor</itm>\n        <itm key=\"productImportPostProcessor\">customerProductImportPostProcessor</itm>\n        <itm key=\"projectImportPostProcessor\">defaultProjectImportPostProcessor</itm>\n    </meta>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "transform_request_json" : {
                  "summary" : "Standard JSON format request for transformation",
                  "value" : "{\n    \"meta\": {\n        \"itm\": [\n            {\n                \"key\": \"messageType\",\n                \"value\": \"request\"\n            },\n            {\n                \"key\": \"messageMode\",\n                \"value\": \"delta\"\n            },\n            {\n                \"key\": \"messageTime\",\n                \"value\": \"2019-09-17T11:32:08.022Z\"\n            },\n            {\n                \"key\": \"sourceEnv\",\n                \"value\": \"customer-prod\"\n            },\n            {\n                \"key\": \"productImportPreProcessor\",\n                \"value\": \"customerProductImportPreProcessor\"\n            },\n            {\n                \"key\": \"productImportPostProcessor\",\n                \"value\": \"customerProductImportPostProcessor\"\n            },\n            {\n                \"key\": \"projectImportPostProcessor\",\n                \"value\": \"defaultProjectImportPostProcessor\"\n            }\n        ]\n    },\n    \"schemaVersion\": \"5.6.0\"\n}"
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "transform_request_compact_json" : {
                  "summary" : "Compact JSON format request for transformation",
                  "value" : "{\n    \"meta\": {\n        \"messageType\": \"request\",\n        \"messageMode\": \"delta\",\n        \"messageTime\": \"2019-09-17T11:32:08.022Z\",\n        \"sourceEnv\": \"customer-prod\",\n        \"productImportPreProcessor\": \"customerProductImportPreProcessor\",\n        \"productImportPostProcessor\": \"customerProductImportPostProcessor\",\n        \"projectImportPostProcessor\": \"defaultProjectImportPostProcessor\"\n    },\n    \"schemaVersion\": \"5.6.0\"\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns the same data transformed into the target format specified by the Accept header",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "transform_response_xml" : {
                    "summary" : "XML format response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageMode\">delta</itm>\n        <itm key=\"messageTime\">2019-09-17T11:32:08.022Z</itm>\n        <itm key=\"sourceEnv\">customer-prod</itm>\n        <itm key=\"productImportPreProcessor\">customerProductImportPreProcessor</itm>\n        <itm key=\"productImportPostProcessor\">customerProductImportPostProcessor</itm>\n        <itm key=\"projectImportPostProcessor\">defaultProjectImportPostProcessor</itm>\n    </meta>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "transform_response_json" : {
                    "summary" : "Standard JSON format response",
                    "value" : "{\n    \"meta\": {\n        \"itm\": [\n            {\n                \"key\": \"messageType\",\n                \"value\": \"request\"\n            },\n            {\n                \"key\": \"messageMode\",\n                \"value\": \"delta\"\n            },\n            {\n                \"key\": \"messageTime\",\n                \"value\": \"2019-09-17T11:32:08.022Z\"\n            },\n            {\n                \"key\": \"sourceEnv\",\n                \"value\": \"customer-prod\"\n            },\n            {\n                \"key\": \"productImportPreProcessor\",\n                \"value\": \"customerProductImportPreProcessor\"\n            },\n            {\n                \"key\": \"productImportPostProcessor\",\n                \"value\": \"customerProductImportPostProcessor\"\n            },\n            {\n                \"key\": \"projectImportPostProcessor\",\n                \"value\": \"defaultProjectImportPostProcessor\"\n            }\n        ]\n    },\n    \"schemaVersion\": \"5.6.0\"\n}"
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "transform_response_compact_json" : {
                    "summary" : "Compact JSON format response",
                    "value" : "{\n    \"meta\": {\n        \"messageType\": \"request\",\n        \"messageMode\": \"delta\",\n        \"messageTime\": \"2019-09-17T11:32:08.022Z\",\n        \"sourceEnv\": \"customer-prod\",\n        \"productImportPreProcessor\": \"customerProductImportPreProcessor\",\n        \"productImportPostProcessor\": \"customerProductImportPostProcessor\",\n        \"projectImportPostProcessor\": \"defaultProjectImportPostProcessor\"\n    },\n    \"schemaVersion\": \"5.6.0\"\n} "
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input format, malformed data, or unsupported Content-Type/Accept headers"
          },
          "500" : {
            "description" : "Internal Server Error: An unknown internal error occurred during transformation"
          }
        }
      }
    },
    "/api/core/v1/common/messages/persist" : {
      "post" : {
        "tags" : [ "common" ],
        "summary" : "Send messages to users and/or groups",
        "description" : "Allows you to send messages to users and/or groups within the system. This endpoint provides a way to communicate notifications, alerts, and other information to specific recipients. If both user and role are specified, the role has precedence.\n<details># Messages Persist - Extended Documentation\n\n## Request Structure Details\nThe request body should contain a MessagesPersistRequest with an array of message objects. Each message object can specify either a recipient user or a recipient role (or both, in which case the role has precedence).\n\n### Required Parameters\n- `messages` (Array): An array of message objects, each containing:\n  - Either `recipientUser` or `recipientRole` (or both): The target recipient(s) of the message\n  - `subject` (String): The subject line of the message\n  - `body` (String): The content of the message\n\n### Optional Parameters\n- `tid` (String): A unique identifier for the message\n- `severity` (String): The severity level of the message (e.g., \"ERROR\")\n- `senderApplication` (String): The application that is sending the message\n- `senderPlugin` (String): The plugin that is sending the message\n- `parameters` (Object): Additional parameters to include with the message\n\n## Response Format Details\nThe response is a ResponsesType containing statuses about each sent message.\n\n## Use Cases\n- Sending system notifications to administrators\n- Alerting users about process failures or errors\n- Notifying user groups about important events\n- Sending automated messages from background processes\n- Delivering application-specific notifications to relevant stakeholders\n- Implementing a messaging system between system components and users\n\n## Technical Considerations\n- If both recipientUser and recipientRole are specified, the role has precedence\n- At least one recipient (user or role) must be specified\n- Each message can have its own unique TID for tracking purposes\n- Severity levels help categorize the importance of messages </details>",
        "operationId" : "persistMessage",
        "requestBody" : {
          "description" : "MessagesPersistRequest with an array of message objects. Each message must specify either recipientUser or recipientRole (or both). Required fields: subject and body. Optional: tid, severity, senderApplication, senderPlugin, and parameters.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/MessagesPersistRequestDto"
              },
              "examples" : {
                "send_message_with_all_parameters" : {
                  "summary" : "Send a message with all available parameters",
                  "value" : "{\n  \"messages\": [\n    {\n      \"tid\": \"85a4ebbc-7e19-4021-b76b-373436628bb8\",\n      \"subject\": \"AI-Tagging Failed\",\n      \"body\": \"The AI-Tagging process for asset with id '43691245' failed!\",\n      \"severity\": \"ERROR\",\n      \"recipientUser\": \"ap-admin\",\n      \"recipientRole\": \"monitoring\",\n      \"senderApplication\": \"Camunda\",\n      \"senderPlugin\": \"AI-Tagging\",\n      \"parameters\": {\n        \"additionalProp1\": \"string\",\n        \"additionalProp2\": \"string\",\n        \"additionalProp3\": \"string\"\n      }\n    }\n  ]\n} "
                },
                "send_simple_message" : {
                  "summary" : "Send a simple message with just required fields",
                  "value" : "{\n  \"messages\": [\n    {\n      \"subject\": \"System Notification\",\n      \"body\": \"This is a simple notification message.\",\n      \"recipientUser\": \"admin\"\n    }\n  ]\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns ResponsesType with statuses about each sent message",
            "content" : {
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponsesTypeDto"
                },
                "examples" : {
                  "messages_persist_response" : {
                    "summary" : "Successful message persistence response",
                    "value" : "{\n    \"response\": [\n        {\n            \"dataType\": \"message\",\n            \"issues\": [],\n            \"status\": \"SUCCESS\",\n            \"tid\": \"85a4ebbc-7e19-4021-b76b-373436628bb8\"\n        }\n    ]\n} "
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Issue with the format of the request (missing required value or wrong data type)",
            "content" : {
              "application/json; charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResponseTypeDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/common/locales/retrieve" : {
      "post" : {
        "tags" : [ "common" ],
        "summary" : "Retrieve locales by mode or identifiers",
        "description" : "Allows you to retrieve locales (language settings) by mode, IDs, or identifiers. This endpoint provides a flexible way to access language configuration information with options for all locales, content locales, frontend locales, or specific locales by ID/TID.\n<details># Locales Retrieve - Extended Documentation\n\n## Request Structure Details\nThe request body should contain a LocaleRequest with the following parameters:\n\n### Required Parameters\n- `mode` (String): Specifies the mode of languages loading. Possible values:\n  - `ID`: Locales for the given IDs should be loaded\n  - `TID`: Locales for the given identifiers should be loaded\n  - `ALL`: A list of all locales should be loaded\n  - `CONTENT`: A list of content locales should be loaded\n  - `FRONTEND`: A list of frontend locales should be loaded\n\n### Optional Parameters\n- `ids` (List of Integer): A list of locale IDs which should be returned\n  - If this parameter is set, then the `mode` must be `ID`\n- `tids` (List of String): A list of locale TIDs which should be returned\n  - If this parameter is set, then the `mode` must be `TID`\n- `exportConfig` (Boolean): Whether the \"config\" information (tag) should be returned\n  - Default value is false\n\n## Response Format Details\nThe response is a PimType with filled LocalesType containing the requested locales and their metadata.\n\n## Use Cases\n- Retrieving all available languages in the system\n- Getting specific language configurations by ID or identifier\n- Fetching only content or frontend languages\n- Obtaining detailed language configuration information\n- Building language selection interfaces\n- Implementing multilingual features in applications\n\n## Technical Considerations\n- Mode parameter determines the type of locale retrieval operation\n- ExportConfig flag controls whether detailed configuration information is included\n- Content and frontend locale modes filter by specific locale types\n- Both ID and TID-based access methods are supported </details>",
        "operationId" : "retrieveLocales",
        "requestBody" : {
          "description" : "LocaleRequest with mode parameter (ALL, CONTENT, FRONTEND, ID, or TID) and optional ids/tids arrays. If mode is ID, provide ids array. If mode is TID, provide tids array. ExportConfig flag controls configuration information inclusion.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/LocaleRequestDto"
              },
              "examples" : {
                "get_all_locales" : {
                  "summary" : "Get all locales without configuration",
                  "value" : "{\n    \"mode\": \"ALL\"\n} "
                },
                "get_all_locales_with_config" : {
                  "summary" : "Get all locales with configuration information",
                  "value" : "{\n    \"mode\": \"ALL\",\n    \"exportConfig\": true\n} "
                },
                "get_locales_by_tid" : {
                  "summary" : "Get specific locales by TID with configuration",
                  "value" : "{\n    \"tids\": [\"en_EN\"],\n    \"mode\": \"TID\",\n    \"exportConfig\": true\n} "
                },
                "get_locales_by_tid_multiple" : {
                  "summary" : "Get multiple locales by TID with configuration",
                  "value" : "{\n    \"tids\": [\"en_EN\", \"de_DE\"],\n    \"mode\": \"TID\",\n    \"exportConfig\": true\n} "
                },
                "get_locales_by_id" : {
                  "summary" : "Get specific locales by ID",
                  "value" : "{\n    \"ids\": [6000, 6003],\n    \"mode\": \"ID\"\n} "
                },
                "get_content_locales" : {
                  "summary" : "Get all content locales",
                  "value" : "{\n    \"mode\": \"CONTENT\"\n} "
                },
                "get_frontend_locales" : {
                  "summary" : "Get all frontend locales",
                  "value" : "{\n    \"mode\": \"FRONTEND\"\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with filled LocalesType containing the requested locales and their metadata",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "locales_retrieve_response_with_config" : {
                    "summary" : "Retrieved locales with configuration information",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <locales mode=\"delta\">\n        <locale country=\"EN\" id=\"6000\" language=\"en\" name=\"English\" tid=\"en_EN\">\n            <config>\n                <itms mode=\"delta\" type=\"dateFormat\">\n                    <itm key=\"customDateFormatsEnabled\">false</itm>\n                </itms>\n            </config>\n            <meta>\n                <itm key=\"contentLocale\">true</itm>\n                <itm key=\"defaultContentLocale\">true</itm>\n                <itm key=\"defaultFrontendLocale\">false</itm>\n                <itm key=\"frontendLocale\">true</itm>\n            </meta>\n        </locale>\n        <locale country=\"DE\" id=\"6003\" language=\"de\" name=\"German\" tid=\"de_DE\">\n            <config>\n                <itms mode=\"delta\" type=\"dateFormat\">\n                    <itm key=\"customDateFormatsEnabled\">false</itm>\n                </itms>\n            </config>\n            <meta>\n                <itm key=\"contentLocale\">true</itm>\n                <itm key=\"defaultContentLocale\">false</itm>\n                <itm key=\"defaultFrontendLocale\">true</itm>\n                <itm key=\"frontendLocale\">true</itm>\n            </meta>\n        </locale>\n    </locales>\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-12-19T07:17:57.303Z</itm>\n        <itm key=\"sourceEnv\">dev</itm>\n        <itm key=\"itemInformationType\">locale</itm>\n    </meta>\n</pim> "
                  },
                  "locales_retrieve_response_without_config" : {
                    "summary" : "Retrieved locales without configuration information",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <locales mode=\"delta\">\n        <locale country=\"EN\" id=\"6000\" language=\"en\" name=\"English\" tid=\"en_EN\">\n            <meta>\n                <itm key=\"contentLocale\">true</itm>\n                <itm key=\"defaultContentLocale\">true</itm>\n                <itm key=\"defaultFrontendLocale\">false</itm>\n                <itm key=\"frontendLocale\">true</itm>\n            </meta>\n        </locale>\n    </locales>\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-12-19T07:23:29.494Z</itm>\n        <itm key=\"sourceEnv\">pddevelop_test</itm>\n        <itm key=\"itemInformationType\">locale</itm>\n    </meta>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/common/links/persist" : {
      "post" : {
        "tags" : [ "common" ],
        "summary" : "Create links",
        "description" : "Create relationships between OMN objects such as assets and products. Supports flexible linking scenarios including single-to-single, one-to-many, many-to-one, and many-to-many relationships with both TID and ID-based identification.\n<details># Links Persist - Extended Documentation\n\n## Overview\nThe Links Persist endpoint allows you to create relationships between different OMN objects, primarily between assets and products. This is essential for building product catalogs, associating media with products, and establishing complex many-to-many relationships.\n\n## Request Structure Details\nThe request body contains a PimType with LinksType supporting various linking scenarios:\n\n### Supported Link Types\n- **assetToProduct**: Links assets (images, documents, media) to products\n- **Main_Image**: Primary product image relationship\n- **Secondary_Image**: Additional product images\n- Other custom link types as configured\n\n### Identification Methods\nLinks can be created using either:\n- **TID-based linking**: Using assetTid and productTid\n- **ID-based linking**: Using assetId and productId\n\n## Linking Scenarios\n\n### 1. Single Asset to Single Product\nMost common scenario - linking one asset to one product:\n- Specify single assetTid/assetId and productTid/productId\n- Used for primary product images or specific asset associations\n\n### 2. Multiple Assets to Single Product\nBulk linking multiple assets to one product:\n- Specify multiple assetTids in an itms collection\n- Single productTid/productId as target\n- Efficient for product galleries or multiple media types\n\n### 3. Single Asset to Multiple Products\nSharing one asset across multiple products:\n- Single assetTid/assetId as source\n- Multiple productTids in an itms collection\n- Useful for shared images or common product components\n\n### 4. Multiple Assets to Multiple Products\nComplex many-to-many relationships:\n- Multiple assetTids and productTids in collections\n- Creates all possible combinations\n- Powerful for bulk operations and complex catalogs\n\n## Response Format Details\nThe response contains detailed status information for each link operation:\n- **SUCCESS**: Link created successfully with details\n- **ERROR**: Specific error descriptions for failed operations\n- **details**: Link metadata including TIDs and link types\n\n## Use Cases\n- **Product Catalog Management**: Associating product images and media\n- **Digital Asset Management**: Organizing assets by product relationships\n- **Bulk Operations**: Efficiently creating multiple links simultaneously\n- **Cross-Product Sharing**: Reusing assets across multiple products\n- **Media Organization**: Categorizing different types of product assets\n\n## Technical Considerations\n- Supports both TID and ID-based identification for flexibility\n- Atomic operations with detailed error reporting per link\n- Prevents duplicate links with appropriate error messages\n- Scalable for bulk linking operations\n- Maintains referential integrity between assets and products\n\n## Error Scenarios\n- **Asset Not Found**: Referenced asset doesn't exist\n- **Product Not Found**: Referenced product doesn't exist\n- **Attribute Not Found**: Link type attribute not configured\n- **Already Linked**: Asset already linked to product with same type\n- **Invalid Parameters**: Missing required identifiers or malformed requests </details>",
        "operationId" : "persistLinks",
        "requestBody" : {
          "description" : "PimType with LinksType containing asset-to-product relationships. Supports various linking patterns: single asset to single product, multiple assets to single product, single asset to multiple products, or multiple assets to multiple products.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "link_single_asset_to_single_product_by_tid" : {
                  "summary" : "Link single asset to single product by TID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <links>\n        <itms type=\"assetToProduct\">\n            <itms type=\"Main_Image\">\n                <itm key=\"assetTid\">assetTid1</itm>\n                <itm key=\"productTid\">productTid1</itm>\n            </itms>\n        </itms>\n    </links>\n</pim> "
                },
                "link_single_asset_to_single_product_by_id" : {
                  "summary" : "Link single asset to single product by ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <links>\n        <itms type=\"assetToProduct\">\n            <itms type=\"Main_Image\">\n                <itm key=\"assetId\">1</itm>\n                <itm key=\"productId\">2</itm>\n            </itms>\n        </itms>\n    </links>\n</pim> "
                },
                "link_multiple_assets_to_single_product" : {
                  "summary" : "Link multiple assets to single product",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <links>\n        <itms type=\"assetToProduct\">\n            <itms type=\"Main_Image\">\n                <itms type=\"assetTid\">\n                    <itm>assetTid1</itm>\n                    <itm>assetTid2</itm>\n                </itms>\n                <itm key=\"productTid\">productTid1</itm>\n            </itms>\n        </itms>\n    </links>\n</pim> "
                },
                "link_single_asset_to_multiple_products" : {
                  "summary" : "Link single asset to multiple products",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <links>\n        <itms type=\"assetToProduct\">\n            <itms type=\"Main_Image\">\n                <itm key=\"assetTid\">assetTid1</itm>\n                <itms type=\"productTid\">\n                    <itm>productTid1</itm>\n                    <itm>productTid2</itm>\n                </itms>\n            </itms>\n        </itms>\n    </links>\n</pim> "
                },
                "link_multiple_assets_to_multiple_products" : {
                  "summary" : "Link multiple assets to multiple products",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <links>\n        <itms type=\"assetToProduct\">\n            <itms type=\"Main_Image\">\n                <itms type=\"assetTid\">\n                    <itm>assetTid1</itm>\n                    <itm>assetTid2</itm>\n                </itms>\n                <itms type=\"productTid\">\n                    <itm>productTid1</itm>\n                    <itm>productTid2</itm>\n                </itms>\n            </itms>\n        </itms>\n    </links>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing statuses about each created link",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "links_persist_response" : {
                    "summary" : "Successful link creation response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-14T14:34:40.177Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"link\" action=\"create\">\n            <status>SUCCESS</status>\n            <description>The link has been saved successfully</description>\n            <details>\n                <itm key=\"productTid\">productTid1</itm>\n                <itm key=\"assetTid\">assetTid1</itm>\n                <itm key=\"linkType\">Main_Image</itm>\n            </details>\n        </response>\n    </responses>\n</pim> "
                  },
                  "asset_not_found_error" : {
                    "summary" : "Error response when asset is not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-14T14:34:40.177Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"link\" id=\"1\">\n            <status>ERROR</status>\n            <description>Asset not found</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "product_not_found_error" : {
                    "summary" : "Error response when product is not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-14T14:34:40.177Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"link\" id=\"2\">\n            <status>ERROR</status>\n            <description>Product not found</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "attribute_not_found_error" : {
                    "summary" : "Error response when attribute is not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-14T14:34:40.177Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"link\" tid=\"Main_Image\">\n            <status>ERROR</status>\n            <description>Attribute not found</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "asset_already_linked_error" : {
                    "summary" : "Error response when asset is already linked to the product",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-14T14:34:40.177Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"link\" tid=\"productTid1\">\n            <status>ERROR</status>\n            <description>Asset has been already linked to the product</description>\n            <details>\n                <itm key=\"assetTid\">assetTid1</itm>\n                <itm key=\"productTid\">productTid1</itm>\n            </details>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Referenced asset, product, or attribute not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/common/links/bulk" : {
      "post" : {
        "tags" : [ "common" ],
        "operationId" : "startBulk_8",
        "requestBody" : {
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/common/keywords/retrieve" : {
      "post" : {
        "tags" : [ "common" ],
        "summary" : "Retrieve keywords by path",
        "description" : "Allows you to retrieve keywords by a specified path. This endpoint provides a flexible way to navigate and explore hierarchical keyword structures with optional level control and linked asset retrieval.\n<details># Keywords Retrieve - Extended Documentation\n\n## Request Structure Details\nThe request body should contain a KeywordRequest with the following parameters:\n\n### Required Parameters\n- `path` (String): The path of the keyword to retrieve (e.g., \"/\", \"/rootKwd\")\n\n### Optional Parameters\n- `level` (Integer): Defines how many levels of the hierarchy should be loaded\n  - Default value is 1\n  - -1 means to load all levels\n  - 0 is an invalid value\n- `retrieveLinks` (Boolean): Defines whether linked items (like assets) should be retrieved\n  - Default value is false\n\n## Response Format Details\nThe response is an OmnType with filled KeywordsType containing the requested keywords and their metadata.\n\n## Use Cases\n- Retrieving the entire keyword hierarchy\n- Navigating through keyword structures level by level\n- Finding keywords with specific linked assets\n- Building keyword-based navigation interfaces\n- Exploring keyword taxonomies for content organization\n\n## Technical Considerations\n- Path parameter supports both root (\"/\") and specific keyword paths\n- Level control allows efficient hierarchical data loading\n- RetrieveLinks flag controls inclusion of associated asset information\n- Response includes keyword metadata like creation dates and order numbers </details>",
        "operationId" : "retrieveKeywords",
        "requestBody" : {
          "description" : "KeywordRequest with path parameter and optional level (default 1, -1 for all levels) and retrieveLinks flag for including linked assets.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/KeywordRequestDto"
              },
              "examples" : {
                "get_all_keywords" : {
                  "summary" : "Get all keywords from root",
                  "value" : "{\n    \"path\": \"/\",\n    \"level\": -1\n} "
                },
                "get_child_keywords" : {
                  "summary" : "Get child keywords for a specific keyword",
                  "value" : "{\n    \"path\": \"/rootKwd\",\n    \"level\": 1\n} "
                },
                "get_keywords_with_links" : {
                  "summary" : "Get keywords with linked assets",
                  "value" : "{\n    \"path\": \"/rootKwd\",\n    \"level\": 2,\n    \"retrieveLinks\": true\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns OmnType with list of keywords and their metadata",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "keywords_retrieve_response" : {
                    "summary" : "Retrieved keywords response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-11-29T21:55:49.197Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <kwds>\n        <kwd id=\"46190\" path=\"/rootKwd\">\n            <name>\n                <itm>rootKwd</itm>\n                <itm loc=\"en_EN\">rootKwd_en</itm>\n            </name>\n            <meta>\n                <itm key=\"creationDate\">2022-06-10T20:07:45.684Z</itm>\n                <itm key=\"orderNumber\">0</itm>\n            </meta>\n        </kwd>\n        <kwd id=\"57210\" path=\"/root2\">\n            <name>\n                <itm>root2</itm>\n            </name>\n            <meta>\n                <itm key=\"creationDate\">2022-07-14T20:05:17.534Z</itm>\n                <itm key=\"orderNumber\">0</itm>\n            </meta>\n        </kwd>\n    </kwds>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: The requested resource could not be found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/common/keywords/persist" : {
      "post" : {
        "tags" : [ "common" ],
        "summary" : "Create or update keywords",
        "description" : "Allows you to create new keywords or update existing ones in the keyword hierarchy. Supports creating keyword structures with localized names and organizing keywords in taxonomies.\n<details># Keywords Persist - Extended Documentation\n\n## Request Structure Details\nThe request body should contain a PimType with filled KeywordsType. For creating a new keyword, you can specify a parent path or parent ID. For updating an existing keyword, you need to provide its ID or path.\n\n### Required Parameters for Creating a Keyword\n- For root keywords: No additional parameters required besides the name\n- For sub-keywords: `parentPath` or `parentId` to specify the parent keyword\n\n### Optional Parameters\n- `name`: The name of the keyword in different locales\n\n## Response Format Details\nThe response is a PimType with ResponsesType containing statuses about each persisted keyword.\n\n## Use Cases\n- Creating hierarchical keyword structures\n- Updating existing keywords with new translations\n- Managing multilingual keyword taxonomies\n- Organizing content with hierarchical metadata\n\n## Technical Considerations\n- Supports both creation and update operations in a single endpoint\n- Parent relationship can be specified by path or ID\n- Multilingual naming support through locale-specific name items\n- Comprehensive error reporting for duplicate values and missing parents\n- Returns detailed status information including generated IDs and paths\n\n## Error Scenarios\n- No keyword found by ID or path for updates\n- Duplicate keyword values under the same parent\n- Missing parent keyword for sub-keyword creation\n- Access rights violations for keyword operations </details>",
        "operationId" : "persistKeywords",
        "requestBody" : {
          "description" : "PimType with KeywordsType for keyword operations. Specify keyword path, name, and optional localized names for creation or updates.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "create_root_keyword" : {
                  "summary" : "Create a root keyword with multilingual names",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <kwds>\n        <kwd>\n            <name>\n                <itm>rootKeyword</itm>\n                <itm loc=\"en_GB\">rootKeyword-en</itm>\n                <itm loc=\"de_DE\">rootKeyword-de</itm>\n            </name>\n        </kwd>\n    </kwds>\n</pim> "
                },
                "create_sub_keyword" : {
                  "summary" : "Create a sub-keyword under a parent",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <kwds>\n        <kwd parentPath=\"/rootKeyword\">\n            <name>\n                <itm>keyword1</itm>\n                <itm loc=\"en_GB\">keyword1-en</itm>\n                <itm loc=\"de_DE\">keyword1-de</itm>\n            </name>\n        </kwd>\n    </kwds>\n</pim> "
                },
                "update_keyword_by_id" : {
                  "summary" : "Update an existing keyword by ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <kwds>\n        <kwd id=\"12345\">\n            <name>\n                <itm>keyword1</itm>\n                <itm loc=\"en_GB\">new-name-en</itm>\n                <itm loc=\"de_DE\">new-name-de</itm>\n            </name>\n        </kwd>\n    </kwds>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing statuses about each persisted keyword",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "keywords_persist_response" : {
                    "summary" : "Successful keyword persistence response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-07-06T11:42:19.832Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"keyword\" id=\"52731\" action=\"create\" path=\"/rootKeyword\">\n            <status>SUCCESS</status>\n            <description>The keyword has been created successfully</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "no_keyword_by_id_error" : {
                    "summary" : "Error response when keyword is not found by ID",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-07-06T11:45:41.247Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"keyword\" id=\"12345\" action=\"update\">\n            <status>ERROR</status>\n            <description>Entity class com.meylemueller.obj.isy.KeywordEntity with identity=111 not found</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "no_keyword_by_path_error" : {
                    "summary" : "Error response when keyword is not found by path",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-07-06T11:49:25.214Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"keyword\" action=\"update\" path=\"/rootKeyword\">\n            <status>ERROR</status>\n            <description>No keyword by path '/rootKeyword'</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "duplicate_keyword_value_error" : {
                    "summary" : "Error response when keyword value is duplicated",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-07-06T11:51:21.269Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"keyword\" action=\"create\">\n            <status>ERROR</status>\n            <description>Keyword value 'child2-1' for language 'de_DE' is duplicated. Unique keyword values under one parent should be provided</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Referenced parent keyword not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/common/keywords/perform" : {
      "post" : {
        "tags" : [ "common" ],
        "summary" : "Perform actions on keywords",
        "description" : "Allows you to execute actions on keywords such as delete, move, or copy operations. Supports batch operations on multiple keywords with proper error handling.\n<details># Keywords Perform - Extended Documentation\n\n## Request Structure Details\nThe request body should contain a PimType with ActionsType. Each action requires specific parameters.\n\n### Required Parameters for All Actions\n- `dataType`: Must be set to \"keyword\"\n- `id` or `path`: Identifier or path of the keyword\n- `type`: Action type (\"delete\" or \"move\")\n\n### Additional Parameters for Move Action\nFor the move action, you need to provide the destination keyword ID or path in the meta section:\n- `destinationKwdId`: ID of the destination keyword\n- `destinationKwdPath`: Path of the destination keyword\n\n## Available Actions\nThe endpoint supports the following actions:\n- **delete** - Removes a keyword by ID or path\n- **move** - Moves a keyword to another parent keyword\n\n## Response Format Details\nThe response is a PimType with ResponsesType containing statuses about each performed action on keywords.\n\n## Use Cases\n- Deleting keywords that are no longer needed\n- Reorganizing keyword hierarchies by moving keywords\n- Batch operations on multiple keywords\n- Managing keyword structures programmatically\n\n## Technical Considerations\n- Both ID and path-based identification supported for all actions\n- Move operations require destination keyword specification\n- Comprehensive error reporting for access rights and missing objects\n- Returns detailed status information including original paths and IDs\n\n## Error Scenarios\n- Keyword not found by ID or path\n- No access to source keyword for move operations\n- No access to destination keyword for move operations\n- Invalid action types or missing required parameters </details>",
        "operationId" : "performKeywords",
        "requestBody" : {
          "description" : "PimType with ActionsType containing keyword action details. Specify keyword identifiers and action types for operations like delete, move, or copy.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "delete_keyword_by_id" : {
                  "summary" : "Delete a keyword by ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"keyword\" id=\"73452957\" type=\"delete\"/>\n    </actions>\n</pim> "
                },
                "delete_keyword_by_path" : {
                  "summary" : "Delete a keyword by path",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"keyword\" path=\"/rootKeyword/keyword1\" type=\"delete\"/>\n    </actions>\n</pim> "
                },
                "move_keyword_by_id" : {
                  "summary" : "Move a keyword by ID to another parent",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"keyword\" id=\"73452957\" type=\"move\">\n            <meta>\n                <itm key=\"destinationKwdId\">73452957</itm>\n            </meta>\n        </action>\n    </actions>\n</pim> "
                },
                "move_keyword_by_path" : {
                  "summary" : "Move a keyword by path to another parent",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"keyword\" path=\"/rootKeyword2/keyword1\" type=\"move\">\n            <meta>\n                <itm key=\"destinationKwdPath\">/rootKeyword</itm>\n            </meta>\n        </action>\n    </actions>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing statuses about each performed action on keywords",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "keywords_perform_response" : {
                    "summary" : "Successful keyword action response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:24:53.286Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"keyword\"\n                id=\"73452957\"\n                path=\"/rootKeyword/keyword1\"\n                action=\"delete\">\n            <status>SUCCESS</status>\n            <description>The keyword has been deleted successfully</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "keyword_not_found_error" : {
                    "summary" : "Error response when keyword is not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:36:54.983Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"keyword\"\n                id=\"73452957\"\n                path=\"/rootKeyword/keyword1\"\n                action=\"delete\">\n            <status>ERROR</status>\n            <description>There is no keyword with the given id</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "no_access_destination_keyword_error" : {
                    "summary" : "Error response when no access to destination keyword",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-08-17T10:54:57.295Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"keyword\"\n                id=\"73452957\"\n                path=\"/rootKeyword/keyword1\"\n                action=\"move\">\n            <status>ERROR</status>\n            <description>Error during moving: No access to destination object '/rootKeyword/keyword1'</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "no_access_source_keyword_error" : {
                    "summary" : "Error response when no access to source keyword",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-08-17T11:06:29.771Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"keyword\"\n                id=\"73452957\"\n                path=\"/rootKeyword/keyword1\"\n                action=\"move\">\n            <status>ERROR</status>\n            <description>Error during moving: No access to source objects</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Keyword not found or access rights error"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/common/keywords/bulk" : {
      "post" : {
        "tags" : [ "common" ],
        "operationId" : "startBulk_9",
        "requestBody" : {
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/common/glossaryEntries/persist" : {
      "post" : {
        "tags" : [ "common" ],
        "summary" : "Create or update glossary entries",
        "description" : "Allows you to create new glossary entries or update existing ones. This endpoint provides a flexible way to manage terminology entries including terms and sentences with multilingual links and metadata.\n<details># Glossary Entries Persist - Extended Documentation\n\n## Request Structure Details\nThe request body should contain a PimType with filled GlossaryEntriesType. For creating a new glossary entry, you need to specify the parent glossary ID or TID, locale, type, and value. For updating an existing glossary entry, you need to provide its ID or TID.\n\n### Required Parameters for Creating a Glossary Entry\n- `parentId` or `parentTid`: ID or TID of the parent glossary\n- `loc`: Locale of the glossary entry (e.g., \"de_DE\")\n- `type`: Type of the glossary entry (\"term\" or \"sentence\")\n- `value`: Value of the glossary entry (in the meta section)\n\n### Optional Parameters\n- `forbidden`: Boolean flag indicating if the entry is forbidden\n- `lastEditedUsername`: Username of the last editor\n- `lastEditedDate`: Date of the last edit\n- `links`: Links to entries in other languages\n\n## Response Format Details\nThe response is a PimType with ResponsesType containing statuses about each persisted glossary entry.\n\n## Use Cases\n- Creating new terminology entries in glossaries\n- Updating existing glossary entries with new translations\n- Managing multilingual terminology across different locales\n- Setting up forbidden terms to avoid their usage\n- Maintaining translation memory with similarity scores\n\n## Technical Considerations\n- Supports both creation and update operations in a single endpoint\n- Glossary entry identification can be by ID or TID for updates\n- Parent glossary reference required for all operations\n- Links allow cross-language terminology mapping with similarity scoring\n- Comprehensive error reporting for type validation and missing references\n\n## Error Scenarios\n- Unknown translation entry type\n- Sentence/term not found by ID or TID\n- Missing glossary link reference\n- Invalid parent glossary reference\n- Invalid locale or type parameters </details>",
        "operationId" : "persistGlossaryEntries",
        "requestBody" : {
          "description" : "PimType with GlossaryEntriesType for entry operations. For creation: specify parentId/parentTid, locale, type, and value. For updates: provide entry ID/TID with new values.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "create_glossary_entry" : {
                  "summary" : "Create a new glossary entry with multilingual links",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <glossaryEntries>\n        <glossaryEntry parentId=\"41550\" loc=\"de_DE\" type=\"term\">\n            <meta>\n                <itm key=\"value\" loc=\"de_DE\">T DE 1</itm>\n                <itm key=\"forbidden\">false</itm>\n                <itm key=\"lastEditedUsername\">admin</itm>\n                <itm key=\"lastEditedDate\">2022-12-14T03:00:00.000+03:00</itm>\n            </meta>\n            <links>\n                <itms loc=\"en_EN\" mode=\"delta\" type=\"term\">\n                    <itm key=\"similarity\">100</itm>\n                    <itm key=\"value\" loc=\"en_EN\">T EN 1</itm>\n                    <itm key=\"forbidden\">false</itm>\n                    <itm key=\"lastEditedUsername\">admin</itm>\n                    <itm key=\"lastEditedDate\">2022-12-14T03:00:00.000+03:00</itm>\n                </itms>\n            </links>\n        </glossaryEntry>\n    </glossaryEntries>\n</pim> "
                },
                "update_glossary_entry_by_id" : {
                  "summary" : "Update an existing glossary entry by ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <glossaryEntries>\n        <glossaryEntry id=\"29638\" parentId=\"99\" loc=\"de_DE\" type=\"term\">\n            <meta>\n                <itm key=\"value\" loc=\"de_DE\">T DE 1 updated</itm>\n            </meta>\n        </glossaryEntry>\n    </glossaryEntries>\n</pim> "
                },
                "update_glossary_entry_by_tid" : {
                  "summary" : "Update an existing glossary entry by TID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <glossaryEntries>\n        <glossaryEntry tid=\"3C5D451A-91D9-437F-8477-03A232C13527\" parentTid=\"D870FF6D-BDF9-41D3-944D-67A8296BD095\" loc=\"de_DE\" type=\"term\">\n            <meta>\n                <itm key=\"value\" loc=\"de_DE\">T DE 1 updated</itm>\n            </meta>\n        </glossaryEntry>\n    </glossaryEntries>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing statuses about each persisted glossary entry",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "glossary_entries_persist_response" : {
                    "summary" : "Successful glossary entry persistence response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-07-06T11:42:19.832Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response action=\"create\" dataType=\"glossaryEntry\" tid=\"56948c33-29bc-46d1-be81-6fd9452d910f\">\n          <description>The glossary entry has been created successfully</description>\n          <status>SUCCESS</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "unknown_translation_entry_type_error" : {
                    "summary" : "Error response when translation entry type is unknown",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-07-06T11:45:41.247Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"glossaryEntry\" id=\"29638\">\n            <description>Unknown translation entry type 'sentenc'</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "sentence_term_not_found_error" : {
                    "summary" : "Error response when sentence or term is not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-07-06T11:45:41.247Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"glossaryEntry\" id=\"29638\">\n            <description>Sentence with identity '29638' not found.</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "missing_glossary_link_error" : {
                    "summary" : "Error response when glossary entry does not contain link to glossary",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-07-06T11:45:41.247Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"glossaryEntry\" tid=\"56948c33-29bc-46d1-be81-6fd9452d910f\">\n            <description>Glossary entry '56948c33-29bc-46d1-be81-6fd9452d910f' does not contain a link to glossary.</description>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: The requested resource could not be found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/common/glossaryEntries/perform" : {
      "post" : {
        "tags" : [ "common" ],
        "summary" : "Perform actions on glossary entries",
        "description" : "Allows you to execute actions on glossary entries such as delete, copy to glossary, or move to glossary operations. Supports managing the lifecycle and organization of terminology entries.\n<details># Glossary Entries Perform - Extended Documentation\n\n## Request Structure Details\nThe request body should contain an OmnType with ActionsType. Each action requires specific parameters depending on the action type.\n\n### Required Parameters for All Actions\n- `dataType`: Must be set to \"glossaryEntry\"\n- `id` or `tid`: Identifier of the glossary entry\n- `type`: Action type (\"delete\", \"copyToGlossary\", or \"moveToGlossary\")\n\n### Additional Parameters for Copy and Move Actions\nFor copyToGlossary and moveToGlossary actions, you need to provide the target glossary ID in the meta section:\n- `glossaryId`: ID of the target glossary\n\n## Available Actions\nThe endpoint supports the following actions:\n- **delete** - Removes a glossary entry by ID or TID\n- **copyToGlossary** - Copies a glossary entry to another glossary\n- **moveToGlossary** - Moves a glossary entry to another glossary\n\n## Response Format Details\nThe response is an OmnType with ResponsesType containing statuses about each performed action on glossary entries.\n\n## Use Cases\n- Removing obsolete or deprecated glossary entries\n- Organizing glossary entries by moving them between glossaries\n- Creating copies of glossary entries for different glossaries\n- Managing the lifecycle of terminology resources\n\n## Technical Considerations\n- Both ID and TID-based identification supported for all actions\n- Copy and move operations require target glossary specification\n- Comprehensive error reporting for missing entries and glossaries\n- Returns detailed status information about each operation\n- Maintains data integrity during copy and move operations\n\n## Error Scenarios\n- Glossary entry not found by ID or TID\n- Target glossary not found for copy/move operations\n- Invalid action types or missing required parameters\n- Access rights violations for operations </details>",
        "operationId" : "performGlossaryEntries",
        "requestBody" : {
          "description" : "OmnType with ActionsType containing glossary entry action details. For delete: specify dataType='glossaryEntry', id/tid, and type='delete'. For copy/move: also provide target glossaryId.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "delete_glossary_entry_by_id" : {
                  "summary" : "Delete a glossary entry by ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"glossaryEntry\" id=\"30670\" type=\"delete\"/>\n    </actions>\n</pim> "
                },
                "delete_glossary_entry_by_tid" : {
                  "summary" : "Delete a glossary entry by TID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"glossaryEntry\" tid=\"56948c33-29bc-46d1-be81-6fd9452d910f\" type=\"delete\"/>\n    </actions>\n</pim> "
                },
                "copy_glossary_entry" : {
                  "summary" : "Copy a glossary entry to another glossary",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"glossaryEntry\" id=\"29637\" type=\"copyToGlossary\">\n            <meta>\n                <itm key=\"glossaryId\">25246</itm>\n            </meta>\n        </action>\n    </actions>\n</pim> "
                },
                "move_glossary_entry" : {
                  "summary" : "Move a glossary entry to another glossary",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <actions>\n        <action dataType=\"glossaryEntry\" id=\"29637\" type=\"moveToGlossary\">\n            <meta>\n                <itm key=\"glossaryId\">25246</itm>\n            </meta>\n        </action>\n    </actions>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns OmnType with ResponsesType containing statuses about each performed action on glossary entries",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "glossary_entries_perform_response" : {
                    "summary" : "Successful glossary entry deletion response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:24:53.286Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response action=\"delete\" dataType=\"glossaryEntry\" id=\"30670\">\n          <description>The glossary entry has been deleted successfully</description>\n          <status>SUCCESS</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "glossary_entries_copy_response" : {
                    "summary" : "Successful glossary entry copy response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:24:53.286Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response action=\"copyToGlossary\" dataType=\"glossaryEntry\" id=\"29637\">\n            <description>Glossary entry has been copied</description>\n            <status>SUCCESS</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "glossary_entries_move_response" : {
                    "summary" : "Successful glossary entry move response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:24:53.286Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response action=\"moveToGlossary\" dataType=\"glossaryEntry\" id=\"29637\">\n            <description>Glossary entry has been moved</description>\n            <status>SUCCESS</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "glossary_entry_not_found_error" : {
                    "summary" : "Error response when glossary entry is not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-04T13:36:54.983Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n      <response action=\"delete\" dataType=\"glossaryEntry\" id=\"30670\">\n        <description>There is no glossary entry with the given tid/identity</description>\n        <status>ERROR</status>\n      </response>\n    </responses>\n</pim> "
                  },
                  "glossary_not_found_error" : {
                    "summary" : "Error response when target glossary is not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-08-17T10:54:57.295Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response action=\"copyToGlossary\" dataType=\"glossaryEntry\" id=\"25246\">\n          <description>There is no glossary with the given identity</description>\n          <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Glossary entry not found or access rights error"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/common/glossaryEntries/bulk" : {
      "post" : {
        "tags" : [ "common" ],
        "operationId" : "startBulk_10",
        "requestBody" : {
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/common/glossaries/retrieve" : {
      "post" : {
        "tags" : [ "common" ],
        "summary" : "Retrieve glossaries with optional filtering",
        "description" : "Allows you to fetch a list of glossaries based on specified parameters. Glossaries contain terms and sentences that can be used for localization and terminology management. Supports filtering by names, IDs, and locales.\n<details># Glossaries Retrieve - Extended Documentation\n\n## Request Structure Details\nThe request body should contain a GlossaryRequest with the following parameters:\n\n### Required Parameters\nNone - all parameters are optional for retrieving glossaries\n\n### Optional Parameters\n- `names`: List of glossary names to retrieve\n- `ids`: List of glossary IDs to retrieve\n- `retrieveLinks`: Boolean flag indicating whether contained entries (terms and sentences) should be included in the response (default: false)\n- `sourceLocales`: List of source language locales to limit the results (default: empty array, meaning all languages)\n- `targetLocales`: List of target language locales to limit the results (default: empty array, meaning all languages)\n\n## Response Format Details\nThe response is an OmnType with filled GlossariesType containing the requested glossaries.\n\n## Use Cases\n- Retrieving glossaries for terminology management\n- Accessing translation terms for localization\n- Building glossary interfaces for content editors\n- Ensuring consistent terminology across documentation\n\n## Technical Considerations\n- Request body is not required, making all parameters optional\n- Language filtering allows precise control over locale-specific content\n- RetrieveLinks flag controls whether full glossary entries are included\n- Supports both name and ID-based glossary identification </details>",
        "operationId" : "retrieveGlossaries",
        "requestBody" : {
          "description" : "GlossaryRequest with optional parameters: names/ids for specific glossaries, retrieveLinks for including entries, sourceLocales/targetLocales for language filtering.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/GlossaryRequestDto"
              },
              "examples" : {
                "retrieve_glossaries_by_names" : {
                  "summary" : "Retrieve glossaries by names with entries",
                  "value" : "{\n    \"names\": [\"Technical Terms\", \"Marketing Glossary\"],\n    \"retrieveLinks\": true\n} "
                },
                "retrieve_glossaries_by_ids" : {
                  "summary" : "Retrieve glossaries by IDs with language filtering",
                  "value" : "{\n    \"ids\": [123, 456],\n    \"sourceLocales\": [\"en_US\", \"en_GB\"],\n    \"targetLocales\": [\"de_DE\", \"fr_FR\"]\n} "
                }
              }
            },
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/GlossaryRequestDto"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns OmnType with list of glossaries and their metadata",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "glossaries_retrieve_response" : {
                    "summary" : "Retrieved glossaries with entries",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<omn xmlns=\"http://www.apollon.de/omn\">\n    <glossaries>\n        <glossary id=\"123\" name=\"Technical Terms\">\n            <entries>\n                <entry id=\"1\">\n                    <source locale=\"en_US\">API</source>\n                    <target locale=\"de_DE\">API</target>\n                    <description>Application Programming Interface</description>\n                </entry>\n                <entry id=\"2\">\n                    <source locale=\"en_US\">Endpoint</source>\n                    <target locale=\"de_DE\">Endpunkt</target>\n                    <description>A point at which an API connects with the software program</description>\n                </entry>\n            </entries>\n        </glossary>\n    </glossaries>\n</omn> "
                  },
                  "invalid_request_error" : {
                    "summary" : "Error response for invalid request parameters",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response xmlns=\"http://www.apollon.de/omn\">\n            <status>ERROR</status>\n            <description>Invalid request parameters</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "server_error" : {
                    "summary" : "Error response for server errors",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response xmlns=\"http://www.apollon.de/omn\">\n            <status>ERROR</status>\n            <description>An unknown internal error occurred</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: The requested resource could not be found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/common/glossaries/persist" : {
      "post" : {
        "tags" : [ "common" ],
        "summary" : "Create or update glossaries",
        "description" : "Allows you to create new glossaries or update existing ones. This endpoint provides a flexible way to manage glossary information including metadata and attribute values.\n<details># Glossaries Persist - Extended Documentation\n\n## Request Structure Details\nThe request body should contain an OmnType with filled GlossariesType. For creating a new glossary, you need to specify the glossary name and optional metadata. For updating an existing glossary, you need to provide its ID or TID.\n\n### Required Parameters for Creating a Glossary\n- `name`: Name of the glossary\n\n### Optional Parameters\n- `meta`: Metadata for the glossary (e.g., multipleTranslations)\n- `vals`: Glossary attribute values\n\n## Response Format Details\nThe response is an OmnType with ResponsesType containing statuses about each persisted glossary.\n\n## Use Cases\n- Creating new glossaries for terminology management\n- Updating existing glossary information\n- Managing glossary metadata and attributes\n- Setting up glossaries for different localization projects\n\n## Technical Considerations\n- Supports both creation and update operations in a single endpoint\n- Glossary identification can be by ID or TID for updates\n- Metadata configuration allows customization of glossary behavior\n- Comprehensive error reporting for name conflicts and missing resources\n- Returns detailed status information including generated IDs\n\n## Error Scenarios\n- Glossary with same name already exists\n- Invalid input parameters\n- Missing required fields for creation\n- Referenced glossary not found for updates </details>",
        "operationId" : "persistGlossaries",
        "requestBody" : {
          "description" : "OmnType with GlossariesType for glossary operations. For creation: specify name and optional metadata. For updates: provide ID/TID with new values.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "create_new_glossary" : {
                  "summary" : "Create a new glossary with metadata",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <glossaries>\n        <glossary>\n            <name>Default</name>\n            <meta>\n                <itm key=\"multipleTranslations\">true</itm>\n            </meta>\n        </glossary>\n  </glossaries>\n</pim> "
                },
                "update_glossary_by_id" : {
                  "summary" : "Update an existing glossary by ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <glossaries>\n        <glossary id=\"180350\">\n            <name>New glossary name</name>\n            <vals>\n                <val attr=\"STRING_PROP_TO_EDIT\">\n                    <itm>new value</itm>\n                </val>\n            </vals>\n        </glossary>\n    </glossaries>\n</pim> "
                },
                "update_glossary_by_tid" : {
                  "summary" : "Update an existing glossary by TID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <glossaries>\n        <glossary tid=\"56948c33-29bc-46d1-be81-6fd9452d910f\">\n            <vals>\n                <val attr=\"NUM_PROP_TO_EDIT\">\n                    <itm>1234</itm>\n                </val>\n            </vals>\n        </glossary>\n    </glossaries>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns OmnType with ResponsesType containing statuses about each persisted glossary",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "glossaries_persist_response" : {
                    "summary" : "Successful glossary persistence response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-14T14:34:40.177Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response action=\"create\" dataType=\"glossary\" id=\"2380740\">\n            <description>The glossary has been created successfully</description>\n            <status>SUCCESS</status>\n        </response>\n    </responses>\n</pim> "
                  },
                  "glossary_name_already_exists_error" : {
                    "summary" : "Error response when glossary with same name already exists",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response xmlns=\"http://www.apollon.de/omn\">\n            <details>\n                <itm key=\"supportId\">3C5D451A-91D9-437F-8477-03A232C13527</itm>\n            </details>\n            <issues>\n                <itm key=\"code\">1000</itm>\n                <itm key=\"description\">An unknown internal error occurred</itm>\n                <itms type=\"details\">\n                    <itm key=\"errorMessage\">Unable to create the glossary: glossary with name 'Default' already exists.</itm>\n                </itms>\n            </issues>\n            <status>ERROR</status>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: The requested resource could not be found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/common/glossaries/perform" : {
      "post" : {
        "tags" : [ "common" ],
        "summary" : "Perform actions on glossaries (delete)",
        "description" : "Allows you to execute actions on glossaries such as delete operations. This endpoint uses the perform action pattern to remove glossaries by their ID.\n<details># Glossaries Perform (Delete) - Extended Documentation\n\n## Request Structure Details\nThe request body should contain a PimType with ActionsType. The action requires the glossary ID to be specified in the action attributes for delete operations.\n\n### Required Parameters for Delete Action\n- `dataType`: Must be set to \"glossary\"\n- `id`: ID of the glossary to delete\n- `type`: Must be set to \"delete\"\n\n## Available Actions\nThe endpoint supports the following actions:\n- **delete** - Removes a glossary by ID\n\n## Response Format Details\nThe response is an OmnType with ResponsesType containing statuses about the delete operation.\n\n## Use Cases\n- Removing obsolete or deprecated glossaries\n- Cleaning up test glossaries\n- Managing the lifecycle of terminology resources\n- Restructuring the glossary system\n\n## Technical Considerations\n- ID-based identification required for delete operations\n- Comprehensive error reporting for missing glossaries\n- Returns detailed status information about the deletion operation\n- Part of the general perform endpoint that handles various glossary actions\n\n## Error Scenarios\n- Glossary not found by specified ID\n- Access rights violations for delete operations\n- Invalid action parameters\n- System constraints preventing deletion </details>",
        "operationId" : "performGlossaries",
        "requestBody" : {
          "description" : "PimType with ActionsType containing glossary action details. For delete: specify dataType='glossary', id, and type='delete'.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "delete_glossary_by_id" : {
                  "summary" : "Delete a glossary by ID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-06-08T12:54:32.990Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <actions>\n        <action dataType=\"glossary\" id=\"123\" type=\"delete\"/>\n    </actions>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns OmnType with ResponsesType containing statuses about each performed action on glossaries",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "glossaries_perform_response" : {
                    "summary" : "Successful glossary delete response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-08-15T13:37:04.635Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"glossary\" id=\"123\" action=\"delete\">\n            <status>SUCCESS</status>\n            <description>Glossary has been deleted.</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "glossary_not_found_error" : {
                    "summary" : "Error response when glossary is not found",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-08-15T13:37:53.018Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n    </meta>\n    <responses>\n        <response dataType=\"glossary\" action=\"delete\" id=\"123\">\n            <status>ERROR</status>\n            <description>The glossary with id \"123\" does not exist.</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Glossary not found or access rights error"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/common/glossaries/bulk" : {
      "post" : {
        "tags" : [ "common" ],
        "operationId" : "startBulk_11",
        "requestBody" : {
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/common/components/retrieve" : {
      "post" : {
        "tags" : [ "common" ],
        "summary" : "Retrieve a list of components",
        "description" : "Retrieve the status of enabled OMN components in the system. This endpoint provides real-time information about which components are active or inactive, useful for system monitoring, diagnostics, and configuration validation.\n<details># Components Retrieve - Extended Documentation\n\n## Overview\nThe Components Retrieve endpoint provides a simple way to check the status of enabled OMN components in the system. This is essential for system monitoring, diagnostics, and configuration validation.\n\n## Response Format Details\nThe response is a Map<String, String> where each entry represents:\n- **Key**: Component name (e.g., \"omn-search\", \"omn-workflow\")\n- **Value**: Component status, typically \"active\" or \"inactive\"\n\n## Component Status Values\n- **\"active\"**: Component is enabled and running\n- **\"inactive\"**: Component is disabled or not running\n\n## Common Components\nThe system may include various components such as:\n- **omn-versioning**: Version management component\n- **omn-search**: Search functionality component\n- **omn-workflow**: Workflow management component\n- **omn-analytics**: Analytics and reporting component\n- **omn-export**: Data export functionality\n- **omn-import**: Data import functionality\n- **omn-notification**: Notification system component\n\n## Use Cases\n- **System Health Monitoring**: Check which components are running\n- **Feature Availability**: Determine if specific features are enabled\n- **Configuration Validation**: Verify expected components are active\n- **Troubleshooting**: Identify inactive components that should be running\n- **Integration Planning**: Understand available system capabilities\n\n## Technical Considerations\n- No request parameters required - simple POST request\n- Lightweight endpoint suitable for frequent polling\n- Returns current real-time status of components\n- Status may change dynamically based on system configuration\n- Response format is consistent and easy to parse programmatically\n\n## Error Scenarios\n- Server configuration issues preventing component status retrieval\n- Authentication or authorization failures\n- System resource limitations affecting component status detection </details>",
        "operationId" : "retrieveComponents",
        "responses" : {
          "200" : {
            "description" : "Success: Returns a map of component names and their statuses (active/inactive)",
            "content" : {
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  }
                },
                "examples" : {
                  "components_retrieve_response" : {
                    "summary" : "Component status response showing various components",
                    "value" : "{\n    \"omn-versioning\": \"inactive\",\n    \"omn-search\": \"active\",\n    \"omn-workflow\": \"active\",\n    \"omn-analytics\": \"inactive\",\n    \"omn-export\": \"active\",\n    \"omn-import\": \"active\",\n    \"omn-notification\": \"active\"\n} "
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: The requested resource could not be found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/cm/channels/retrieve" : {
      "post" : {
        "tags" : [ "cm" ],
        "summary" : "Retrieve channel details",
        "description" : "Allows you to fetch detailed information about channels. You can retrieve channels by their IDs or TIDs (technical identifiers). Response includes comprehensive channel information with metadata, attributes, links, and associated PEOs.\n<details># Channels Retrieve - Extended Documentation\n\n## Request Parameters Details\nThe request body should contain a ChannelRequestDto with one of the following parameters:\n- **ids**: Array of channel IDs to retrieve\n- **tids**: Array of channel technical identifiers to retrieve\n\n## Response Format Details\nThe response is a PimType with filled ProjectsType containing the requested channel information. Each project contains detailed information including metadata, values, links, and associated PEOs.\n\n## Important Notes\n- Channels are represented as projects in the response structure\n- Response includes comprehensive channel information: metadata, attributes, links, and associated PEOs\n- Both ID and TID-based retrieval are supported\n\n## Use Cases\n- Retrieving channel information for display in user interfaces\n- Getting channel details for integration with other systems\n- Fetching channel data for reporting and analysis\n- Accessing associated PEOs and their properties\n\n## Technical Considerations\n- The retrieve endpoint supports both ID and TID-based access\n- Full channel details include metadata, attribute values, and linked entities\n- PEO information is included when available for the channel </details>",
        "operationId" : "retrieveChannels",
        "requestBody" : {
          "description" : "ChannelRequestDto with either ids array (channel IDs) or tids array (channel technical identifiers) to retrieve detailed channel information.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/ChannelRequestDto"
              },
              "examples" : {
                "retrieve_channels_by_id" : {
                  "summary" : "Retrieve channels by ID",
                  "value" : "{\n    \"ids\": [\n        598800\n    ]\n} "
                },
                "retrieve_channels_by_tid" : {
                  "summary" : "Retrieve channels by TID",
                  "value" : "{\n    \"tids\": [\n        \"AWS\"\n    ]\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with filled ProjectsType containing the requested channel information",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "channels_retrieve_response" : {
                    "summary" : "Retrieved channel information with detailed metadata",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2024-03-12T08:53:11.795Z</itm>\n        <itm key=\"sourceEnv\">jli_docker</itm>\n        <itm key=\"itemInformationType\">project</itm>\n    </meta>\n    <projects>\n        <project tid=\"AWS\" type=\"AWS\" orderSequence=\"1048576\">\n            <name>AWS</name>\n            <meta>\n                <itm key=\"id\">21788</itm>\n                <itm key=\"creationDate\">2023-08-04T09:36:06.802Z</itm>\n                <itm key=\"modificationDate\">2024-01-10T11:06:06.587Z</itm>\n                <itm key=\"htmlIcon\"/>\n                <itm key=\"icon\">/static/assets/projects/i3p1.gif</itm>\n                <itm key=\"allowedFunctions\">F.JavaFunction.ACC.CSVExportProduct,ProjectMoveUpFunction,SetFavouriteProjectFunction</itm>\n            </meta>\n            <vals>\n                <val attr=\"ENUMTEST\">\n                    <itm>V1,V2</itm>\n                </val>\n                <val attr=\"TRESHOLD_VALUE\">\n                    <itm>0.4</itm>\n                </val>\n            </vals>\n            <links>\n                <itm key=\"FA1B5E2F-4869-4991-B17B-AA8BD3709AF6\">MAM/cat.jpg</itm>\n                <itm key=\"B3DC4775-D3F8-4C2A-BE9B-5E9BC5E60849\">MAM/dog.jpg</itm>\n            </links>\n            <peos>\n                <peo tid=\"3b6e1b67-aa7f-43a0-bea0-b124129c3480\"\n                 product=\"58695a3d-f6d6-44fa-89f0-6a5e027ac79a\"\n                 template=\"Web\"\n                 default=\"true\">\n                    <meta>\n                        <itm key=\"id\">134320</itm>\n                        <itm key=\"creationDate\">2024-03-01T08:40:27.027Z</itm>\n                        <itm key=\"modificationDate\">2024-03-01T08:40:27.170Z</itm>\n                    </meta>\n                    <name>test1</name>\n                    <nodes>\n                        <node>AWS</node>\n                    </nodes>\n                    <vals>\n                        <val attr=\"material\"\n                       type=\"localized\"\n                       origin=\"PRODUCT\"\n                       node=\"/Standard\"\n                       dataType=\"text\">\n                            <itm loc=\"en_EN\">en1</itm>\n                            <itm loc=\"de_DE\">de2</itm>\n                        </val>\n                    </vals>\n                </peo>\n            </peos>\n        </project>\n    </projects>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "403" : {
            "description" : "Forbidden: No access to the endpoint"
          },
          "404" : {
            "description" : "Not Found: Requested channels not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/cm/channels/query" : {
      "post" : {
        "tags" : [ "cm" ],
        "summary" : "Query channel TIDs hierarchically",
        "description" : "Allows you to query for channel TIDs hierarchically. You can query by providing a parent channel ID or TID, with options to limit the depth of children returned, or query all root channels without a parent.\n<details># Channels Query - Extended Documentation\n\n## Request Parameters Details\nThe request body should contain a ChannelQueryDto with one of the following parameter sets:\n- **Query by ID or TID**:\n  - `id`: Channel ID to query\n  - `tid`: Channel TID (technical identifier) to query\n  - `level` (optional): Depth of children to return (0 = no children, default = all children)\n- **Query Root Channels**:\n  - `root`: Set to `true` to query all root-level channels (channels without a parent)\n\n## Important Notes\n- When `root` is set to `true`, all other parameters are ignored\n- The `level` parameter controls hierarchy depth (0 = no children, unspecified = all children)\n- Root channels are channels that don't have a parent channel\n\n## Response Format Details\nThe response is a ChannelRequest containing a list of channel TIDs that match the query criteria.\n\n## Use Cases\n- Retrieving channel hierarchies for navigation menus\n- Building channel tree structures for user interfaces\n- Finding all child channels of a specific parent channel\n- Identifying root-level channels for system initialization\n- Limiting the depth of channel hierarchies for performance optimization\n\n## Technical Considerations\n- Query operations are optimized for hierarchical channel structures\n- Level parameter allows for performance optimization by limiting depth\n- Root channel queries are useful for top-level navigation </details>",
        "operationId" : "queryChannels",
        "requestBody" : {
          "description" : "ChannelQueryDto with channel ID/TID to query (with optional level parameter to control hierarchy depth), or root flag set to true for root-level channels. When root is true, all other parameters are ignored.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/ChannelQueryDto"
              },
              "examples" : {
                "query_channels_by_id" : {
                  "summary" : "Query channels by ID (with children)",
                  "value" : "{\n    \"id\": 598800\n} "
                },
                "query_channels_by_tid" : {
                  "summary" : "Query channels by TID (with children)",
                  "value" : "{\n    \"tid\": \"AWS\"\n} "
                },
                "query_channels_by_id_limited_depth" : {
                  "summary" : "Query channels by ID with limited depth",
                  "value" : "{\n    \"id\": 598800,\n    \"level\": 2\n} "
                },
                "query_channels_by_id_no_children" : {
                  "summary" : "Query channels by ID without children",
                  "value" : "{\n    \"id\": 598800,\n    \"level\": 0\n} "
                },
                "query_root_channels" : {
                  "summary" : "Query all root-level channels",
                  "value" : "{\n    \"root\": true\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns ChannelRequest with channel TIDs that match the query criteria",
            "content" : {
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ChannelRequestDto"
                },
                "examples" : {
                  "channels_query_response_with_children" : {
                    "summary" : "Channel TIDs with children",
                    "value" : "{\n    \"tids\": [\n        \"Print\",\n        \"FS2021\",\n        \"Sample Catalog\",\n        \"Document FS21-01_01\",\n        \"Document FS21-01_02\",\n        \"Document FS21-01_03\",\n        \"Document FS21-01_04\"\n    ]\n} "
                  },
                  "channels_query_response_without_children" : {
                    "summary" : "Channel TID without children",
                    "value" : "{\n    \"tids\": [\n        \"Print\"\n    ]\n} "
                  },
                  "channels_query_response_root_channels" : {
                    "summary" : "Root-level channels",
                    "value" : "{\n    \"tids\": [\n        \"Print\",\n        \"Shootings1\"\n    ]\n} "
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Requested channel not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/cm/channels/persist" : {
      "post" : {
        "tags" : [ "cm" ],
        "summary" : "Persist channel information",
        "description" : "Allows you to create new channels, rename existing channels, and update channel attribute values. Supports creating hierarchical channel structures with parent-child relationships and managing channel properties.\n<details># Channels Persist - Extended Documentation\n\n## Operations\nThe endpoint supports the following operations:\n- **Create a Channel** - Creates a new channel with specified attributes\n- **Rename Channel** - Updates the name of an existing channel\n- **Change Attribute Values** - Updates attribute values for an existing channel\n\n## Channel Attribute Persisting\n- Only provided attribute values are persisted; other values not included in the request will remain unchanged\n- Only values of attributes registered in the system can be saved\n\n## Request Structure Details\nThe request body should contain a PimType with ProjectType. For creating a new channel, you need to specify the channel TID, parent (either by TID or ID), type, and name. For updating an existing channel, you need to provide its ID or TID.\n\n### Required Parameters for Creating a Channel\n- `tid`: Technical identifier for the new channel\n- `parentTid` or `parentId`: Parent channel identifier\n- `type`: Channel type\n- `name`: Channel name\n\n### Optional Parameters\n- `vals`: Channel attribute values\n\n## Response Format Details\nThe response is a PimType with ResponsesType containing statuses about each persisted channel.\n\n## Use Cases\n- Creating new channels in the system\n- Organizing channels in a hierarchical structure\n- Updating channel metadata and attributes\n- Renaming channels to reflect changes in business requirements\n- Managing channel properties for different media types\n\n## Technical Considerations\n- Channel type is required for new channel creation\n- Parent-child relationships must be established during creation\n- Attribute updates only affect provided values, leaving others unchanged\n- All channel operations provide detailed status feedback </details>",
        "operationId" : "persistChannels",
        "requestBody" : {
          "description" : "PimType with ProjectType for channel operations. For creating: specify tid, parentTid/parentId, type, and name. For updates: provide channel ID/TID with new values. Only provided attribute values are persisted.",
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "create_new_channel" : {
                  "summary" : "Create a new channel with attributes",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <projects>\n        <project tid=\"MyNewChannel\" parentTid=\"FS2024\" type=\"Advertising media\">\n            <name>My New Channel</name>\n            <vals>\n                <val attr=\"Advertising_media_name\">\n                    <itm>Test Ad Media</itm>\n                </val>\n                <val attr=\"FP_SERIES_COLOR\" type=\"multiple\">\n                    <itm pos=\"0\">0</itm>\n                </val>\n                <val attr=\"FP_SERIES_NAME\">\n                    <itm pos=\"0\">New Series</itm>\n                </val>\n                <val attr=\"FP_SERIES_OFFSET\">\n                    <itm>0</itm>\n                </val>\n                <val attr=\"Comment\">\n                    <itm>Initially created!</itm>\n                </val>\n            </vals>\n        </project>\n    </projects>\n</pim> "
                },
                "rename_channel_by_tid" : {
                  "summary" : "Rename channel by TID",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <projects>\n        <project tid=\"MyNewChannel\">\n            <name>My New Renamed Channel</name>\n        </project>\n    </projects>\n</pim> "
                },
                "update_channel_attributes_and_name" : {
                  "summary" : "Update channel attributes and name",
                  "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <projects>\n        <project tid=\"MyNewChannel\">\n            <name>My New Renamed Channel</name>\n            <vals>\n                <val attr=\"Advertising_media_name\">\n                    <itm>Test Ad Media</itm>\n                </val>\n                <val attr=\"FP_SERIES_COLOR\" type=\"multiple\">\n                    <itm pos=\"0\">0</itm>\n                </val>\n                <val attr=\"FP_SERIES_NAME\">\n                    <itm pos=\"0\">New Series</itm>\n                </val>\n                <val attr=\"FP_SERIES_OFFSET\">\n                    <itm>0</itm>\n                </val>\n                <val attr=\"Comment\">\n                    <itm>New Comment</itm>\n                </val>\n            </vals>\n        </project>\n    </projects>\n</pim> "
                }
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              },
              "examples" : {
                "To transform" : {
                  "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with ResponsesType containing statuses about each persisted channel",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "channels_persist_response" : {
                    "summary" : "Successful channel persistence response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2024-12-16T04:29:55.794Z</itm>\n        <itm key=\"sourceEnv\">ocd_dev</itm>\n    </meta>\n    <responses>\n        <response dataType=\"project\" tid=\"MyNewChannel\">\n            <status>SUCCESS</status>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Referenced parent channel or channel type not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/cm/channels/bulk" : {
      "post" : {
        "tags" : [ "cm" ],
        "operationId" : "startBulk_12",
        "requestBody" : {
          "content" : {
            "application/xml;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            },
            "application/json+compact;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/PimTypeDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/cm/channels/briefings/retrieve" : {
      "post" : {
        "tags" : [ "cm" ],
        "summary" : "Retrieve channel briefings",
        "description" : "Allows you to fetch detailed briefing information for a specific channel. Provides layout information, boxes, and various attributes related to the channel briefing with precise positioning and sizing data.\n<details># Channel Briefings Retrieve - Extended Documentation\n\n## Request Parameters Details\nThe request body should contain a ChannelBriefingRequestDto with the following parameters:\n- **tids** or **ids**: Array containing a single channel technical identifier or ID (only one TID/ID is allowed per request)\n- **briefingInfo**: Object containing briefing configuration information:\n  - **locale**: Locale code (e.g., \"de_DE\")\n  - **briefingModuleCfgTid**: Briefing module configuration technical identifier\n\n## Important Notes\n- For retrieving channel briefing information, only a single TID/ID is allowed in the request\n- The locale parameter affects the briefing layout and content localization\n- Briefing module configuration determines which briefing template is used\n\n## Response Format Details\nThe response is an XML structure containing a \"patch-briefing\" with layout information, boxes, and various attributes. The layout includes dimensions, boxes with positioning data, and image references.\n\n## Use Cases\n- Retrieving layout information for channel briefings\n- Accessing asset and image details for a specific channel\n- Obtaining positioning and dimension data for briefing elements\n- Integrating channel briefing information with design tools\n- Displaying channel briefing layouts in user interfaces\n\n## Technical Considerations\n- Only one channel can be processed per request for briefing information\n- XML response format provides detailed layout structure\n- Briefing information includes precise positioning and sizing data\n- Locale-specific content is returned based on the locale parameter </details>",
        "operationId" : "retrieveChannelBriefings",
        "requestBody" : {
          "description" : "ChannelBriefingRequestDto with single channel TID/ID and briefingInfo containing locale and briefingModuleCfgTid. Only one TID/ID is allowed per request for briefing information.",
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/ChannelBriefingRequestDto"
              },
              "examples" : {
                "channel_briefing_request_by_tid" : {
                  "summary" : "Retrieve channel briefing by TID",
                  "value" : "{\n  \"tids\": [\n    \"Project Lvl 5\"\n  ],\n  \"briefingInfo\": {\n    \"locale\": \"de_DE\",\n    \"briefingModuleCfgTid\": \"F.BriefingModule.ACC\"\n  }\n} "
                },
                "channel_briefing_request_by_id" : {
                  "summary" : "Retrieve channel briefing by ID",
                  "value" : "{\n  \"ids\": [\n    39112\n  ],\n  \"briefingInfo\": {\n    \"locale\": \"de_DE\",\n    \"briefingModuleCfgTid\": \"F.BriefingModule.ACC\"\n  }\n} "
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Success: Returns channel briefing information with layout, boxes, and positioning data",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request: Invalid input provided"
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Requested channel briefing not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/pim/data-items" : {
      "patch" : {
        "tags" : [ "pim" ],
        "operationId" : "updatePimDataItem",
        "requestBody" : {
          "content" : {
            "application/json;charset=UTF-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/DataItemDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataItemPatchResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/pim/products/bulk/{id}" : {
      "get" : {
        "tags" : [ "pim" ],
        "operationId" : "getBulkResult",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/pim/nodes/bulk/{id}" : {
      "get" : {
        "tags" : [ "pim" ],
        "operationId" : "getBulkResult_1",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/pim/classes" : {
      "get" : {
        "tags" : [ "pim" ],
        "summary" : "get classes",
        "description" : "Allows you to retrieve a list of all classifications in the Product Information Management (PIM) system. Classifications are used to categorize and organize products, assets, and other entities in a hierarchical structure.\n<details># Classifications - Extended Documentation\n\n## Response Format Details\nThe response is a String containing XML data with the list of classifications. Each classification may include:\n- Identifier\n- Name\n- Description\n- Hierarchical structure information\n- Associated metadata\n\n## Use Cases\n- Retrieving the complete classification hierarchy for navigation menus\n- Building category trees for product catalogs\n- Determining available classification options for categorizing new products\n- Mapping product taxonomies across different systems\n- Creating filtered views based on classification hierarchies\n- Implementing faceted search functionality\n- Organizing and structuring content in a logical hierarchy\n\n## Technical Details\nThis endpoint does not require any parameters in the request body or URL and returns all available classifications in the system. </details>",
        "operationId" : "getClasses",
        "responses" : {
          "200" : {
            "description" : "Success: Returns XML data with the list of classifications including identifiers, names, descriptions, and hierarchical structure information",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "classifications_response" : {
                    "summary" : "Example classification hierarchy response",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <!-- Example of classification hierarchy structure -->\n    <!-- The actual response format may vary -->\n    <classificationList>\n        <item id=\"1\" name=\"Products\" parentId=\"0\"/>\n        <item id=\"11\" name=\"Electronics\" parentId=\"1\"/>\n        <item id=\"111\" name=\"Computers\" parentId=\"11\"/>\n        <item id=\"112\" name=\"Mobile Devices\" parentId=\"11\"/>\n        <item id=\"12\" name=\"Clothing\" parentId=\"1\"/>\n        <item id=\"121\" name=\"Men's Wear\" parentId=\"12\"/>\n        <item id=\"122\" name=\"Women's Wear\" parentId=\"12\"/>\n        <item id=\"2\" name=\"Marketing Materials\" parentId=\"0\"/>\n        <item id=\"3\" name=\"Documentation\" parentId=\"0\"/>\n    </classificationList>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access classifications"
          },
          "404" : {
            "description" : "Not Found: Classifications resource not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/pim/classes/bulk/{id}" : {
      "get" : {
        "tags" : [ "pim" ],
        "operationId" : "getBulkResult_2",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/pim/attributes/{node}" : {
      "get" : {
        "tags" : [ "pim" ],
        "operationId" : "getPimAttributesByNode",
        "parameters" : [ {
          "name" : "node",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "ignore-table-attributes",
          "in" : "query",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttributesDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/pim/attributes/bulk/{id}" : {
      "get" : {
        "tags" : [ "pim" ],
        "operationId" : "getBulkResult_3",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/pim/attributes/**" : {
      "get" : {
        "tags" : [ "pim" ],
        "operationId" : "getPimAttributesByNode_1",
        "parameters" : [ {
          "name" : "ignore-table-attributes",
          "in" : "query",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttributesDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/pim/attribute-definitions" : {
      "get" : {
        "tags" : [ "pim" ],
        "summary" : "Get attribute definitions",
        "description" : "Provides a simple way to retrieve information about all attribute definitions in the system. This endpoint uses a GET request method and requires no request parameters.\n<details># Attribute Definitions - Extended Documentation\n\n## Overview\nThe Attribute Definitions API endpoint provides a simple way to retrieve information about all attribute definitions in the system. This endpoint uses a GET request method and requires no request parameters.\n\n## Request Parameters\nNo parameters required. This endpoint returns all attribute definitions when called.\n\n## Response Format Details\nThe response is a PimType with filled AttributeDefinitionsType containing all attribute definitions in the system.\n\n## Error Response Details\n\n### Unauthorized Access\n```xml\n<response>\n    <status>ERROR</status>\n    <description>Not authorized to access this resource</description>\n</response>\n```\n\n### Server Error\n```xml\n<response>\n    <status>ERROR</status>\n    <description>An unknown internal error occurred</description>\n</response>\n```\n\n## Use Cases\n- Retrieving all attribute definitions for system initialization\n- Building a complete attribute definition catalog\n- Generating documentation for all available attribute definitions\n- Creating a data dictionary for the system\n- Performing system-wide attribute definition analysis\n\n## Technical Details\nThis endpoint returns comprehensive attribute definition information including:\n- Attribute definition IDs and technical identifiers\n- Attribute types (text, date, number, boolean, ref, table)\n- Localized names for multiple languages\n- Domain values and constraints where applicable\n- Multi-valued attribute configuration </details>",
        "operationId" : "getAttributeDefinitions",
        "responses" : {
          "200" : {
            "description" : "Success: Returns PimType with filled AttributeDefinitionsType containing all attribute definitions in the system",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "get_all_attribute_definitions_response" : {
                    "summary" : "Response with all attribute definitions",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <attrDefs>\n        <attrDef id=\"15210\" tid=\"product_id\" type=\"text\">\n            <name>\n                <itm loc=\"en_EN\">SKU product</itm>\n                <itm loc=\"de_DE\">SKU Produkt</itm>\n            </name>\n        </attrDef>\n        <attrDef id=\"15219\" tid=\"care_note\" type=\"text\">\n            <domainVals allowNewValue=\"false\" mode=\"FULL\" sortDirection=\"MANUAL\">\n                <domainVal tid=\"Chlorine bleaching possible\">\n                    <itm loc=\"en_EN\">Chlorine bleaching possible</itm>\n                    <itm loc=\"de_DE\">Chlorbleiche möglich</itm>\n                </domainVal>\n                <!-- Additional domain values -->\n            </domainVals>\n            <multiValued>true</multiValued>\n            <name>\n                <itm loc=\"en_EN\">Care note</itm>\n                <itm loc=\"de_DE\">Pflegehinweis</itm>\n            </name>\n        </attrDef>\n        <!-- Additional attribute definitions -->\n    </attrDefs>\n    <meta>\n        <itm key=\"messageType\">request</itm>\n        <itm key=\"messageTime\">2022-12-23T07:20:36.916Z</itm>\n        <itm key=\"sourceEnv\">web</itm>\n        <itm key=\"itemInformationType\">attrDefinition</itm>\n    </meta>\n</pim> "
                  },
                  "unauthorized_access_error" : {
                    "summary" : "Error response for unauthorized access",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response xmlns=\"http://www.apollon.de/omn\">\n            <status>ERROR</status>\n            <description>Unauthorized access to attribute definitions</description>\n        </response>\n    </responses>\n</pim> "
                  },
                  "server_error_description_error" : {
                    "summary" : "Error response for server error",
                    "value" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<pim xmlns=\"http://www.apollon.de/omn\" schemaVersion=\"5.6.0\">\n    <responses>\n        <response xmlns=\"http://www.apollon.de/omn\">\n            <status>ERROR</status>\n            <description>An unknown internal error occurred</description>\n        </response>\n    </responses>\n</pim> "
                  }
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PimTypeDto"
                },
                "examples" : {
                  "To transform" : {
                    "value" : "Please use the /common/transform endpoint to get the current format from the XML example."
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized: Not authorized to access the endpoint"
          },
          "404" : {
            "description" : "Not Found: Resource not found"
          },
          "500" : {
            "description" : "Server Error: An unknown internal error occurred"
          }
        }
      }
    },
    "/api/core/v1/pim/attribute-definitions/bulk/{id}" : {
      "get" : {
        "tags" : [ "pim" ],
        "operationId" : "getBulkResult_4",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/peo/peos/bulk/{id}" : {
      "get" : {
        "tags" : [ "peo" ],
        "operationId" : "getBulkResult_5",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/dam/dirs/bulk/{id}" : {
      "get" : {
        "tags" : [ "dam" ],
        "operationId" : "getBulkResult_6",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/dam/assets/bulk/{id}" : {
      "get" : {
        "tags" : [ "dam" ],
        "operationId" : "getBulkResult_7",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/dam/assets/bin" : {
      "get" : {
        "tags" : [ "dam" ],
        "operationId" : "getAssetsBinary",
        "parameters" : [ {
          "name" : "assetTid",
          "in" : "query",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "assetId",
          "in" : "query",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int64"
          }
        }, {
          "name" : "format",
          "in" : "query",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "range",
          "in" : "query",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/common/links/bulk/{id}" : {
      "get" : {
        "tags" : [ "common" ],
        "operationId" : "getBulkResult_8",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/common/keywords/bulk/{id}" : {
      "get" : {
        "tags" : [ "common" ],
        "operationId" : "getBulkResult_9",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/common/glossaryEntries/bulk/{id}" : {
      "get" : {
        "tags" : [ "common" ],
        "operationId" : "getBulkResult_10",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/common/glossaries/bulk/{id}" : {
      "get" : {
        "tags" : [ "common" ],
        "operationId" : "getBulkResult_11",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/core/v1/cm/channels/bulk/{id}" : {
      "get" : {
        "tags" : [ "cm" ],
        "operationId" : "getBulkResult_12",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/xml;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "application/json+compact;charset=UTF-8" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    }
  },
  "components" : {
    "schemas" : {
      "AssetUploadRequestDto" : {
        "type" : "object",
        "description" : "Request object for uploading assets with optional configuration settings",
        "properties" : {
          "path" : {
            "type" : "string",
            "description" : "Path to a new asset. It must not need to start with a '/'. So '/MAM/...' and 'MAM/...' are both valid inputs. The first path element is the RNC identifier. Might contain new file name with which new asset will be uploaded to the system"
          },
          "tid" : {
            "type" : "string",
            "description" : "Tid to set. This is an optional parameter and if not provided then it will be set by the server automatically."
          },
          "doPreviewsAsync" : {
            "type" : "boolean",
            "description" : "If it is set to false then the preview generation (the checkin) will be done synchronous/blocking."
          },
          "doOverwrite" : {
            "type" : "boolean",
            "description" : "If it is set to false an existing file will not be overwritten/updated. Instead a HTTP Status Code 403 (Already exists) is returned."
          }
        }
      },
      "AbbreviationTypeDto" : {
        "type" : "object",
        "description" : "Container for abbreviated name items with technical identifier",
        "properties" : {
          "itm" : {
            "type" : "array",
            "description" : "List of abbreviated name items",
            "items" : {
              "$ref" : "#/components/schemas/ItemTypeDto"
            }
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier"
          }
        }
      },
      "ActionTypeDto" : {
        "type" : "object",
        "description" : "Action to be performed on objects such as delete, copy, move, checkout, and checkin",
        "properties" : {
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "parameters container"
          },
          "dataType" : {
            "type" : "string",
            "description" : "Item type on which action should be performed"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier of the target object"
          },
          "type" : {
            "type" : "string",
            "description" : "Action type. Check which action types support chosen dataType."
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Target object identity"
          },
          "path" : {
            "type" : "string",
            "description" : "Unique path to the target object"
          }
        },
        "required" : [ "dataType", "id", "path", "tid", "type" ]
      },
      "ActionsTypeDto" : {
        "type" : "object",
        "description" : "Container for multiple action definitions and operations",
        "properties" : {
          "action" : {
            "type" : "array",
            "description" : "List of individual action definitions",
            "items" : {
              "$ref" : "#/components/schemas/ActionTypeDto"
            }
          }
        }
      },
      "ArticleTypeDto" : {
        "type" : "object",
        "description" : "Article entity containing product information and variants",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Article identifier (name)"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Additional info"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksTypeDto",
            "description" : "Object relationships and links"
          },
          "vals" : {
            "$ref" : "#/components/schemas/ValuesTypeDto",
            "description" : "Attributes values. More info about product attributes values"
          },
          "variants" : {
            "$ref" : "#/components/schemas/VariantsTypeDto",
            "description" : "Article's variants products."
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier"
          }
        }
      },
      "ArticlesTypeDto" : {
        "type" : "object",
        "description" : "Container for a collection of articles",
        "properties" : {
          "article" : {
            "type" : "array",
            "description" : "List of articles",
            "items" : {
              "$ref" : "#/components/schemas/ArticleTypeDto"
            }
          }
        }
      },
      "AssetDefinitionTypeDto" : {
        "type" : "object",
        "description" : "Asset definition containing attribute definitions and configuration",
        "properties" : {
          "attrDefs" : {
            "$ref" : "#/components/schemas/AttributeDefinitionsTypeDto",
            "description" : "Asset attribute definitions"
          },
          "config" : {
            "$ref" : "#/components/schemas/ConfigTypeDto",
            "description" : "Asset configuration settings"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier"
          },
          "type" : {
            "type" : "string",
            "description" : "Asset definition type"
          }
        },
        "required" : [ "tid", "type" ]
      },
      "AssetDefinitionsTypeDto" : {
        "type" : "object",
        "description" : "Container for asset definition collections",
        "properties" : {
          "assetDef" : {
            "type" : "array",
            "description" : "List of asset definition objects",
            "items" : {
              "$ref" : "#/components/schemas/AssetDefinitionTypeDto"
            }
          }
        }
      },
      "AssetTypeDto" : {
        "type" : "object",
        "description" : "Asset information including metadata, file details, and relationships",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Asset file name"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Asset info"
          },
          "vals" : {
            "$ref" : "#/components/schemas/ValuesTypeDto",
            "description" : "Asset attributes values. See more in link:#_asset_attributes[Asset attributes]"
          },
          "keywords" : {
            "$ref" : "#/components/schemas/LinksTypeDto",
            "description" : "List of keywords identifiers, linked with the asset. (Deprecated: Use links instead)"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksTypeDto",
            "description" : "List of linked objects. Currently only contains linked keywords."
          },
          "histories" : {
            "$ref" : "#/components/schemas/HistoriesTypeDto",
            "description" : "Asset history"
          },
          "previews" : {
            "$ref" : "#/components/schemas/PreviewsInfoTypeDto",
            "description" : "List of preview infos"
          },
          "tid" : {
            "type" : "string",
            "description" : "Asset technical identifier"
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Unique asset identifier"
          },
          "type" : {
            "type" : "string",
            "description" : "File type"
          },
          "parent" : {
            "type" : "string",
            "description" : "TID of asset parent (directory)"
          },
          "rnc" : {
            "type" : "string",
            "description" : "Root node configuration, where asset is stored"
          },
          "path" : {
            "type" : "string",
            "description" : "Path to the asset file"
          }
        },
        "required" : [ "tid", "type" ]
      },
      "AssetsTypeDto" : {
        "type" : "object",
        "description" : "Container for asset objects",
        "properties" : {
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Additional metadata information"
          },
          "asset" : {
            "type" : "array",
            "description" : "List of asset objects",
            "items" : {
              "$ref" : "#/components/schemas/AssetTypeDto"
            }
          }
        }
      },
      "AttrDefinitionTypeDto" : {
        "type" : "object",
        "description" : "Comprehensive attribute definition with metadata, validation, and domain constraints",
        "properties" : {
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Attribute definition metadata"
          },
          "name" : {
            "$ref" : "#/components/schemas/NameTypeDto",
            "description" : "Attribute definition name with localization"
          },
          "abbr" : {
            "$ref" : "#/components/schemas/AbbreviationTypeDto",
            "description" : "Attribute definition abbreviation"
          },
          "tooltip" : {
            "$ref" : "#/components/schemas/TooltipTypeDto",
            "description" : "Attribute definition tooltip information"
          },
          "defaultVal" : {
            "$ref" : "#/components/schemas/DefaultValueTypeDto",
            "description" : "Attribute default value definition"
          },
          "multiValued" : {
            "$ref" : "#/components/schemas/MultiValuedTypeDto",
            "description" : "Multi-value capability configuration"
          },
          "validation" : {
            "$ref" : "#/components/schemas/ValidationTypeDto",
            "description" : "Attribute validation rules"
          },
          "domainVals" : {
            "$ref" : "#/components/schemas/DomainValuesTypeDto",
            "description" : "Attribute domain value definitions"
          },
          "domainRange" : {
            "$ref" : "#/components/schemas/DomainRangeTypeDto",
            "description" : "Attribute domain range specification"
          },
          "tags" : {
            "$ref" : "#/components/schemas/TagsTypeDto",
            "description" : "Attribute definition tags"
          },
          "references" : {
            "$ref" : "#/components/schemas/ReferencesTypeDto",
            "description" : "Attribute reference configuration"
          },
          "noValidateAsRichText" : {
            "type" : "string",
            "description" : "Rich text validation bypass flag"
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Unique attribute definition identifier"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier"
          },
          "type" : {
            "type" : "string",
            "description" : "Attribute type definition"
          },
          "localized" : {
            "type" : "string",
            "description" : "Whether attribute is language-dependent (\"true\"/\"false\")"
          },
          "required" : {
            "type" : "string",
            "description" : "Cardinality constraint (\"optional\", \"required\", \"requiredInAllLanguages\")"
          },
          "domain" : {
            "type" : "string",
            "description" : "Attribute domain specification"
          }
        },
        "required" : [ "tid", "type" ]
      },
      "AttributeDefinitionsTypeDto" : {
        "type" : "object",
        "description" : "Container for attribute definition collections with type classification",
        "properties" : {
          "attrDef" : {
            "type" : "array",
            "description" : "List of attribute definition objects",
            "items" : {
              "$ref" : "#/components/schemas/AttrDefinitionTypeDto"
            }
          },
          "type" : {
            "type" : "string",
            "description" : "Attribute type classification"
          }
        }
      },
      "AttributeTypeDto" : {
        "type" : "object",
        "description" : "Attribute definition containing metadata, validation rules, and domain constraints",
        "properties" : {
          "defaultVal" : {
            "$ref" : "#/components/schemas/DefaultValueTypeDto",
            "description" : "Attribute default value. See more in DefaultValueType"
          },
          "domainVals" : {
            "$ref" : "#/components/schemas/DomainValuesTypeDto",
            "description" : "Attribute domain values. See more in DomainValuesType"
          },
          "domainRange" : {
            "$ref" : "#/components/schemas/DomainRangeTypeDto",
            "description" : "Attribute domain range. See more in DomainRangeType"
          },
          "key" : {
            "type" : "string",
            "description" : "Attribute definition identifier"
          },
          "level" : {
            "type" : "string",
            "description" : "Attribute belonging to product type"
          },
          "inheritance" : {
            "type" : "string",
            "description" : "Inheritance type"
          },
          "restriction" : {
            "type" : "string",
            "description" : "Attribute presence indicator",
            "enum" : [ "optional", "required", "mandatory" ]
          },
          "localized" : {
            "type" : "string",
            "description" : "Availability of localization",
            "enum" : [ "true", "false" ]
          },
          "cardinality" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Linked elements limit"
          },
          "option" : {
            "type" : "string",
            "description" : "Access rights option",
            "enum" : [ "READONLY", "OVERWRITE", "SYNCHRONIZED" ]
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Unique attribute identifier"
          },
          "nodeId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Node identifier"
          },
          "nodePath" : {
            "type" : "string",
            "description" : "Node path in classification"
          }
        }
      },
      "AttributesTypeDto" : {
        "type" : "object",
        "description" : "Container for attribute definitions and configurations",
        "properties" : {
          "attr" : {
            "type" : "array",
            "description" : "List of attribute objects",
            "items" : {
              "$ref" : "#/components/schemas/AttributeTypeDto"
            }
          }
        }
      },
      "ClassificationNodesTypeDto" : {
        "type" : "object",
        "description" : "Container for classification node hierarchies",
        "properties" : {
          "node" : {
            "type" : "array",
            "description" : "List of classification node objects",
            "items" : {
              "$ref" : "#/components/schemas/NodeTypeDto"
            }
          }
        }
      },
      "ClassificationTypeDto" : {
        "type" : "object",
        "description" : "Classification entity containing hierarchical structure and metadata",
        "properties" : {
          "name" : {
            "$ref" : "#/components/schemas/NameTypeDto",
            "description" : "Classification name with localization support"
          },
          "node" : {
            "$ref" : "#/components/schemas/NodeTypeDto",
            "description" : "Root classification node"
          },
          "tid" : {
            "type" : "string",
            "description" : "Unique identifier"
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Unique classification id"
          }
        }
      },
      "ClassificationsTypeDto" : {
        "type" : "object",
        "description" : "Container for classification hierarchies and taxonomies",
        "properties" : {
          "clazz" : {
            "type" : "array",
            "description" : "List of classification objects",
            "items" : {
              "$ref" : "#/components/schemas/ClassificationTypeDto"
            }
          },
          "mode" : {
            "type" : "string",
            "description" : "Operation mode"
          }
        }
      },
      "ConfigTypeDto" : {
        "type" : "object",
        "description" : "Configuration container with item collections",
        "properties" : {
          "itms" : {
            "type" : "array",
            "description" : "List of configuration item collections",
            "items" : {
              "$ref" : "#/components/schemas/ItemsTypeDto"
            }
          }
        }
      },
      "DefaultValueTypeDto" : {
        "type" : "object",
        "description" : "Default value container for attribute definitions",
        "properties" : {
          "itm" : {
            "type" : "array",
            "description" : "List of default value items",
            "items" : {
              "$ref" : "#/components/schemas/ItemTypeDto"
            }
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier"
          }
        }
      },
      "DeletionTypeDto" : {
        "type" : "object",
        "description" : "Deletion operation configuration with data type and options",
        "properties" : {
          "dataType" : {
            "type" : "string",
            "description" : "Type of data being processed",
            "enum" : [ "product", "attrDefinition", "assetDefinition", "classification", "general", "unknown", "article", "project", "variant", "tagDefinition", "classNode", "attribute", "template", "peo", "mixed", "projectTypes", "locale", "asset", "productPreviewRefs", "keyword", "dir", "glossary", "variation", "link" ]
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier of the object to delete"
          },
          "option" : {
            "type" : "array",
            "description" : "List of deletion options",
            "items" : {
              "$ref" : "#/components/schemas/OptionTypeDto"
            }
          }
        }
      },
      "DeletionsTypeDto" : {
        "type" : "object",
        "description" : "Container for deletion operations and records",
        "properties" : {
          "deletion" : {
            "type" : "array",
            "description" : "List of individual deletion operations",
            "items" : {
              "$ref" : "#/components/schemas/DeletionTypeDto"
            }
          }
        }
      },
      "DirectoriesTypeDto" : {
        "type" : "object",
        "description" : "Container for directory collections",
        "properties" : {
          "dir" : {
            "type" : "array",
            "description" : "List of directory objects",
            "items" : {
              "$ref" : "#/components/schemas/DirectoryTypeDto"
            }
          }
        }
      },
      "DirectoryTypeDto" : {
        "type" : "object",
        "description" : "Directory object containing hierarchical file system information",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Directory name"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Directory metadata information"
          },
          "vals" : {
            "$ref" : "#/components/schemas/ValuesTypeDto",
            "description" : "Directory attribute values"
          },
          "tid" : {
            "type" : "string",
            "description" : "unique directory identifier"
          },
          "rnc" : {
            "type" : "string",
            "description" : "Root node configuration identifier"
          },
          "parent" : {
            "type" : "string",
            "description" : "Parent directory tid"
          }
        }
      },
      "DomainRangeTypeDto" : {
        "type" : "object",
        "description" : "Domain range specification for numeric attribute values",
        "properties" : {
          "from" : {
            "type" : "string",
            "description" : "The initial value of the variable range of values"
          },
          "to" : {
            "type" : "string",
            "description" : "The final value of the variable range of values"
          },
          "intOnly" : {
            "type" : "string",
            "description" : "Indicates integer or double type of value",
            "enum" : [ "true", "false" ]
          }
        }
      },
      "DomainValueTypeDto" : {
        "type" : "object",
        "description" : "Domain value definition with items and technical identifier",
        "properties" : {
          "itm" : {
            "type" : "array",
            "description" : "List of domain value items",
            "items" : {
              "$ref" : "#/components/schemas/ItemTypeDto"
            }
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier"
          }
        },
        "required" : [ "tid" ]
      },
      "DomainValuesTypeDto" : {
        "type" : "object",
        "description" : "Container for domain values with configuration options",
        "properties" : {
          "domainVal" : {
            "type" : "array",
            "description" : "List of allowed domain values",
            "items" : {
              "$ref" : "#/components/schemas/DomainValueTypeDto"
            }
          },
          "allowNewValue" : {
            "type" : "string",
            "format" : "true, false",
            "description" : "Indicates whether a new value is possible"
          },
          "sortDirection" : {
            "type" : "string",
            "description" : "Ascending or descending arrangement of values"
          },
          "sortLanguageId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Language by which sorting is applied"
          },
          "mode" : {
            "type" : "string",
            "description" : "Operation mode for domain values"
          }
        }
      },
      "GlossariesTypeDto" : {
        "type" : "object",
        "description" : "Container for glossary definitions with attribute definitions",
        "properties" : {
          "glossary" : {
            "type" : "array",
            "description" : "List of glossary definitions",
            "items" : {
              "$ref" : "#/components/schemas/GlossaryTypeDto"
            }
          },
          "attrDefs" : {
            "$ref" : "#/components/schemas/AttributeDefinitionsTypeDto",
            "description" : "Attribute definitions for glossaries"
          }
        }
      },
      "GlossaryEntriesTypeDto" : {
        "type" : "object",
        "description" : "Container for multiple glossary entries in a glossary system",
        "properties" : {
          "glossaryEntry" : {
            "type" : "array",
            "description" : "List of glossary entries containing terms and definitions",
            "items" : {
              "$ref" : "#/components/schemas/GlossaryEntryTypeDto"
            }
          }
        }
      },
      "GlossaryEntryTypeDto" : {
        "type" : "object",
        "description" : "Glossary entry containing term definitions and related information",
        "properties" : {
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Additional glossary entry attributes: value, last edit date and username, forbidden to usage flag."
          },
          "vals" : {
            "$ref" : "#/components/schemas/ValuesTypeDto",
            "description" : "Custom attribute values associated with the glossary entry"
          },
          "tid" : {
            "type" : "string",
            "format" : "\"24E654CF-2900-438D-83CF-01E3ABAA9B11\"",
            "description" : "TID of glossary entry."
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksTypeDto",
            "description" : "List of linked glossary entries."
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "ID of glossary entry."
          },
          "parentId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "ID of the parent glossary. Either parentId or parenTid must always be present."
          },
          "parentTid" : {
            "type" : "string",
            "format" : "\"24E654CF-2900-438D-83CF-01E3ABAA9B12\"",
            "description" : "TID of the parent glossary. Either parentId or parenTid must always be present."
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the glossary entry: sentence or term.",
            "enum" : [ "sentence", "term" ]
          },
          "loc" : {
            "type" : "string",
            "format" : "{langCode}_{contryCode}",
            "description" : "Locale identifier of the glossary entry."
          }
        },
        "required" : [ "loc", "parentId", "parentTid", "type" ]
      },
      "GlossaryTypeDto" : {
        "type" : "object",
        "description" : "Glossary configuration with metadata and values for terminology management",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of the glossary"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Metadata information for the glossary"
          },
          "vals" : {
            "$ref" : "#/components/schemas/ValuesTypeDto",
            "description" : "Values and entries contained in the glossary"
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Unique identifier of the glossary"
          },
          "tid" : {
            "type" : "string",
            "description" : "Transaction ID or type identifier"
          }
        }
      },
      "HistoriesTypeDto" : {
        "type" : "object",
        "description" : "Container for historical tracking information",
        "properties" : {
          "history" : {
            "type" : "array",
            "description" : "List of history records",
            "items" : {
              "$ref" : "#/components/schemas/HistoryTypeDto"
            }
          }
        }
      },
      "HistoryTypeDto" : {
        "type" : "object",
        "description" : "Historical record containing tracking and audit information",
        "properties" : {
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Historical metadata information"
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Unique history record identifier"
          }
        }
      },
      "I18NTypeDto" : {
        "type" : "object",
        "description" : "Internationalization container for localized content",
        "properties" : {
          "itm" : {
            "type" : "array",
            "description" : "List of localized items",
            "items" : {
              "$ref" : "#/components/schemas/ItemTypeDto"
            }
          },
          "loc" : {
            "type" : "string",
            "description" : "Locale identifier"
          },
          "mode" : {
            "type" : "string",
            "description" : "Operation mode"
          }
        }
      },
      "ItemTypeDto" : {
        "type" : "object",
        "description" : "Item with a value and position information",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "The value content of the item"
          },
          "pos" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Position index of the item"
          },
          "key" : {
            "type" : "string",
            "description" : "Key identifier of the item"
          },
          "loc" : {
            "type" : "string",
            "format" : "ISO 639",
            "description" : "Locale code"
          },
          "order" : {
            "type" : "string",
            "description" : "Order for sorting"
          },
          "mode" : {
            "type" : "string",
            "description" : "Mode of operation"
          }
        }
      },
      "ItemsTypeDto" : {
        "type" : "object",
        "description" : "Container for item collections with metadata",
        "properties" : {
          "itm" : {
            "type" : "array",
            "description" : "List of item objects",
            "items" : {
              "$ref" : "#/components/schemas/ItemTypeDto"
            }
          },
          "itms" : {
            "type" : "array",
            "description" : "List of nested items collections",
            "items" : {
              "$ref" : "#/components/schemas/ItemsTypeDto"
            }
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Unique identifier"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier"
          },
          "loc" : {
            "type" : "string",
            "description" : "Locale identifier"
          },
          "type" : {
            "type" : "string",
            "description" : "Type identifier"
          },
          "attr" : {
            "type" : "string",
            "description" : "Attribute identifier"
          },
          "mode" : {
            "type" : "string",
            "description" : "Operation mode"
          }
        }
      },
      "KeywordTypeDto" : {
        "type" : "object",
        "description" : "Keyword definition with hierarchical structure and metadata",
        "properties" : {
          "name" : {
            "$ref" : "#/components/schemas/NameTypeDto",
            "description" : "Name information for the keyword"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Metadata information for the keyword"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksTypeDto",
            "description" : "Links related to the keyword"
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Unique identifier of the keyword"
          },
          "parentId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Parent keyword identifier"
          },
          "path" : {
            "type" : "string",
            "description" : "Full path to the keyword in the hierarchy"
          },
          "parentPath" : {
            "type" : "string",
            "description" : "Path to the parent keyword"
          }
        }
      },
      "KeywordsTypeDto" : {
        "type" : "object",
        "description" : "Container for multiple keyword definitions in a keyword system",
        "properties" : {
          "kwd" : {
            "type" : "array",
            "description" : "List of keyword definitions",
            "items" : {
              "$ref" : "#/components/schemas/KeywordTypeDto"
            }
          }
        }
      },
      "LinksTypeDto" : {
        "type" : "object",
        "description" : "Container for object relationships and links",
        "properties" : {
          "itm" : {
            "type" : "array",
            "description" : "List of link items",
            "items" : {
              "$ref" : "#/components/schemas/ItemTypeDto"
            }
          },
          "itms" : {
            "type" : "array",
            "description" : "List of link item collections",
            "items" : {
              "$ref" : "#/components/schemas/ItemsTypeDto"
            }
          }
        }
      },
      "LocaleTypeDto" : {
        "type" : "object",
        "description" : "Locale information for internationalization and localization",
        "properties" : {
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Additional locale info"
          },
          "config" : {
            "$ref" : "#/components/schemas/ConfigTypeDto",
            "description" : "Locales configuration information"
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Unique numeric identifier of the locale"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier of the locale"
          },
          "language" : {
            "type" : "string",
            "format" : "ISO 639",
            "description" : "Language code"
          },
          "country" : {
            "type" : "string",
            "format" : "ISO 3166",
            "description" : "County code"
          },
          "name" : {
            "type" : "string",
            "description" : "Display name of the locale"
          }
        },
        "required" : [ "country", "language", "name" ]
      },
      "LocalesTypeDto" : {
        "type" : "object",
        "description" : "Container for locale definitions with mode configuration",
        "properties" : {
          "locale" : {
            "type" : "array",
            "description" : "List of locale definitions",
            "items" : {
              "$ref" : "#/components/schemas/LocaleTypeDto"
            }
          },
          "mode" : {
            "type" : "string",
            "description" : "Mode configuration for locales"
          }
        }
      },
      "MetaTypeDto" : {
        "type" : "object",
        "description" : "Metadata container with key-value information",
        "properties" : {
          "itm" : {
            "type" : "array",
            "description" : "List of metadata items",
            "items" : {
              "$ref" : "#/components/schemas/ItemTypeDto"
            }
          }
        }
      },
      "MultiValuedTypeDto" : {
        "type" : "object",
        "description" : "Multi-value configuration with cardinality limits",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "Multi-value indicator",
            "enum" : [ "true", "false" ]
          },
          "cardinality" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of values"
          }
        }
      },
      "NameTypeDto" : {
        "type" : "object",
        "description" : "Container for localized name items",
        "properties" : {
          "itm" : {
            "type" : "array",
            "description" : "List of ItemType with localized names",
            "items" : {
              "$ref" : "#/components/schemas/ItemTypeDto"
            }
          }
        }
      },
      "NodeTypeDto" : {
        "type" : "object",
        "description" : "Classification node containing hierarchical structure and attributes",
        "properties" : {
          "name" : {
            "$ref" : "#/components/schemas/NameTypeDto",
            "description" : "Node names, default and localized"
          },
          "attr" : {
            "type" : "array",
            "description" : "Assigned attributes to the node",
            "items" : {
              "$ref" : "#/components/schemas/AttributeTypeDto"
            }
          },
          "node" : {
            "type" : "array",
            "description" : "Children. If nested tree structure was used for retrieve",
            "items" : {
              "$ref" : "#/components/schemas/NodeTypeDto"
            }
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identity"
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Node id"
          },
          "parentId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "parent node id"
          },
          "path" : {
            "type" : "string",
            "format" : "/ (forward slash) - as separator",
            "description" : "Path in classification"
          },
          "parentPath" : {
            "type" : "string",
            "format" : "/ (forward slash) - as separator",
            "description" : "parent path in classification"
          },
          "classificationTid" : {
            "type" : "string",
            "description" : "Classification identifier"
          },
          "mode" : {
            "type" : "string",
            "description" : "Operation mode"
          }
        }
      },
      "OptionTypeDto" : {
        "type" : "object",
        "description" : "Key-value option pair for configuration and selection purposes",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "The display value or label of the option"
          },
          "key" : {
            "type" : "string",
            "description" : "The unique key identifier for the option"
          }
        }
      },
      "ParamTypeDto" : {
        "type" : "object",
        "description" : "Parameter definition with key-value pair for configuration purposes",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "The parameter value"
          },
          "key" : {
            "type" : "string",
            "description" : "The parameter key identifier"
          }
        }
      },
      "ParamsTypeDto" : {
        "type" : "object",
        "description" : "Container for parameters with hierarchical support",
        "properties" : {
          "param" : {
            "type" : "array",
            "description" : "List of individual parameter objects",
            "items" : {
              "$ref" : "#/components/schemas/ParamTypeDto"
            }
          },
          "params" : {
            "type" : "array",
            "description" : "Nested parameter groups",
            "items" : {
              "$ref" : "#/components/schemas/ParamsTypeDto"
            }
          },
          "key" : {
            "type" : "string",
            "description" : "Key identifier for this parameter group"
          }
        }
      },
      "PeoTypeDto" : {
        "type" : "object",
        "description" : "Product Entity Object (PEO) containing product relationships and template information",
        "properties" : {
          "default" : {
            "type" : "string",
            "description" : "Default PEO indicator"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "PEO metadata information"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the PEO"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksTypeDto",
            "description" : "PEO relationships and links"
          },
          "vals" : {
            "$ref" : "#/components/schemas/ValuesTypeDto",
            "description" : "PEO attribute values"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical id (identifier) of PEO"
          },
          "product" : {
            "type" : "string",
            "description" : "Product reference"
          },
          "template" : {
            "type" : "string",
            "description" : "Template reference"
          },
          "templateId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Template identifier"
          },
          "templateTid" : {
            "type" : "string",
            "description" : "Template technical identifier"
          },
          "productId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Product identifier"
          },
          "productTid" : {
            "type" : "string",
            "description" : "Product technical identifier"
          }
        }
      },
      "PeosTypeDto" : {
        "type" : "object",
        "description" : "Container for Product Entity Object (PEO) collections",
        "properties" : {
          "peo" : {
            "type" : "array",
            "description" : "List of Product Entity Objects",
            "items" : {
              "$ref" : "#/components/schemas/PeoTypeDto"
            }
          }
        }
      },
      "PimTypeDto" : {
        "type" : "object",
        "description" : "Product Information Management (PIM) system - provides access to resources of the PIM module. PIM refers to the management of all product-defining information and its provision for use in output channels.",
        "properties" : {
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Additional metadata information containing key/value pairs"
          },
          "locales" : {
            "$ref" : "#/components/schemas/LocalesTypeDto",
            "description" : "List of supported locales with language and country codes"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksTypeDto",
            "description" : "Relations between OMN objects such as assets, products, projects, and keywords"
          },
          "tagDefs" : {
            "$ref" : "#/components/schemas/TagDefinitionsTypeDto",
            "description" : "Tag definitions for object categorization and metadata"
          },
          "rncs" : {
            "$ref" : "#/components/schemas/RncsTypeDto",
            "description" : "Root Node Configurations representing filesystem access configurations"
          },
          "versions" : {
            "$ref" : "#/components/schemas/VersionsTypeDto",
            "description" : "Different states of files, with only one active version at a time"
          },
          "variations" : {
            "$ref" : "#/components/schemas/VariationsTypeDto",
            "description" : "Related files that are variations of assets, usually with different file names"
          },
          "variationTypes" : {
            "$ref" : "#/components/schemas/VariationTypesTypeDto",
            "description" : "Types of asset variations available in the system"
          },
          "assets" : {
            "$ref" : "#/components/schemas/AssetsTypeDto",
            "description" : "Digital assets such as images, videos, documents, and other media files"
          },
          "dirs" : {
            "$ref" : "#/components/schemas/DirectoriesTypeDto",
            "description" : "Directory structure representing folders that can contain sub-directories or assets"
          },
          "kwds" : {
            "$ref" : "#/components/schemas/KeywordsTypeDto",
            "description" : "Hierarchical keyword structure for categorizing and tagging objects"
          },
          "glossaries" : {
            "$ref" : "#/components/schemas/GlossariesTypeDto",
            "description" : "Glossaries containing terms and sentences for translation and terminology management"
          },
          "glossaryEntries" : {
            "$ref" : "#/components/schemas/GlossaryEntriesTypeDto",
            "description" : "Individual entries within glossaries, can be terms or sentences"
          },
          "attrDefs" : {
            "$ref" : "#/components/schemas/AttributeDefinitionsTypeDto",
            "description" : "Attribute definitions that define product properties, their types, and validation rules"
          },
          "assetDefs" : {
            "$ref" : "#/components/schemas/AssetDefinitionsTypeDto",
            "description" : "Asset definitions that define types and properties of digital assets"
          },
          "productPreviewRefs" : {
            "$ref" : "#/components/schemas/ProductPreviewRefsTypeDto",
            "description" : "References to preview representations of products"
          },
          "classes" : {
            "$ref" : "#/components/schemas/ClassificationsTypeDto",
            "description" : "Product classification system for organizing and categorizing products"
          },
          "products" : {
            "$ref" : "#/components/schemas/ProductsTypeDto",
            "description" : "Product information including articles and variations with attributes and relationships"
          },
          "projectDefs" : {
            "$ref" : "#/components/schemas/ProjectDefinitionsTypeDto",
            "description" : "Project definition templates and configurations"
          },
          "projects" : {
            "$ref" : "#/components/schemas/ProjectsTypeDto",
            "description" : "Project instances with metadata and associated resources"
          },
          "templates" : {
            "$ref" : "#/components/schemas/TemplatesTypeDto",
            "description" : "Templates for creating and structuring various types of objects"
          },
          "peos" : {
            "$ref" : "#/components/schemas/PeosTypeDto",
            "description" : "Product Export Objects defining how products are exported to different channels"
          },
          "deletions" : {
            "$ref" : "#/components/schemas/DeletionsTypeDto",
            "description" : "Records of deleted objects for tracking and audit purposes"
          },
          "responses" : {
            "$ref" : "#/components/schemas/ResponsesTypeDto",
            "description" : "Status information and results of performed operations with success, error, or warning details"
          },
          "actions" : {
            "$ref" : "#/components/schemas/ActionsTypeDto",
            "description" : "Actions to be performed on objects such as delete, copy, move, checkout, and checkin"
          },
          "nodes" : {
            "$ref" : "#/components/schemas/ClassificationNodesTypeDto",
            "description" : "Classification tree nodes that represent hierarchical categorization structure"
          },
          "attrs" : {
            "$ref" : "#/components/schemas/AttributesTypeDto",
            "description" : "Product and node attributes with their values, inheritance, and localization settings"
          },
          "params" : {
            "$ref" : "#/components/schemas/ParamsTypeDto",
            "description" : "Configuration parameters and settings"
          },
          "schemaVersion" : {
            "type" : "string",
            "description" : "Version of the PIM schema being used"
          }
        },
        "required" : [ "schemaVersion" ]
      },
      "PreviewInfoTypeDto" : {
        "type" : "object",
        "description" : "Preview information containing metadata and identification details",
        "properties" : {
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Metadata information for the preview"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier for the preview"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the preview"
          }
        }
      },
      "PreviewsInfoTypeDto" : {
        "type" : "object",
        "description" : "Container for preview information objects",
        "properties" : {
          "preview" : {
            "type" : "array",
            "description" : "List of preview information for different formats and types",
            "items" : {
              "$ref" : "#/components/schemas/PreviewInfoTypeDto"
            }
          }
        }
      },
      "ProductPreviewRefsTypeDto" : {
        "type" : "object",
        "description" : "Container for product preview references containing item information",
        "properties" : {
          "itm" : {
            "type" : "array",
            "description" : "List of item references for product previews",
            "items" : {
              "$ref" : "#/components/schemas/ItemTypeDto"
            }
          }
        }
      },
      "ProductTypeDto" : {
        "type" : "object",
        "description" : "Product information including articles and variations with attributes and relationships",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Product name"
          },
          "node" : {
            "type" : "string",
            "format" : "/ (forward slash) - as separator",
            "description" : "Node path to product"
          },
          "clazz" : {
            "type" : "string",
            "description" : "classification identifier"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksTypeDto",
            "description" : "Relations to assets/channels/products"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Additional info"
          },
          "vals" : {
            "$ref" : "#/components/schemas/ValuesTypeDto",
            "description" : "Attributes values. link:#_product_attributes_values[More info about product attribute values]"
          },
          "articles" : {
            "$ref" : "#/components/schemas/ArticlesTypeDto",
            "description" : "List of children articles"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier"
          }
        }
      },
      "ProductsTypeDto" : {
        "type" : "object",
        "description" : "Container for product collections with metadata",
        "properties" : {
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Additional metadata information"
          },
          "product" : {
            "type" : "array",
            "description" : "List of product objects",
            "items" : {
              "$ref" : "#/components/schemas/ProductTypeDto"
            }
          }
        }
      },
      "ProjectDefinitionTypeDto" : {
        "type" : "object",
        "description" : "Project definition containing attribute definitions and configuration",
        "properties" : {
          "attrDefs" : {
            "$ref" : "#/components/schemas/AttributeDefinitionsTypeDto",
            "description" : "Project attribute definitions"
          },
          "config" : {
            "$ref" : "#/components/schemas/ConfigTypeDto",
            "description" : "Project configuration settings"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier"
          }
        },
        "required" : [ "tid" ]
      },
      "ProjectDefinitionsTypeDto" : {
        "type" : "object",
        "description" : "Container for project definition collections with operational mode",
        "properties" : {
          "projectDef" : {
            "type" : "array",
            "description" : "List of project definition objects",
            "items" : {
              "$ref" : "#/components/schemas/ProjectDefinitionTypeDto"
            }
          },
          "mode" : {
            "type" : "string",
            "description" : "Operation mode for project definitions"
          }
        }
      },
      "ProjectTypeDto" : {
        "type" : "object",
        "description" : "Project entity containing hierarchical structure, metadata, and product relationships",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Project name"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Project metadata information"
          },
          "vals" : {
            "$ref" : "#/components/schemas/ValuesTypeDto",
            "description" : "Project attribute values"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksTypeDto",
            "description" : "Project relationships and links"
          },
          "project" : {
            "description" : "Child projects in hierarchical structure"
          },
          "peos" : {
            "$ref" : "#/components/schemas/PeosTypeDto",
            "description" : "Product entities within project"
          },
          "peoHierarchy" : {
            "$ref" : "#/components/schemas/ProductsTypeDto",
            "description" : "Product hierarchy structure"
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Unique project identifier"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier"
          },
          "parentId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Parent project identifier"
          },
          "parentTid" : {
            "type" : "string",
            "description" : "Parent project technical identifier"
          },
          "type" : {
            "type" : "string",
            "description" : "Project type classification"
          },
          "orderSequence" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Project ordering sequence"
          }
        }
      },
      "ProjectsTypeDto" : {
        "type" : "object",
        "description" : "Container for project collections with operational mode",
        "properties" : {
          "project" : {
            "type" : "array",
            "description" : "List of project objects",
            "items" : {
              "$ref" : "#/components/schemas/ProjectTypeDto"
            }
          },
          "mode" : {
            "type" : "string",
            "description" : "Operation mode for projects"
          }
        }
      },
      "ReferenceTypeDto" : {
        "type" : "object",
        "description" : "Reference to another object by technical identifier",
        "properties" : {
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier of the referenced object"
          }
        }
      },
      "ReferencesTypeDto" : {
        "type" : "object",
        "description" : "Container for reference objects and relationships",
        "properties" : {
          "reference" : {
            "type" : "array",
            "description" : "List of reference objects",
            "items" : {
              "$ref" : "#/components/schemas/ReferenceTypeDto"
            }
          }
        }
      },
      "ResponseTypeDto" : {
        "type" : "object",
        "description" : "Response containing status information about performed operations with success, error, or warning details",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Operation result status",
            "enum" : [ "SUCCESS", "ERROR", "WARNING" ]
          },
          "description" : {
            "type" : "string",
            "description" : "General description of the response"
          },
          "issues" : {
            "type" : "array",
            "description" : "List of issues encountered during operation",
            "items" : {
              "$ref" : "#/components/schemas/ItemsTypeDto"
            }
          },
          "details" : {
            "$ref" : "#/components/schemas/ItemsTypeDto",
            "description" : "Response details"
          },
          "dataType" : {
            "type" : "string",
            "description" : "Type of data being processed",
            "enum" : [ "product", "attrDefinition", "assetDefinition", "classification", "general", "unknown", "article", "project", "variant", "tagDefinition", "classNode", "attribute", "template", "peo", "mixed", "projectTypes", "locale", "asset", "productPreviewRefs", "keyword", "dir", "glossary", "variation", "link" ]
          },
          "tid" : {
            "type" : "string",
            "description" : "Tid of processed object"
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Id of processed object"
          },
          "action" : {
            "type" : "string",
            "description" : "Performed action"
          },
          "path" : {
            "type" : "string",
            "description" : "Path of processed object"
          },
          "key" : {
            "type" : "string",
            "description" : "Key identifier of the object"
          },
          "nodePath" : {
            "type" : "string",
            "description" : "Path to the classification node"
          },
          "nodeId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "ID of the classification node"
          }
        },
        "required" : [ "status" ]
      },
      "ResponsesTypeDto" : {
        "type" : "object",
        "description" : "Container for multiple response objects with operation status information",
        "properties" : {
          "response" : {
            "type" : "array",
            "description" : "List of individual response objects",
            "items" : {
              "$ref" : "#/components/schemas/ResponseTypeDto"
            }
          }
        }
      },
      "RncTypeDto" : {
        "type" : "object",
        "description" : "Root Node Configuration containing filesystem access configuration and metadata",
        "properties" : {
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Key/value info of RNC record"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical id (identifier) of RNC"
          }
        },
        "required" : [ "tid" ]
      },
      "RncsTypeDto" : {
        "type" : "object",
        "description" : "Container for Root Node Configuration (RNC) collections representing filesystem access configurations",
        "properties" : {
          "rnc" : {
            "type" : "array",
            "description" : "List of Root Node Configuration objects",
            "items" : {
              "$ref" : "#/components/schemas/RncTypeDto"
            }
          }
        }
      },
      "TagDefinitionTypeDto" : {
        "type" : "object",
        "description" : "Tag definition containing value and technical identifier",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "Tag definition value"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier of the tag definition"
          }
        }
      },
      "TagDefinitionsTypeDto" : {
        "type" : "object",
        "description" : "Container for tag definition objects",
        "properties" : {
          "tagDef" : {
            "type" : "array",
            "description" : "List of tag definitions",
            "items" : {
              "$ref" : "#/components/schemas/TagDefinitionTypeDto"
            }
          }
        }
      },
      "TagTypeDto" : {
        "type" : "object",
        "description" : "Tag object containing metadata and identification information",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "Tag value content"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier"
          }
        }
      },
      "TagsTypeDto" : {
        "type" : "object",
        "description" : "Container for tag metadata and labeling information",
        "properties" : {
          "tag" : {
            "type" : "array",
            "description" : "List of tag objects",
            "items" : {
              "$ref" : "#/components/schemas/TagTypeDto"
            }
          }
        }
      },
      "TemplateTypeDto" : {
        "type" : "object",
        "description" : "Template definition containing metadata and classification nodes",
        "properties" : {
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Template metadata information"
          },
          "node" : {
            "type" : "array",
            "description" : "Template classification nodes",
            "items" : {
              "$ref" : "#/components/schemas/NodeTypeDto"
            }
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier"
          },
          "clazz" : {
            "type" : "string",
            "description" : "Template class definition"
          }
        },
        "required" : [ "tid" ]
      },
      "TemplatesTypeDto" : {
        "type" : "object",
        "description" : "Container for template collections with operational mode",
        "properties" : {
          "template" : {
            "type" : "array",
            "description" : "List of template objects",
            "items" : {
              "$ref" : "#/components/schemas/TemplateTypeDto"
            }
          },
          "mode" : {
            "type" : "string",
            "description" : "Operation mode for templates"
          }
        }
      },
      "TooltipTypeDto" : {
        "type" : "object",
        "description" : "Tooltip information with localized content items",
        "properties" : {
          "itm" : {
            "type" : "array",
            "description" : "List of tooltip items with content",
            "items" : {
              "$ref" : "#/components/schemas/ItemTypeDto"
            }
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier of the tooltip"
          }
        }
      },
      "ValidationTypeDto" : {
        "type" : "object",
        "description" : "Validation rules and constraints for attribute values",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Regular expression of the form"
          },
          "minLength" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum length"
          },
          "maxLength" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum length"
          }
        }
      },
      "ValueTypeDto" : {
        "type" : "object",
        "description" : "Value object containing attribute data with localization and metadata",
        "properties" : {
          "itm" : {
            "type" : "array",
            "description" : "List of item values",
            "items" : {
              "$ref" : "#/components/schemas/ItemTypeDto"
            }
          },
          "i18N" : {
            "type" : "array",
            "description" : "List of internationalization objects",
            "items" : {
              "$ref" : "#/components/schemas/I18NTypeDto"
            }
          },
          "tags" : {
            "$ref" : "#/components/schemas/TagsTypeDto",
            "description" : "Tags associated with the value"
          },
          "attr" : {
            "type" : "string",
            "description" : "Attribute identifier"
          },
          "type" : {
            "type" : "string",
            "description" : "Value type identifier"
          },
          "origin" : {
            "type" : "string",
            "description" : "Origin identifier"
          },
          "inheritance" : {
            "type" : "string",
            "description" : "Inheritance type"
          },
          "parent" : {
            "type" : "string",
            "description" : "Parent identifier"
          },
          "node" : {
            "type" : "string",
            "description" : "Node identifier"
          },
          "dataType" : {
            "type" : "string",
            "description" : "Data type identifier"
          },
          "mode" : {
            "type" : "string",
            "description" : "Operation mode"
          }
        }
      },
      "ValuesTypeDto" : {
        "type" : "object",
        "description" : "Container for value objects with attributes and localization",
        "properties" : {
          "val" : {
            "type" : "array",
            "description" : "List of value objects",
            "items" : {
              "$ref" : "#/components/schemas/ValueTypeDto"
            }
          }
        }
      },
      "VariantTypeDto" : {
        "type" : "object",
        "description" : "Product variant containing detailed information and attributes",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Variant identifier"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Addtitional info"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksTypeDto",
            "description" : "Object relationships and links"
          },
          "vals" : {
            "$ref" : "#/components/schemas/ValuesTypeDto",
            "description" : "Attributes values. More info about product attributes values"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier"
          }
        }
      },
      "VariantsTypeDto" : {
        "type" : "object",
        "description" : "Container for product variants",
        "properties" : {
          "variant" : {
            "type" : "array",
            "description" : "List of variant objects",
            "items" : {
              "$ref" : "#/components/schemas/VariantTypeDto"
            }
          }
        }
      },
      "VariationTypeDto" : {
        "type" : "object",
        "description" : "Asset variation definition with metadata and parent-child relationships",
        "properties" : {
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Metadata information for the variation"
          },
          "assetId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Asset identifier for the variation"
          },
          "assetTid" : {
            "type" : "string",
            "description" : "Technical identifier of the asset"
          },
          "parentTid" : {
            "type" : "string",
            "description" : "Technical identifier of the parent asset"
          }
        }
      },
      "VariationTypeTypeDto" : {
        "type" : "object",
        "description" : "Variation type definition with technical identifier",
        "properties" : {
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier for the variation type"
          }
        }
      },
      "VariationTypesTypeDto" : {
        "type" : "object",
        "description" : "Container for multiple variation type definitions",
        "properties" : {
          "variationType" : {
            "type" : "array",
            "description" : "List of variation type definitions",
            "items" : {
              "$ref" : "#/components/schemas/VariationTypeTypeDto"
            }
          }
        }
      },
      "VariationsTypeDto" : {
        "type" : "object",
        "description" : "Container for multiple variation definitions",
        "properties" : {
          "variation" : {
            "type" : "array",
            "description" : "List of variation definitions",
            "items" : {
              "$ref" : "#/components/schemas/VariationTypeDto"
            }
          }
        }
      },
      "VersionTypeDto" : {
        "type" : "object",
        "description" : "Asset version information with metadata and identifiers",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of a version"
          },
          "meta" : {
            "$ref" : "#/components/schemas/MetaTypeDto",
            "description" : "Version metadata information"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical id"
          },
          "assetTid" : {
            "type" : "string",
            "description" : "Asset technical id"
          },
          "assetId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Asset id"
          }
        }
      },
      "VersionsTypeDto" : {
        "type" : "object",
        "description" : "Container for asset version collections",
        "properties" : {
          "version" : {
            "type" : "array",
            "description" : "List of version objects",
            "items" : {
              "$ref" : "#/components/schemas/VersionTypeDto"
            }
          }
        }
      },
      "BulkStartRequestDto" : {
        "type" : "object",
        "properties" : {
          "configIdentifier" : {
            "type" : "string",
            "example" : "F.WorkflowConfig.DAM"
          },
          "processStartRequests" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProcessStartRequestDto"
            }
          }
        }
      },
      "LinkedObjectDto" : {
        "type" : "object",
        "description" : "Use either ID or TID but not both",
        "properties" : {
          "tid" : {
            "type" : "string",
            "example" : "3b6d12b1-43a3-4541-921e-b9512570863a"
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1337
          },
          "type" : {
            "type" : "string",
            "enum" : [ "file", "product", "peo", "project", "glossary" ],
            "example" : "file"
          }
        }
      },
      "ParameterDto" : {
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "example" : "date_parameter"
          },
          "type" : {
            "type" : "string",
            "description" : "Date Parameter must be in Camunda specific date format yyyy-MM-dd'T'HH:mm:ss.SSSZ, which represents a date with milliseconds and timezone information, e.g., 2016-01-25T13:33:42.165+0100.",
            "enum" : [ "string", "double", "integer", "long", "boolean", "date", "language" ],
            "example" : "date"
          },
          "values" : {
            "type" : "array",
            "items" : {
              "type" : "object"
            }
          }
        }
      },
      "ProcessStartRequestDto" : {
        "type" : "object",
        "properties" : {
          "linkedObjects" : {
            "type" : "array",
            "description" : "array of linked Objects",
            "items" : {
              "$ref" : "#/components/schemas/LinkedObjectDto"
            }
          },
          "parameters" : {
            "type" : "array",
            "description" : "array of parameters",
            "items" : {
              "$ref" : "#/components/schemas/ParameterDto"
            }
          }
        }
      },
      "IssueDto" : {
        "type" : "object",
        "description" : "Detailed description of the issue",
        "properties" : {
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "example" : 1003
          },
          "description" : {
            "type" : "string",
            "example" : "The resource already exists"
          },
          "details" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "example" : {
              "tid" : "3b2d55b1-4313-4551-971e-b9512570863a"
            }
          }
        }
      },
      "ResponseDto" : {
        "type" : "object",
        "properties" : {
          "tid" : {
            "type" : "string",
            "example" : "3b2d55b1-4313-4551-971e-b9512570863a"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "success", "error" ]
          },
          "dataType" : {
            "type" : "string",
            "enum" : [ "product", "asset", "channel", "message", "workflow" ]
          },
          "supportId" : {
            "type" : "string",
            "example" : "af2d55b0-4f13-4551-971e-b9512570863a"
          },
          "issues" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/IssueDto"
            }
          }
        },
        "required" : [ "status", "tid" ]
      },
      "ProductRequestDto" : {
        "type" : "object",
        "description" : "Request object for retrieving product information",
        "properties" : {
          "tids" : {
            "type" : "array",
            "description" : "Filter parameter, data item TIDs, identifying unique objects. The value of this parameter will be preferred over ids.",
            "items" : {
              "type" : "string"
            }
          },
          "ids" : {
            "type" : "array",
            "description" : "Filter parameter, data item IDs, identifying unique objects. The value of this parameter will be preferred over nodePaths.",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          }
        }
      },
      "ProductQueryDto" : {
        "type" : "object",
        "description" : "Query object for product filtering with modification dates, node paths, and search strategy",
        "properties" : {
          "modifiedFrom" : {
            "type" : "string",
            "description" : "Filter parameter, lower bound of change interval. The value of this parameter will be combined with modifiedUntil using a logical AND."
          },
          "modifiedUntil" : {
            "type" : "string",
            "description" : "Filter parameter, upper bound of change interval. The value of this parameter will be combined with modifiedFrom using a logical AND."
          },
          "nodePaths" : {
            "type" : "array",
            "description" : "Filter parameter, classification nodes to export.",
            "items" : {
              "type" : "string"
            }
          },
          "searchStrategy" : {
            "type" : "string",
            "description" : "The bean name of search strategy. If this parameter will be empty - default strategy will be used for search."
          }
        }
      },
      "NodesRequestDto" : {
        "type" : "object",
        "description" : "Allows to retrieve node by path with depth level, or nodes by ids: Use Classification identifier to get a root node, Use 'path' and 'level' to get children of the node, Use 'ids' to get specified nodes",
        "properties" : {
          "path" : {
            "type" : "string",
            "description" : "Node path"
          },
          "level" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Depth level to get more children nodes"
          },
          "classificationId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Classification identity to retrieve a root node of the classification"
          },
          "classificationTid" : {
            "type" : "string",
            "description" : "Classification identifier to retrieve a root node of the classification"
          },
          "ids" : {
            "type" : "array",
            "description" : "Nodes identities to retrieve",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          }
        }
      },
      "NodesQueryRequestDto" : {
        "type" : "object",
        "description" : "Object to fetch ids of nodes that match a parameter. Query only for one group. [Find by product] Query only by one parameter from the group. [Find by attribute] Query only by one parameter from the group.",
        "properties" : {
          "productTid" : {
            "type" : "string",
            "description" : "[Find by product] Product tid to find related node"
          },
          "productId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "[Find by product] Product id to find related node"
          },
          "attributeDefinitionTid" : {
            "type" : "string",
            "description" : "[Find by attribute] attribute definition tid to find related nodes"
          },
          "attributeDefinitionId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "[Find by attribute] attribute definition id to find related nodes"
          },
          "attributeId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "[Find by attribute] attribute id to find related node"
          }
        }
      },
      "AccessRightsDto" : {
        "type" : "object",
        "description" : "Access rights configuration defining visibility and editability permissions",
        "properties" : {
          "visible" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "boolean"
            },
            "description" : "Map of visibility permissions by field/resource identifier"
          },
          "editable" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "boolean"
            },
            "description" : "Map of editability permissions by field/resource identifier"
          }
        }
      },
      "AttributeValueDto" : {
        "type" : "object",
        "description" : "Value of an attribute containing items, internationalization, tags, and metadata",
        "properties" : {
          "items" : {
            "type" : "array",
            "description" : "List of value items for this attribute",
            "items" : {
              "$ref" : "#/components/schemas/ValueItemDto"
            }
          },
          "i18N" : {
            "type" : "array",
            "description" : "Internationalization values for this attribute",
            "items" : {
              "$ref" : "#/components/schemas/I18NValueDto"
            }
          },
          "tags" : {
            "type" : "array",
            "description" : "Tags associated with this attribute value",
            "items" : {
              "$ref" : "#/components/schemas/TagDto"
            }
          },
          "key" : {
            "type" : "string",
            "description" : "Attribute key identifier"
          },
          "type" : {
            "type" : "string",
            "description" : "Attribute type"
          },
          "origin" : {
            "type" : "string",
            "description" : "Origin of the attribute value"
          },
          "inheritance" : {
            "type" : "boolean",
            "description" : "Whether this attribute value is inherited"
          },
          "parent" : {
            "type" : "string",
            "description" : "Parent attribute identifier"
          },
          "node" : {
            "type" : "string",
            "description" : "Node where this attribute value is defined"
          },
          "dataType" : {
            "type" : "string",
            "description" : "Data type of the attribute value"
          },
          "accessRights" : {
            "$ref" : "#/components/schemas/AccessRightsDto",
            "description" : "Access rights configuration for this attribute value"
          }
        }
      },
      "DataItemDto" : {
        "type" : "object",
        "description" : "Data Item object contains the data item object itself (e.g. Product, Article, Variation for PIM, assets for MAM, etc.) and the whole its hierarchy of related objects (parent and children items, if any). Attribute values of the data items are included.",
        "properties" : {
          "tID" : {
            "type" : "string",
            "description" : "technical ID, identifying unique object. It's unique over all software systems around OMN."
          },
          "name" : {
            "type" : "string",
            "description" : "name of the data item"
          },
          "informationType" : {
            "type" : "string",
            "description" : "type of the data item (e.g. Product, Article, Variation, Asset, etc.)"
          },
          "node" : {
            "type" : "string",
            "description" : "name of the node, where data item is stored"
          },
          "class" : {
            "type" : "string",
            "description" : "name of data item classification"
          },
          "meta" : {
            "type" : "array",
            "description" : "additional indirect information about data item",
            "items" : {
              "$ref" : "#/components/schemas/ValueItemDto"
            }
          },
          "values" : {
            "type" : "array",
            "description" : "attribute values associated with this data item",
            "items" : {
              "$ref" : "#/components/schemas/AttributeValueDto"
            }
          },
          "children" : {
            "type" : "array",
            "description" : "child data items in the hierarchy",
            "items" : {
              "$ref" : "#/components/schemas/DataItemDto"
            }
          }
        }
      },
      "I18NValueDto" : {
        "type" : "object",
        "description" : "Internationalized value items of an attribute value",
        "properties" : {
          "items" : {
            "type" : "array",
            "description" : "List of value items for this locale",
            "items" : {
              "$ref" : "#/components/schemas/ValueItemDto"
            }
          },
          "locale" : {
            "type" : "string",
            "description" : "Locale identifier for the internationalized values"
          }
        }
      },
      "TagDto" : {
        "type" : "object",
        "description" : "Tag object with technical identifier",
        "properties" : {
          "tID" : {
            "type" : "string",
            "description" : "Technical ID, identifying unique object. It's unique over all software systems around OMN."
          }
        }
      },
      "ValueItemDto" : {
        "type" : "object",
        "description" : "The value of an attribute itself with additional meta properties",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "The actual value content"
          },
          "position" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Position of the item in a sequence"
          },
          "key" : {
            "type" : "string",
            "description" : "Key identifier for the value"
          },
          "locale" : {
            "type" : "string",
            "description" : "Locale identifier for the value"
          }
        }
      },
      "DataItemGetByIdsRequestDto" : {
        "type" : "object",
        "description" : "Request object for retrieving data items by their unique identifiers",
        "properties" : {
          "identities" : {
            "type" : "array",
            "description" : "List of unique identifiers for data items to retrieve",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "DataItemsResponseDto" : {
        "type" : "object",
        "description" : "Response containing data items with metadata and state information",
        "properties" : {
          "meta" : {
            "$ref" : "#/components/schemas/DataItemsResponseMetaDto",
            "description" : "Metadata information about used formats"
          },
          "results" : {
            "type" : "array",
            "description" : "List of data item results",
            "items" : {
              "$ref" : "#/components/schemas/DataItemDto"
            }
          },
          "states" : {
            "type" : "array",
            "description" : "List of state information for data items",
            "items" : {
              "$ref" : "#/components/schemas/DataItemsResponseStatesDto"
            }
          }
        }
      },
      "DataItemsResponseIssuesDto" : {
        "type" : "object",
        "description" : "Issue information from data item responses including error codes and descriptions",
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Error or issue code"
          },
          "description" : {
            "type" : "string",
            "description" : "Human-readable description of the issue"
          },
          "content" : {
            "type" : "array",
            "description" : "Additional content related to the issue",
            "items" : {
              "$ref" : "#/components/schemas/ValueItemDto"
            }
          }
        }
      },
      "DataItemsResponseMetaDto" : {
        "type" : "object",
        "description" : "Metadata information about used formats and patterns for data display",
        "properties" : {
          "numberFormatLocale" : {
            "type" : "string",
            "description" : "Locale used for number formatting"
          },
          "numberFormatPattern" : {
            "type" : "string",
            "description" : "Pattern used for number formatting"
          },
          "datePattern" : {
            "type" : "string",
            "description" : "Pattern used for date formatting"
          }
        }
      },
      "DataItemsResponseStatesDto" : {
        "type" : "object",
        "description" : "State information for products/data items including status and issues",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Current status of the data item"
          },
          "dataType" : {
            "type" : "string",
            "description" : "Type of the data item"
          },
          "tid" : {
            "type" : "string",
            "description" : "Technical identifier of the data item"
          },
          "issues" : {
            "type" : "array",
            "description" : "List of issues related to this data item",
            "items" : {
              "$ref" : "#/components/schemas/DataItemsResponseIssuesDto"
            }
          }
        }
      },
      "ClassificationRequestDto" : {
        "type" : "object",
        "description" : "Request object for retrieving classification information with optional node structures",
        "properties" : {
          "tids" : {
            "type" : "array",
            "description" : "Filter parameter, classifications TIDs, identifying unique objects.",
            "items" : {
              "type" : "string"
            }
          },
          "ids" : {
            "type" : "array",
            "description" : "Filter parameter, classifications IDs, identifying unique objects.",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "withNodes" : {
            "type" : "boolean",
            "description" : "True if node elements should be added, default is false."
          },
          "flatNodes" : {
            "type" : "boolean",
            "description" : "True if classification nodes structure should be flat, default is true."
          }
        }
      },
      "AttributesRetrieveRequestDto" : {
        "type" : "object",
        "description" : "Request object for retrieving detailed attribute information with optional domain values and defaults",
        "properties" : {
          "ids" : {
            "type" : "array",
            "description" : "Filter parameter, attribute IDs, identifying unique objects.",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "productIds" : {
            "type" : "array",
            "description" : "Filter parameter, product IDs, identifying unique objects.",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "productTids" : {
            "type" : "array",
            "description" : "Filter parameter, product TIDs, identifying unique objects.",
            "items" : {
              "type" : "string"
            }
          },
          "nodeIds" : {
            "type" : "array",
            "description" : "Filter parameter, node IDs.",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "nodePaths" : {
            "type" : "array",
            "description" : "Filter parameter, node paths.",
            "items" : {
              "type" : "string"
            }
          },
          "includeParentAttributes" : {
            "type" : "boolean",
            "description" : "True if inherited attributes should be included, 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"
          },
          "withDomainValues" : {
            "type" : "boolean",
            "description" : "Whether to include domain values in the response"
          },
          "withDefaultValues" : {
            "type" : "boolean",
            "description" : "Whether to include default values in the response"
          }
        }
      },
      "AttributesQueryRequestDto" : {
        "type" : "object",
        "description" : "Object to fetch ids of attributes that match parameters. Use 'productId' to query product attributes by product id, 'productTid' to query product attributes by product tid, 'nodeId' to query node attributes by node id, 'nodePath' to query node attributes by node path",
        "properties" : {
          "productId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Filter parameter, product id"
          },
          "productTid" : {
            "type" : "string",
            "description" : "Filter parameter, product tid"
          },
          "nodeId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Filter parameter, node id"
          },
          "nodePath" : {
            "type" : "string",
            "description" : "Filter parameter, node path"
          },
          "includeParentAttributes" : {
            "type" : "boolean",
            "description" : "True if inherited attributes should be included, 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"
          }
        }
      },
      "AttributesRequestDto" : {
        "type" : "object",
        "description" : "Request object for retrieving attribute information",
        "properties" : {
          "ids" : {
            "type" : "array",
            "description" : "Filter parameter, attribute IDs, identifying unique objects.",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          }
        }
      },
      "AttributeDefinitionsRequestDto" : {
        "type" : "object",
        "description" : "Request object for retrieving attribute definitions with optional bulk export",
        "properties" : {
          "tids" : {
            "type" : "array",
            "description" : "Filter parameter, attribute definitions TIDs, identifying unique objects.",
            "items" : {
              "type" : "string"
            }
          },
          "ids" : {
            "type" : "array",
            "description" : "Filter parameter, attribute definitions IDs, identifying unique objects.",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "all" : {
            "type" : "boolean",
            "description" : "True if all attribute definitions should be exported."
          }
        }
      },
      "AttributeDefinitionsQueryRequestDto" : {
        "type" : "object",
        "description" : "Object to fetch ids of attributeDefinitions that match a parameter. Query only for one group. [Find by types]",
        "properties" : {
          "types" : {
            "type" : "array",
            "description" : "Filter parameter, a filter on types, array of discriminators to regard, e.g text.",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "PeoRequestDto" : {
        "type" : "object",
        "description" : "Parameter object for peo requests",
        "properties" : {
          "tids" : {
            "type" : "array",
            "description" : "Filter parameter, PEO TIDs, identifying unique objects.",
            "items" : {
              "type" : "string"
            }
          },
          "ids" : {
            "type" : "array",
            "description" : "Filter parameter, PEO IDs, identifying unique objects.",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "namesOnly" : {
            "type" : "boolean",
            "description" : "If true, only the names of the PEOs are returned. This is advisable if only the names are needed, as it improves performance"
          },
          "withMetadata" : {
            "type" : "boolean",
            "description" : "true if metadata element should be added, default is false"
          }
        }
      },
      "PeoQueryDto" : {
        "type" : "object",
        "description" : "Parameter object for peo query requests",
        "properties" : {
          "modifiedFrom" : {
            "type" : "string",
            "description" : "Filter parameter, lower bound of change interval. The value of this parameter will be combined with other filter parameters using a logical AND."
          },
          "modifiedUntil" : {
            "type" : "string",
            "description" : "Filter parameter, upper bound of change interval. The value of this parameter will be combined with other filter parameters using a logical AND."
          },
          "names" : {
            "type" : "array",
            "description" : "The names of the PEOs to retrieve",
            "items" : {
              "type" : "string"
            }
          },
          "tidProject" : {
            "type" : "string",
            "description" : "Filter parameter, get all peos for a project given by tid. The value of this parameter will be combined with other filter parameters using a logical AND."
          },
          "tidProduct" : {
            "type" : "string",
            "description" : "Filter parameter, get all peos for a product given by tid. The value of this parameter will be combined with other filter parameters using a logical AND."
          },
          "withChildren" : {
            "type" : "boolean",
            "description" : "when tidProject is set this specifies if the peos linked to child projects should be exported as well, default is true"
          },
          "considerLinkRelation" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Also consider the relation modification date in case a date is set"
          }
        }
      },
      "DirectoryRequestDto" : {
        "type" : "object",
        "description" : "Request object for retrieving directory information from Root Node Configuration",
        "properties" : {
          "rncTid" : {
            "type" : "string",
            "description" : "A unique identifier of RNC. It is used to get a list of directories of the given RNC"
          },
          "dirTid" : {
            "type" : "string",
            "description" : "A unique identity of a directory (Metatag GUID). It is used to get a list of sub-directories of the given directory"
          },
          "dirPath" : {
            "type" : "string",
            "description" : "A directory path. It includes RNC identifier and relative path of the given directory"
          },
          "level" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "It defines how many level should be loaded. Default value is 1. -1 means to load all levels. 0 means don't load sub-directories but only the matching folder itself"
          }
        }
      },
      "AssetVersionUploadRequestDto" : {
        "type" : "object",
        "description" : "Request object for uploading asset versions with optional protection and timeout settings",
        "properties" : {
          "versionComment" : {
            "type" : "string",
            "description" : "Version comment for a source asset"
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Id of the asset for which the version is being created"
          },
          "tid" : {
            "type" : "string",
            "description" : "Tid of the asset for which the version is being created"
          },
          "timeoutDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Date until when version will be stored"
          },
          "protectedAfterDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Date from when version will be protected"
          },
          "protectedBeforeDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Date until when version will be protected"
          }
        }
      },
      "VariationRequestDto" : {
        "type" : "object",
        "description" : "Request to get variations for objects. Allow to get asset variations by tids or by ids or by paths",
        "properties" : {
          "assetIds" : {
            "type" : "array",
            "description" : "Unique identities of asset",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "assetTids" : {
            "type" : "array",
            "description" : "Unique identifiers of a asset (Metatag GUIDs)",
            "items" : {
              "type" : "string"
            }
          },
          "assetPaths" : {
            "type" : "array",
            "description" : "Unique paths to an asset",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "AssetVariationUploadRequestDto" : {
        "type" : "object",
        "description" : "Request object for uploading asset variations with specific type and filename",
        "properties" : {
          "tid" : {
            "type" : "string",
            "description" : "Tid of the asset for which the variation is being linked"
          },
          "variationType" : {
            "type" : "string",
            "description" : "Specific variation type"
          },
          "variationFileName" : {
            "type" : "string",
            "description" : "File name of new variation. The parameter is optional. If has not been set then the name will be taken from provided file."
          }
        }
      },
      "AssetRequestDto" : {
        "type" : "object",
        "description" : "Request object for retrieving asset information with optional metadata, history, and previews",
        "properties" : {
          "tids" : {
            "type" : "array",
            "description" : "Filter parameter, asset TIDs (Metatag GUID), identifying unique objects.",
            "items" : {
              "type" : "string"
            }
          },
          "ids" : {
            "type" : "array",
            "description" : "Filter parameter, asset IDs, identifying unique objects.",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "formats" : {
            "type" : "array",
            "description" : "Filter parameter, asset formats, identifying preview format or asset.",
            "items" : {
              "type" : "string"
            }
          },
          "retrieveHistory" : {
            "type" : "boolean",
            "description" : "It defines whether history should be retrieved"
          },
          "retrievePreviews" : {
            "type" : "boolean",
            "description" : "It defines whether previews info should be retrieved"
          },
          "retrieveMeta" : {
            "type" : "boolean",
            "description" : "It defines whether meta info should be retrieved"
          }
        }
      },
      "AssetQueryDto" : {
        "type" : "object",
        "description" : "Query object for asset filtering with modification dates, file types, file names, and directory restrictions",
        "properties" : {
          "modifiedFrom" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Filter parameter, lower bound of change interval. The value of this parameter will be combined with other filters using logical AND"
          },
          "modifiedUntil" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Filter parameter, upper bound of change interval. The value of this parameter will be combined with other filters using logical AND."
          },
          "fileTypes" : {
            "type" : "array",
            "description" : "Filter parameter, a filter on file types, array of discriminators to regard, e.g IMG. The value of this parameter will be combined with other filters using logical AND.",
            "items" : {
              "type" : "string"
            }
          },
          "fileNames" : {
            "type" : "array",
            "description" : "Filter parameter, a filter on file names, array of file names to regard, e.g test.jpg. The value of this parameter will be combined with other filters using logical AND.",
            "items" : {
              "type" : "string"
            }
          },
          "directory" : {
            "$ref" : "#/components/schemas/DirectoryIdentifierDto",
            "description" : "Directory identifier for filtering assets within specific directories"
          }
        }
      },
      "DirectoryIdentifierDto" : {
        "type" : "object",
        "description" : "Directory identifier with multiple ways to reference a directory (TID, ID, or path)",
        "properties" : {
          "tid" : {
            "type" : "string",
            "description" : "Technical ID of the directory"
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Primary key ID of the directory in the database"
          },
          "path" : {
            "type" : "string",
            "description" : "Path to the directory with RNC (Resource Name Context)"
          }
        }
      },
      "PreviewInfoRequestDto" : {
        "type" : "object",
        "description" : "Request object for retrieving preview information of assets",
        "properties" : {
          "assetTids" : {
            "type" : "array",
            "description" : "Assets TIDs (Metatag GUID), identifying unique objects.",
            "items" : {
              "type" : "string"
            }
          },
          "assetIds" : {
            "type" : "array",
            "description" : "Assets IDs, identifying unique objects.",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "assetPaths" : {
            "type" : "array",
            "description" : "Assets paths (Metatag GUID), identifying unique objects.",
            "items" : {
              "type" : "string"
            }
          },
          "formats" : {
            "type" : "array",
            "description" : "Asset formats, identifying preview format to be retrieved",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "PresignedUrlRequestDto" : {
        "type" : "object",
        "properties" : {
          "rncIdentifier" : {
            "type" : "string"
          },
          "method" : {
            "type" : "string",
            "enum" : [ "GET", "PUT" ]
          },
          "assetPath" : {
            "type" : "string"
          },
          "assetTid" : {
            "type" : "string"
          },
          "assetId" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "HistoryRequestDto" : {
        "type" : "object",
        "description" : "Request object for retrieving asset history information",
        "properties" : {
          "tids" : {
            "type" : "array",
            "description" : "Filter parameter, asset TIDs (Metatag GUID), identifying unique objects.",
            "items" : {
              "type" : "string"
            }
          },
          "ids" : {
            "type" : "array",
            "description" : "Filter parameter, asset IDs, identifying unique objects.",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "paths" : {
            "type" : "array",
            "description" : "Filter parameter, asset paths, identifying unique objects.",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "CheckinRequestDto" : {
        "type" : "object",
        "properties" : {
          "rncIdentifier" : {
            "type" : "string"
          },
          "assetPath" : {
            "type" : "string"
          },
          "assetTid" : {
            "type" : "string"
          },
          "assetId" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "MessageDto" : {
        "type" : "object",
        "description" : "Message object containing communication details and metadata",
        "properties" : {
          "tid" : {
            "type" : "string",
            "description" : "The technical id of the message which can optionally be set by the client"
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "The internal system id of the message"
          },
          "creationDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The date when the message was persisted."
          },
          "subject" : {
            "type" : "string",
            "description" : "The subject of the message."
          },
          "body" : {
            "type" : "string",
            "description" : "The main body text of the message."
          },
          "severity" : {
            "type" : "string",
            "description" : "The severity level of the message.",
            "enum" : [ "INFO", "WARN", "ERROR" ]
          },
          "recipientUser" : {
            "type" : "string",
            "description" : "The name of the user this message is sent to."
          },
          "recipientRole" : {
            "type" : "string",
            "description" : "The name of the role this message is sent to."
          },
          "senderUser" : {
            "type" : "string",
            "description" : "The name of the user who sent this message."
          },
          "senderApplication" : {
            "type" : "string",
            "description" : "The name of the application who sent this message."
          },
          "senderPlugin" : {
            "type" : "string",
            "description" : "The name of the plugin who sent this message."
          },
          "isRead" : {
            "type" : "boolean",
            "description" : "Indicates if this message is read."
          },
          "parameters" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Additional properties of this message."
          }
        },
        "required" : [ "body", "senderApplication", "senderPlugin", "subject" ]
      },
      "MessagesPersistRequestDto" : {
        "type" : "object",
        "description" : "Request object for persisting multiple message objects",
        "properties" : {
          "messages" : {
            "type" : "array",
            "description" : "List of messages to be persisted",
            "items" : {
              "$ref" : "#/components/schemas/MessageDto"
            }
          }
        }
      },
      "LocaleRequestDto" : {
        "type" : "object",
        "description" : "Request object for retrieving locale information",
        "properties" : {
          "ids" : {
            "type" : "array",
            "description" : "Locale ids",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "tids" : {
            "type" : "array",
            "description" : "Locale identifiers. Each identifier consists of a language- and country-code separated by an underscore '_'",
            "items" : {
              "type" : "string"
            }
          },
          "mode" : {
            "type" : "string",
            "description" : "Retrieve mode",
            "enum" : [ "ID", "TID", "ALL", "CONTENT", "FRONTEND" ]
          },
          "exportConfig" : {
            "type" : "boolean",
            "description" : "Option to retrieve locales with additional information. E.g. custom date formats"
          }
        },
        "required" : [ "mode" ]
      },
      "KeywordRequestDto" : {
        "type" : "object",
        "description" : "Request object for retrieving keyword hierarchy with optional linked items",
        "properties" : {
          "path" : {
            "type" : "string",
            "description" : "A keyword path"
          },
          "level" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "It defines how many level should be loaded. Default value is 1. -1 means to load all levels. 0 is invalid value"
          },
          "retrieveLinks" : {
            "type" : "boolean",
            "description" : "It defines whether linked to keyword items should be retrieved or not"
          }
        }
      },
      "GlossaryRequestDto" : {
        "type" : "object",
        "description" : "Request object for retrieving glossary information and terms",
        "properties" : {
          "names" : {
            "type" : "array",
            "description" : "The names of the glossaries to retrieve",
            "items" : {
              "type" : "string"
            }
          },
          "ids" : {
            "type" : "array",
            "description" : "The ids of the glossaries to retrieve",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "retrieveEntries" : {
            "type" : "boolean",
            "description" : "It defines whether the contained entries (terms and sentences) should be included in the response"
          },
          "sourceLocales" : {
            "type" : "array",
            "description" : "Limits the source languages to the specified list of locales. Default: empty array which means all languages",
            "items" : {
              "type" : "string"
            }
          },
          "targetLocales" : {
            "type" : "array",
            "description" : "Limits the target languages to the specified list of locales. Default: empty array which means all languages",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "ChannelRequestDto" : {
        "type" : "object",
        "description" : "Request object for retrieving channel information with linked assets and PEO hierarchy options",
        "properties" : {
          "tids" : {
            "type" : "array",
            "description" : "Filter parameter, Project TIDs, identifying unique project. The value of this parameter will be preferred over id.",
            "items" : {
              "type" : "string"
            }
          },
          "ids" : {
            "type" : "array",
            "description" : "Filter parameter, Project ID, identifying unique project. The value of this parameter will be disregarded if tid is set.",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "includePeoHierarchy" : {
            "type" : "boolean",
            "description" : "Include PAV hierarchy of linked peos"
          },
          "retrieveLinkedAssets" : {
            "type" : "boolean",
            "description" : "Retrieve assets linked to the channel"
          },
          "retrieveLinkedAssetsBehavior" : {
            "type" : "string",
            "description" : "Controls the behavior of how the linked assets are retrieved",
            "enum" : [ "direct", "withChildren", "withDescendants" ]
          }
        }
      },
      "ChannelQueryDto" : {
        "type" : "object",
        "description" : "Query object for channel filtering with project identification, hierarchy levels, and child inclusion options",
        "properties" : {
          "tid" : {
            "type" : "string",
            "description" : "Filter parameter, Project TID, identifying unique project. The value of this parameter will be preferred over id."
          },
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Filter parameter, Project ID, identifying unique project. The value of this parameter will be disregarded if tid is set."
          },
          "withChildren" : {
            "type" : "boolean",
            "description" : "DEPRECATED. Use level instead. Export child projects as well, default is true. If set to false the 'level' parameter will be ignored and no children will be returned."
          },
          "level" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "description" : "How deep in the hierarchy child projects should be returned. 0 will return only the requested project without children. 1 will return the project itself and first grade immediate child projects. And so on. Default is 100 for legacy compatibilty of 'withChildren', so make sure to set this to a more appropriate value",
            "minimum" : 0
          },
          "root" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Return all root level projects. When this is set to true all other parameters are ignored."
          }
        }
      },
      "ChannelBriefingRequestBriefingInfoDto" : {
        "type" : "object",
        "description" : "Info about BriefingModule Plugin Configuration and Language",
        "properties" : {
          "locale" : {
            "type" : "string",
            "description" : "OMN Locale in which to retrieve the briefing information"
          },
          "briefingModuleCfgTid" : {
            "type" : "string",
            "description" : "TID of the BriefingModule Plugin Configuration (the plugin configuration identifier)"
          }
        }
      },
      "ChannelBriefingRequestDto" : {
        "type" : "object",
        "description" : "Request object for channel briefing with project identifiers and briefing information",
        "properties" : {
          "tids" : {
            "type" : "array",
            "description" : "Filter parameter, Project TIDs, identifying unique project. The value of this parameter will be preferred over id.",
            "items" : {
              "type" : "string"
            }
          },
          "ids" : {
            "type" : "array",
            "description" : "Filter parameter, Project ID, identifying unique project. The value of this parameter will be disregarded if tid is set.",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "briefingInfo" : {
            "$ref" : "#/components/schemas/ChannelBriefingRequestBriefingInfoDto",
            "description" : "Briefing information object containing detailed briefing data"
          }
        }
      },
      "DataItemPatchResponseDto" : {
        "type" : "object",
        "description" : "Response DTO for data item patch operations containing results",
        "properties" : {
          "results" : {
            "type" : "array",
            "description" : "List of individual patch operation results",
            "items" : {
              "$ref" : "#/components/schemas/DataItemPatchResponseItemDto"
            }
          }
        }
      },
      "DataItemPatchResponseItemDto" : {
        "type" : "object",
        "description" : "Individual result item for data item patch operation",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Status of the patch operation (e.g., SUCCESS, ERROR)"
          },
          "description" : {
            "type" : "string",
            "description" : "Description of the patch operation result"
          },
          "dataType" : {
            "type" : "string",
            "description" : "Type of data being patched"
          },
          "tID" : {
            "type" : "string",
            "description" : "Transaction ID of the patch operation"
          },
          "action" : {
            "type" : "string",
            "description" : "Action performed during the patch operation"
          }
        }
      },
      "AttributeDefinitionDto" : {
        "type" : "object",
        "description" : "Attribute Definition object contains the basic domain information and its limitations of a data item property. They are used to define further attributes of the data items (e.g. products).",
        "properties" : {
          "tID" : {
            "type" : "string",
            "description" : "technical ID, identifying unique object. It's unique over all software systems around OMN."
          },
          "type" : {
            "type" : "string",
            "description" : "Attribute definition type"
          },
          "domain" : {
            "type" : "string",
            "description" : "Domain specification for the attribute"
          },
          "meta" : {
            "type" : "array",
            "description" : "additional indirect information about attribute definition",
            "items" : {
              "$ref" : "#/components/schemas/ValueItemDto"
            }
          },
          "name" : {
            "type" : "array",
            "description" : "Attribute definition name with localization",
            "items" : {
              "$ref" : "#/components/schemas/ValueItemDto"
            }
          },
          "abbreviation" : {
            "$ref" : "#/components/schemas/ValueCollectionDto",
            "description" : "Abbreviation for the attribute definition"
          },
          "tooltip" : {
            "$ref" : "#/components/schemas/ValueCollectionDto",
            "description" : "Tooltip information for the attribute"
          },
          "defaultValue" : {
            "$ref" : "#/components/schemas/ValueCollectionDto",
            "description" : "Default value configuration"
          },
          "multiValued" : {
            "$ref" : "#/components/schemas/MultiValuedDto",
            "description" : "Multi-value capability configuration"
          },
          "validation" : {
            "$ref" : "#/components/schemas/ValidationDto",
            "description" : "Validation rules for the attribute"
          },
          "domainValues" : {
            "$ref" : "#/components/schemas/DomainValuesDto",
            "description" : "Domain values configuration"
          },
          "domainRange" : {
            "$ref" : "#/components/schemas/DomainRangeDto",
            "description" : "Domain range configuration"
          },
          "tags" : {
            "type" : "array",
            "description" : "Tags associated with the attribute definition",
            "items" : {
              "$ref" : "#/components/schemas/TagDto"
            }
          },
          "references" : {
            "type" : "array",
            "description" : "References to other objects",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "AttributeDto" : {
        "type" : "object",
        "description" : "Attribute object contains the domain information and its limitations about data in data items (e.g. in products or assets). This object also implies information about its attribute definition.",
        "properties" : {
          "id" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Attribute identity"
          },
          "key" : {
            "type" : "string",
            "description" : "Attribute key identifier"
          },
          "level" : {
            "type" : "string",
            "description" : "Attribute level in the hierarchy"
          },
          "inheritance" : {
            "type" : "string",
            "description" : "Inheritance behavior of the attribute"
          },
          "restriction" : {
            "type" : "string",
            "description" : "Access restriction settings for the attribute"
          },
          "localized" : {
            "type" : "boolean",
            "description" : "Whether the attribute supports localization"
          },
          "cardinality" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of values allowed for this attribute"
          },
          "option" : {
            "type" : "string",
            "description" : "Attribute option settings"
          },
          "defaultValue" : {
            "$ref" : "#/components/schemas/ValueCollectionDto",
            "description" : "Default value configuration for the attribute"
          },
          "domainValue" : {
            "$ref" : "#/components/schemas/DomainValuesDto",
            "description" : "Domain values configuration for the attribute"
          },
          "domainRange" : {
            "$ref" : "#/components/schemas/DomainRangeDto",
            "description" : "Domain range configuration for the attribute"
          },
          "definition" : {
            "$ref" : "#/components/schemas/AttributeDefinitionDto",
            "description" : "Attribute definition containing detailed metadata"
          }
        }
      },
      "AttributesDto" : {
        "type" : "object",
        "description" : "Container for a collection of attribute definitions and results",
        "properties" : {
          "results" : {
            "type" : "array",
            "description" : "List of attribute definitions or results",
            "items" : {
              "$ref" : "#/components/schemas/AttributeDto"
            }
          }
        }
      },
      "DomainRangeDto" : {
        "type" : "object",
        "description" : "Describes the range limitations of an attribute",
        "properties" : {
          "from" : {
            "type" : "string",
            "description" : "Lower bound of the range"
          },
          "to" : {
            "type" : "string",
            "description" : "Upper bound of the range"
          },
          "intOnly" : {
            "type" : "boolean",
            "description" : "Whether only integer values are allowed within the range"
          }
        }
      },
      "DomainValuesDto" : {
        "type" : "object",
        "description" : "Describes the domain values and their behaviour",
        "properties" : {
          "allowNewValue" : {
            "type" : "boolean",
            "description" : "Whether new values are allowed beyond the predefined domain values"
          },
          "sortDirection" : {
            "type" : "string",
            "description" : "Sort direction for the domain values"
          },
          "sortLanguageId" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Language by which sorting is applied"
          },
          "domainValues" : {
            "type" : "array",
            "description" : "List of predefined domain values",
            "items" : {
              "$ref" : "#/components/schemas/ValueCollectionDto"
            }
          }
        }
      },
      "MultiValuedDto" : {
        "type" : "object",
        "description" : "Shows whether an attribute is multivalued",
        "properties" : {
          "value" : {
            "type" : "boolean",
            "description" : "Whether the attribute allows multiple values"
          },
          "cardinality" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of values allowed"
          }
        }
      },
      "ValidationDto" : {
        "type" : "object",
        "description" : "Describes limitations of an attribute",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Validation type"
          },
          "minLength" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum length constraint"
          },
          "maxLength" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum length constraint"
          }
        }
      },
      "ValueCollectionDto" : {
        "type" : "object",
        "description" : "Describes the concrete identified collection of values",
        "properties" : {
          "tID" : {
            "type" : "string",
            "description" : "Technical ID, identifying unique object. It's unique over all software systems around OMN."
          },
          "items" : {
            "type" : "array",
            "description" : "List of value items in the collection",
            "items" : {
              "$ref" : "#/components/schemas/ValueItemDto"
            }
          }
        }
      }
    },
    "securitySchemes" : {
      "bearerAuth" : {
        "type" : "http",
        "description" : "Bearer Authentication: OMN JWT access token",
        "scheme" : "bearer",
        "bearerFormat" : "JWT"
      }
    }
  }
}