elytra_client/openapi.yaml
claudi 05fca294f9 Add initial project structure and tests for Elytra PIM Client
- Created pyproject.toml for project metadata and dependencies.
- Added requirements.txt for development and production dependencies.
- Implemented basic test structure in the tests module.
- Developed unit tests for ElytraClient, including Pydantic validation and error handling.
2026-02-20 09:08:43 +01:00

6466 lines
225 KiB
YAML

openapi: 3.1.1
info:
version: 1.0.0
title: Elytra PIM Web APIs
contact:
email: support@elytra.ch
url: https://www.elytra.ch/
x-logo:
url: /openapi/elytra-logo.png
description: |
Elytra PIM Web APIs.
servers:
- url: https://example.com/api/v1
tags:
- name: Product
description: Product operations.
- name: Product Group
description: Product Group operations.
- name: Tree Group
description: Tree Group operations.
- name: Attribute
description: Attribute operations.
- name: Attribute Group
description: Attribute Group operations.
- name: Media
description: Media operations.
- name: Text
description: Text operations.
paths:
/products:
get:
tags:
- Product
summary: Get all products
description: |
Get all products. Optionally filter by product group ID to retrieve only products that belong to a specific group.
**Query Parameters:**
- Use `groupId` to filter products by group (queries the `prod_to_grp` linking table)
- Products include originals, copies, and variants
- Results are paginated and can be language-filtered
operationId: getAllProducts
security:
- bearer_api_key: []
parameters:
- name: lang
in: query
description: Language code
examples:
german:
description: German
value: de
english:
description: English
value: en
schema:
type: string
- name: page
in: query
description: Page number
schema:
type: integer
minimum: 1
default: 1
- name: limit
in: query
description: Number of products to return
schema:
type: integer
minimum: 1
maximum: 200
default: 10
- name: groupId
in: query
description: Optional product group ID to filter products by. When provided, only returns products that belong to the specified group.
required: false
schema:
type: integer
minimum: 1
example: 44471
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleProductResponse'
total:
type: integer
example: 100
description: The total number of products
page:
type: integer
example: 1
description: The current page number
limit:
type: integer
example: 10
description: The number of products per page
links:
type: object
description: The links to follow for pagination
properties:
self:
type: string
example: /products?page=2&limit=10&lang=de&groupId=44471
description: The current page of products
next:
type:
- string
- 'null'
example: /products?page=3&limit=10&lang=de&groupId=44471
description: The next page of products, "null" if it's the last page
previous:
type:
- string
- 'null'
example: /products?page=1&limit=10&lang=de&groupId=44471
description: The previous page of products, "null" if it's the first page
first:
type: string
example: /products?page=1&limit=10&lang=de&groupId=44471
description: The first page of products
last:
type: string
example: /products?page=9&limit=10&lang=de&groupId=44471
description: The last page of products
'403':
description: Forbidden
'404':
description: User not found
post:
tags:
- Product
summary: Create a new product
description: Create a new product
operationId: createProduct
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SingleProductResponse'
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SingleNewProductRequestBody'
description: New product object
required: true
patch:
tags:
- Product
summary: Update a product
description: Update a product
operationId: updateProduct
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleProductResponse'
totalItemsUpdated:
type: integer
example: 1
description: The total number of products updated
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SingleUpdateProductRequestBody'
description: Update product object
required: true
/products/bulk:
post:
tags:
- Product
summary: Create multiple new products
description: Create multiple new products in bulk
operationId: createMultipleProducts
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleProductResponse'
totalItemsCreated:
type: integer
example: 10
description: The total number of products created
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SingleNewProductRequestBody'
description: Array of new product objects
required: true
patch:
tags:
- Product
summary: Update multiple products
description: Update multiple products in bulk
operationId: updateMultipleProducts
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleProductResponse'
totalItemsUpdated:
type: integer
example: 10
description: The total number of products updated
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SingleUpdateProductRequestBody'
description: Array of product objects to update
required: true
/products/{productId}:
get:
tags:
- Product
summary: Get product by ID
description: |
Get a product by product ID
operationId: getProductById
parameters:
- name: productId
in: path
description: The ID of the product that needs to be fetched
required: true
schema:
type: number
- name: lang
in: query
description: Language code
examples:
german:
description: German
value: de
english:
description: English
value: en
schema:
type: string
security:
- bearer_api_key: []
responses:
'200':
description: Success
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/SingleProductResponse'
- type: object
properties:
children:
type: array
description: The immediate children of the product
items:
type: object
properties:
id:
type: integer
description: The ID of the child object
example: 1
name:
type: string
description: The name of the child object
example: Child-Object
type:
type: string
description: The type of the child object
enum:
- product
- variant
- text
- media
'403':
description: Forbidden
'404':
description: User not found
delete:
tags:
- Product
summary: Delete product by ID
description: Delete product by ID
operationId: deleteProduct
parameters:
- name: productId
in: path
description: The ID of the product
required: true
schema:
type: number
security:
- bearer_api_key: []
responses:
'200':
description: OK
'403':
description: Forbidden
'404':
description: User not found
/products/{productId}/hierarchy:
get:
tags:
- Product
summary: Get the hierarchy of a product
description: Get the hierarchy of a product
operationId: getProductHierarchy
parameters:
- name: productId
in: path
description: The ID of the product
required: true
schema:
type: number
- name: depth
in: query
description: The depth of the hierarchy
required: false
schema:
type: integer
minimum: 1
default: 10
security:
- bearer_api_key: []
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ProductHierarchyResponse'
'403':
description: Forbidden
'404':
description: User not found
/products/operation:
post:
tags:
- Product
summary: Perform an operation on a product
description: |
Perform an operation on a product. Available operations:
- **copy**: Copy the product with all children to a new parent. Requires a product group as parent.
- **move**: Move the product to a new parent. Accepts product or product group as parent.
- **link**: Link the product to a new parent. Accepts product or product group as parent.
- **copy-structure**: Copy the group structure but link products. Requires a product group as parent.
operationId: performProductOperation
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SingleProductResponse'
'400':
description: Invalid request. For copy and copy-structure operations, parentId must be a product group.
'404':
description: Product or parent not found
requestBody:
content:
application/json:
schema:
type: object
required:
- operation
- productId
- parentId
properties:
operation:
type: string
description: |
The operation to perform:
- copy: Requires product group as parent
- move: Accepts product or product group as parent
- link: Accepts product or product group as parent
- copy-structure: Requires product group as parent
example: copy
enum:
- copy
- move
- link
- copy-structure
productId:
type: integer
description: The ID of the product to perform the operation on
example: 1
parentId:
type: integer
description: |
The ID of the destination parent.
For copy and copy-structure operations, this must be a product group ID.
For move and link operations, this can be either a product or product group ID.
example: 1
description: Perform operation on product
required: true
/groups:
get:
tags:
- Product Group
summary: Get all product groups
description: Get all product groups
operationId: getAllProductGroups
security:
- bearer_api_key: []
parameters:
- name: lang
in: query
description: Language code
examples:
german:
description: German
value: de
english:
description: English
value: en
schema:
type: string
- name: page
in: query
description: Page number
schema:
type: integer
minimum: 1
default: 1
- name: limit
in: query
description: Number of product groups to return per page
schema:
type: integer
minimum: 1
maximum: 200
default: 10
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleProductGroupResponse'
total:
type: integer
example: 100
description: The total number of product groups
page:
type: integer
example: 1
description: The current page number
limit:
type: integer
example: 10
description: The number of product groups per page
links:
type: object
description: The links to follow for pagination
properties:
self:
type: string
example: /groups?page=2&limit=10&lang=de
description: The current page of product groups
next:
type:
- string
- 'null'
example: /groups?page=3&limit=10&lang=de
description: The next page of product groups, "null" if it's the last page
previous:
type:
- string
- 'null'
example: /groups?page=1&limit=10&lang=de
description: The previous page of product groups, "null" if it's the first page
first:
type: string
example: /groups?page=1&limit=10&lang=de
description: The first page of product groups
last:
type: string
example: /groups?page=9&limit=10&lang=de
description: The last page of product groups
'403':
description: Forbidden
'404':
description: User not found
post:
tags:
- Product Group
summary: Create a product group
description: Create a product group
operationId: createProductGroup
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SingleProductGroupResponse'
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SingleNewProductGroupRequestBody'
description: New product group object
required: true
patch:
tags:
- Product Group
summary: Update a product group
description: Update a product group
operationId: updateProductGroup
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SingleProductGroupResponse'
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SingleUpdateProductGroupRequestBody'
description: Update product group object
required: true
/groups/{groupId}:
get:
tags:
- Product Group
summary: Get product group by ID
description: Get product group by ID
operationId: getProductGroupById
parameters:
- name: groupId
in: path
description: The ID of the product group
required: true
schema:
type: number
security:
- bearer_api_key: []
responses:
'200':
description: Success
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/SingleProductGroupResponse'
- type: object
properties:
children:
type: array
description: The immediate children of the product group
items:
type: object
properties:
id:
type: integer
description: The ID of the child object
example: 1
name:
type: string
description: The name of the child object
example: Child-Object
type:
type: string
description: The type of the child object
enum:
- product
- product-group
- text
- media
'403':
description: Forbidden
'404':
description: User not found
delete:
tags:
- Product Group
summary: Delete product group by ID
description: Delete product group by ID
operationId: deleteProductGroup
parameters:
- name: groupId
in: path
description: The ID of the product group
required: true
schema:
type: number
security:
- bearer_api_key: []
responses:
'200':
description: OK
'403':
description: Forbidden
'404':
description: User not found
/groups/{groupId}/hierarchy:
get:
tags:
- Product Group
summary: Get the hierarchy of a product group
description: Get the hierarchy of a product group
operationId: getProductGroupHierarchy
parameters:
- name: groupId
in: path
description: The ID of the product group
required: true
schema:
type: number
- name: depth
in: query
description: The depth of the hierarchy
required: false
schema:
type: integer
minimum: 1
default: 10
security:
- bearer_api_key: []
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ProductGroupHierarchyResponse'
'403':
description: Forbidden
'404':
description: User not found
/tree/groups:
get:
tags:
- Tree Group
summary: Get all tree groups
description: Get all tree groups
operationId: getAllTreeGroups
security:
- bearer_api_key: []
parameters:
- name: lang
in: query
description: Language code
examples:
german:
description: German
value: de
english:
description: English
value: en
schema:
type: string
- name: page
in: query
description: Page number
schema:
type: integer
minimum: 1
default: 1
- name: limit
in: query
description: Number of tree groups to return per page
schema:
type: integer
minimum: 1
maximum: 200
default: 10
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleTreeGroupResponse'
total:
type: integer
example: 100
description: The total number of tree groups
page:
type: integer
example: 1
description: The current page number
limit:
type: integer
example: 10
description: The number of tree groups per page
links:
type: object
description: The links to follow for pagination
properties:
self:
type: string
example: /tree/groups?page=2&limit=10&lang=de
description: The current page of tree groups
next:
type:
- string
- 'null'
example: /tree/groups?page=3&limit=10&lang=de
description: The next page of tree groups, "null" if it's the last page
previous:
type:
- string
- 'null'
example: /tree/groups?page=1&limit=10&lang=de
description: The previous page of tree groups, "null" if it's the first page
first:
type: string
example: /tree/groups?page=1&limit=10&lang=de
description: The first page of tree groups
last:
type: string
example: /tree/groups?page=9&limit=10&lang=de
description: The last page of tree groups
'403':
description: Forbidden
'404':
description: User not found
post:
tags:
- Tree Group
summary: Create a tree group
description: Create a tree group
operationId: createTreeGroup
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SingleTreeGroupResponse'
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SingleNewTreeGroupRequestBody'
description: New tree group object
required: true
patch:
tags:
- Tree Group
summary: Update a tree group
description: Update a tree group
operationId: updateTreeGroup
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SingleTreeGroupResponse'
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SingleUpdateTreeGroupRequestBody'
description: Update tree group object
required: true
/tree/groups/{treeGroupId}:
get:
tags:
- Tree Group
summary: Get tree group by ID
description: Get tree group by ID
operationId: getTreeGroupById
parameters:
- name: treeGroupId
in: path
description: The ID of the tree group
required: true
schema:
type: number
security:
- bearer_api_key: []
responses:
'200':
description: Success
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/SingleTreeGroupResponse'
- type: object
properties:
children:
type: array
description: The immediate children of the tree group
items:
type: object
properties:
id:
type: integer
description: The ID of the child object
example: 1
name:
type: string
description: The name of the child object
example: Child-Object
type:
type: string
description: The type of the child object
enum:
- tree-group
- product-group
- catalog-group
'403':
description: Forbidden
'404':
description: User not found
delete:
tags:
- Tree Group
summary: Delete tree group by ID
description: Delete tree group by ID
operationId: deleteTreeGroup
parameters:
- name: treeGroupId
in: path
description: The ID of the tree group
required: true
schema:
type: number
security:
- bearer_api_key: []
responses:
'200':
description: OK
'403':
description: Forbidden
'404':
description: User not found
/tree/groups/hierarchy:
get:
tags:
- Tree Group
summary: Get the hierarchy of tree groups
description: Get the hierarchy of tree groups
operationId: getTreeGroupHierarchy
parameters:
- name: depth
in: query
description: The depth of the hierarchy
required: false
schema:
type: integer
minimum: 1
default: 10
security:
- bearer_api_key: []
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TreeGroupHierarchyResponse'
'403':
description: Forbidden
'404':
description: User not found
/attributes:
get:
tags:
- Attribute
summary: Get all attribute definitions
description: |
Get all attribute definitions
operationId: getAllAttributes
security:
- bearer_api_key: []
parameters:
- name: lang
in: query
description: Language code
examples:
german:
description: German
value: de
english:
description: English
value: en
schema:
type: string
- name: page
in: query
description: Page number
schema:
type: integer
minimum: 1
default: 1
- name: limit
in: query
description: Number of attributes to return
schema:
type: integer
minimum: 1
maximum: 200
default: 10
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleAttributeResponse'
total:
type: integer
example: 100
description: The total number of attributes
page:
type: integer
example: 1
description: The current page number
limit:
type: integer
example: 10
description: The number of attributes per page
links:
type: object
description: The links to follow for pagination
properties:
self:
type: string
example: /attributes?page=2&limit=10&lang=de
description: The current page of attributes
next:
type:
- string
- 'null'
example: /attributes?page=3&limit=10&lang=de
description: The next page of attributes, "null" if it's the last page
previous:
type:
- string
- 'null'
example: /attributes?page=1&limit=10&lang=de
description: The previous page of attributes, "null" if it's the first page
first:
type: string
example: /attributes?page=1&limit=10&lang=de
description: The first page of attributes
last:
type: string
example: /attributes?page=9&limit=10&lang=de
description: The last page of attributes
'403':
description: Forbidden
'404':
description: User not found
post:
tags:
- Attribute
summary: Create a new attribute definition
description: Create a new attribute definition
operationId: createAttribute
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SingleAttributeResponse'
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SingleNewAttributeRequestBody'
description: New attribute definition object
required: true
patch:
tags:
- Attribute
summary: Update an attribute definition
description: Update an attribute definition
operationId: updateAttribute
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SingleAttributeResponse'
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SingleUpdateAttributeRequestBody'
description: Update attribute definition object
required: true
/attributes/bulk:
post:
tags:
- Attribute
summary: Create multiple new attribute definitions
description: Create multiple new attribute definitions in bulk
operationId: createMultipleAttributes
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleAttributeResponse'
totalItemsCreated:
type: integer
example: 10
description: The total number of attributes created
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SingleNewAttributeRequestBody'
description: Array of new attribute definition objects
required: true
patch:
tags:
- Attribute
summary: Update multiple attribute definitions
description: Update multiple attribute definitions in bulk
operationId: updateMultipleAttributes
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleAttributeResponse'
totalItemsUpdated:
type: integer
example: 10
description: The total number of attributes updated
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SingleUpdateAttributeRequestBody'
description: Array of attribute definition objects to update
required: true
/attributes/{attributeId}:
get:
tags:
- Attribute
summary: Get attribute definition by ID
description: |
Get attribute definition by ID
operationId: getAttributeById
parameters:
- name: attributeId
in: path
description: The ID of the attribute definition that needs to be fetched
required: true
schema:
type: string
- name: lang
in: query
description: Language code
examples:
german:
description: German
value: de
english:
description: English
value: en
schema:
type: string
security:
- bearer_api_key: []
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SingleAttributeResponse'
'403':
description: Forbidden
'404':
description: User not found
delete:
tags:
- Attribute
summary: Delete attribute definition by ID
description: Delete attribute definition by ID
operationId: deleteAttributeById
parameters:
- name: attributeId
in: path
description: The ID of the attribute definition
required: true
schema:
type: number
security:
- bearer_api_key: []
responses:
'200':
description: OK
'403':
description: Forbidden
'404':
description: User not found
/attributes/name/{attributeName}:
get:
tags:
- Attribute
summary: Get attribute definition by name
description: |
Get attribute definition by name
operationId: getAttributeByName
parameters:
- name: attributeName
in: path
description: The independent name of the attribute definition that needs to be fetched
required: true
schema:
type: string
- name: lang
in: query
description: Language code
examples:
german:
description: German
value: de
english:
description: English
value: en
schema:
type: string
security:
- bearer_api_key: []
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SingleAttributeResponse'
'403':
description: Forbidden
'404':
description: User not found
/attribute/groups:
get:
tags:
- Attribute Group
summary: Get all attribute groups
description: |
Get all attribute groups
operationId: getAllAttributeGroups
security:
- bearer_api_key: []
parameters:
- name: lang
in: query
description: Language code
examples:
german:
description: German
value: de
english:
description: English
value: en
schema:
type: string
- name: page
in: query
description: Page number
schema:
type: integer
minimum: 1
default: 1
- name: limit
in: query
description: Number of attribute groups to return
schema:
type: integer
minimum: 1
maximum: 200
default: 10
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleAttributeGroupResponse'
total:
type: integer
example: 100
description: The total number of attribute groups
page:
type: integer
example: 1
description: The current page number
limit:
type: integer
example: 10
description: The number of attribute groups per page
links:
type: object
description: The links to follow for pagination
properties:
self:
type: string
example: /attribute/groups?page=2&limit=10&lang=de
description: The current page of attribute groups
next:
type:
- string
- 'null'
example: /attribute/groups?page=3&limit=10&lang=de
description: The next page of attribute groups, "null" if it's the last page
previous:
type:
- string
- 'null'
example: /attribute/groups?page=1&limit=10&lang=de
description: The previous page of attribute groups, "null" if it's the first page
first:
type: string
example: /attribute/groups?page=1&limit=10&lang=de
description: The first page of attribute groups
last:
type: string
example: /attribute/groups?page=9&limit=10&lang=de
description: The last page of attribute groups
'403':
description: Forbidden
'404':
description: User not found
post:
tags:
- Attribute Group
summary: Create one or more new attribute groups
description: Create one or more new attribute groups
operationId: createAttributeGroups
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleAttributeGroupResponse'
totalItemsCreated:
type: integer
example: 1
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/SingleNewAttributeGroupRequestBody'
title: Single Product
- type: array
title: Multiple Products
items:
$ref: '#/components/schemas/SingleNewAttributeGroupRequestBody'
description: New attribute definition object
required: true
patch:
tags:
- Attribute Group
summary: Update one or more attribute groups
description: Update one or more attribute groups
operationId: updateAttributeGroups
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleAttributeGroupResponse'
totalItemsCreated:
type: integer
example: 1
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/SingleUpdateAttributeGroupRequestBody'
title: Single Attribute Group
- type: array
title: Multiple Attribute Groups
items:
$ref: '#/components/schemas/SingleUpdateAttributeGroupRequestBody'
description: Update attribute group object
required: true
/attribute/groups/{attributeGroupId}:
delete:
tags:
- Attribute Group
summary: Delete attribute group by ID
description: Delete attribute group by ID
operationId: deleteAttributeGroupById
parameters:
- name: attributeGroupId
in: path
description: The ID of the attribute group
required: true
schema:
type: number
security:
- bearer_api_key: []
responses:
'200':
description: OK
'403':
description: Forbidden
'404':
description: User not found
/attribute/groups/id/{attributeGroupId}:
get:
tags:
- Attribute Group
summary: Get attribute group by ID
description: |
Get attribute group by ID
operationId: getAttributeGroupById
parameters:
- name: attributeGroupId
in: path
description: The ID of the attribute group that needs to be fetched
required: true
schema:
type: string
- name: lang
in: query
description: Language code
examples:
german:
description: German
value: de
english:
description: English
value: en
schema:
type: string
security:
- bearer_api_key: []
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SingleAttributeGroupResponse'
'403':
description: Forbidden
'404':
description: User not found
/attribute/groups/name/{attributeGroupName}:
get:
tags:
- Attribute Group
summary: Get attribute group by name
description: |
Get attribute group by name
operationId: getAttributeGroupName
parameters:
- name: attributeGroupName
in: path
description: The independent name of the attribute group that needs to be fetched
required: true
schema:
type: string
- name: lang
in: query
description: Language code
examples:
german:
description: German
value: de
english:
description: English
value: en
schema:
type: string
security:
- bearer_api_key: []
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SingleAttributeGroupResponse'
'403':
description: Forbidden
'404':
description: User not found
/attribute/groups/operations/add:
post:
tags:
- Attribute Group
summary: Add attributes to an attribute group
description: Add attributes to an attribute group
operationId: addAttributesToAttributeGroup
security:
- bearer_api_key: []
responses:
'200':
description: OK
'403':
description: Forbidden
'404':
description: User not found
requestBody:
content:
application/json:
schema:
oneOf:
- type: object
title: By Attribute ID
required:
- attributeGroupId
- attributeIds
properties:
attributeGroupId:
type: integer
description: The ID of the attribute group
example: 1
attributeIds:
type: array
description: The IDs of the attributes to add to the attribute group
items:
type: integer
description: The ID of the attribute
example: 1
- type: object
title: By Attribute Name
required:
- attributeGroupId
- attributeNames
properties:
attributeGroupId:
type: integer
description: The ID of the attribute group
example: 1
attributeNames:
type: array
description: The names of the attributes to add to the attribute group
items:
type: string
description: The name of the attribute
example: product_id
description: Add attributes to an attribute group
required: true
/attribute/groups/hierarchy/{attributeGroupId}:
get:
tags:
- Attribute Group
summary: Get the hierarchy of an attribute group
description: Get the hierarchy of an attribute group
operationId: getAttributeGroupHierarchy
parameters:
- name: attributeGroupId
in: path
description: The ID of the attribute group
required: true
schema:
type: number
- name: depth
in: query
description: The depth of the hierarchy
required: false
schema:
type: integer
minimum: 1
default: 10
security:
- bearer_api_key: []
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AttributeGroupHierarchyResponse'
'403':
description: Forbidden
'404':
description: User not found
/media:
get:
tags:
- Media
summary: Get all media descriptors
description: |
Get all media descriptors.
operationId: getAllMedia
security:
- bearer_api_key: []
parameters:
- name: lang
in: query
description: Language code
examples:
german:
description: German
value: de
english:
description: English
value: en
schema:
type: string
- name: page
in: query
description: Page number
schema:
type: integer
minimum: 1
default: 1
- name: limit
in: query
description: Number of media items to return
schema:
type: integer
minimum: 1
maximum: 200
default: 10
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleMediaResponse'
total:
type: integer
example: 100
description: The total number of media items
page:
type: integer
example: 1
description: The current page number
limit:
type: integer
example: 10
description: The number of media items per page
links:
type: object
description: The links to follow for pagination
properties:
self:
type: string
example: /media?page=2&limit=10&lang=de
description: The current page of media items
next:
type:
- string
- 'null'
example: /media?page=3&limit=10&lang=de
description: The next page of media items, "null" if it's the last page
previous:
type:
- string
- 'null'
example: /media?page=1&limit=10&lang=de
description: The previous page of media items, "null" if it's the first page
first:
type: string
example: /media?page=1&limit=10&lang=de
description: The first page of media items
last:
type: string
example: /media?page=9&limit=10&lang=de
description: The last page of media items
'403':
description: Forbidden
'404':
description: User not found
post:
tags:
- Media
summary: Create a new media descriptor
description: Create a new media descriptor (metadata only, content uploaded separately)
operationId: createMedia
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SingleMediaResponse'
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SingleNewMediaRequestBody'
description: New media object
required: true
patch:
tags:
- Media
summary: Update media descriptor
description: Update media descriptor by ID
operationId: updateMedia
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SingleMediaResponse'
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SingleUpdateMediaRequestBody'
description: Update media object
required: true
/media/bulk:
post:
tags:
- Media
summary: Create multiple media descriptors
description: Create multiple media descriptors
operationId: createMultipleMedia
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleMediaResponse'
totalItemsCreated:
type: integer
example: 10
description: The total number of media items created
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SingleNewMediaRequestBody'
description: Array of new media objects
required: true
patch:
tags:
- Media
summary: Update multiple media items
description: Update multiple media descriptors
operationId: updateMultipleMedia
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleMediaResponse'
totalItemsUpdated:
type: integer
example: 10
description: The total number of media items updated
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SingleUpdateMediaRequestBody'
description: Array of media objects to update
required: true
/media/{mediaId}:
get:
tags:
- Media
summary: Get media by ID
description: |
Get a media descriptor by media ID
operationId: getMediaById
parameters:
- name: mediaId
in: path
description: The ID of the media that needs to be fetched
required: true
schema:
type: number
- name: lang
in: query
description: Language code
examples:
german:
description: German
value: de
english:
description: English
value: en
schema:
type: string
security:
- bearer_api_key: []
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SingleMediaResponse'
'403':
description: Forbidden
'404':
description: User not found
delete:
tags:
- Media
summary: Delete media by ID
description: Delete media by ID
operationId: deleteMedia
parameters:
- name: mediaId
in: path
description: The ID of the media descriptor
required: true
schema:
type: number
security:
- bearer_api_key: []
responses:
'200':
description: OK
'403':
description: Forbidden
'404':
description: User not found
/media/file/{mediaFileId}:
get:
tags:
- Media
summary: Download media content
description: |
Download the binary content of a media file.
operationId: getMediaContent
parameters:
- name: mediaFileId
in: path
description: The ID of the media file
required: true
schema:
type: number
security:
- bearer_api_key: []
responses:
'200':
description: Success - binary content returned
content:
'*/*':
schema:
type: string
format: binary
headers:
Content-Type:
description: The MIME type of the media content
schema:
type: string
Content-Disposition:
description: Attachment filename
schema:
type: string
Content-Length:
description: Size of the content in bytes
schema:
type: integer
'403':
description: Forbidden
'404':
description: Media not found
delete:
tags:
- Media
summary: Delete media file by ID
description: Delete media file by ID
operationId: deleteMediaFile
parameters:
- name: mediaFileId
in: path
description: The ID of the media file
required: true
schema:
type: number
security:
- bearer_api_key: []
responses:
'200':
description: OK
'403':
description: Forbidden
'404':
description: User not found
/media/file:
post:
tags:
- Media
summary: Upload media file
description: |
Upload media file for a media descriptor.
operationId: uploadMediaFile
security:
- bearer_api_key: []
requestBody:
content:
multipart/form-data:
schema:
type: object
required:
- file
- mediaId
- mamSystem
properties:
file:
type: string
format: binary
description: The media file to upload
mediaId:
type: integer
format: int64
description: The ID of the media descriptor
example: 12345
mamSystem:
type: string
description: |
The MAM system code. Possible values are:
| Value | Description |
|--------------|-------------------------------|
| `fs` | File-System |
| `sixomc` | SixOMC |
| `cumulus` | Cumulus |
example: sixomc
languageCode:
type: string
description: The language code for this media file, i.e. `de`,`en`, default is `independent`
example: independent
required: true
responses:
'200':
description: OK - content uploaded successfully
content:
application/json:
schema:
$ref: '#/components/schemas/MediaFileResponse'
'400':
description: Invalid request or file type
'403':
description: Forbidden
'404':
description: Media not found
'413':
description: File too large
/text:
get:
tags:
- Text
summary: Get all texts
description: |
Get all text items with pagination.
**Query Parameters:**
- Use `lang` to filter text contents by language
- Use `includeContent` to control whether text contents are returned
- Use `includeAttributes` to control whether attributes are returned
- Results are paginated
operationId: getAllTexts
security:
- bearer_api_key: []
parameters:
- name: page
in: query
description: Page number (1-based)
schema:
type: integer
minimum: 1
default: 1
- name: limit
in: query
description: Number of text items to return per page
schema:
type: integer
minimum: 1
maximum: 200
default: 10
- name: lang
in: query
description: Language code to filter text contents by language
required: false
examples:
german:
description: German
value: de
english:
description: English
value: en
schema:
type: string
- name: includeContent
in: query
description: Whether to include the text contents in the response. Set to false to retrieve only metadata without content.
required: false
schema:
type: boolean
default: true
example: true
- name: includeAttributes
in: query
description: Whether to include attributes in the response. Set to false to retrieve only text metadata without attributes.
required: false
schema:
type: boolean
default: true
example: true
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleTextResponse'
total:
type: integer
example: 100
description: The total number of text items
page:
type: integer
example: 1
description: The current page number
limit:
type: integer
example: 10
description: The number of text items per page
links:
type: object
description: The links to follow for pagination
properties:
self:
type: string
example: /text?page=2&limit=10&lang=de
description: The current page of text items
next:
type:
- string
- 'null'
example: /text?page=3&limit=10&lang=de
description: The next page of text items, "null" if it's the last page
previous:
type:
- string
- 'null'
example: /text?page=1&limit=10&lang=de
description: The previous page of text items, "null" if it's the first page
first:
type: string
example: /text?page=1&limit=10&lang=de
description: The first page of text items
last:
type: string
example: /text?page=9&limit=10&lang=de
description: The last page of text items
'403':
description: Forbidden
'404':
description: Not found
post:
tags:
- Text
summary: Create a new text item
description: Create a new text item with content
operationId: createText
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SingleTextResponse'
'400':
description: Invalid request
'404':
description: Not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SingleNewTextRequestBody'
description: New text object with content
required: true
patch:
tags:
- Text
summary: Update a text item
description: Update a text item with name, text type, tree, contents, and attributes.
operationId: updateText
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SingleTextResponse'
'400':
description: Invalid request
'404':
description: Not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SingleUpdateTextRequestBody'
description: Update text object
required: true
/text/bulk:
post:
tags:
- Text
summary: Create multiple new text items
description: Create multiple new text items with content in bulk
operationId: createMultipleTexts
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleTextResponse'
totalItemsCreated:
type: integer
example: 10
description: The total number of text items created
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SingleNewTextRequestBody'
description: Array of new text objects with content
required: true
patch:
tags:
- Text
summary: Update multiple text items
description: Update multiple text items with optional content in bulk
operationId: updateMultipleTexts
security:
- bearer_api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SingleTextResponse'
totalItemsUpdated:
type: integer
example: 10
description: The total number of text items updated
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SingleUpdateTextRequestBody'
description: Array of text objects to update
required: true
/text/{textId}:
get:
tags:
- Text
summary: Get text by ID
description: |
Get a text item by text ID.
The response includes the text descriptor metadata. Use query parameters to control
whether to include text contents and attributes in the response.
operationId: getTextById
parameters:
- name: textId
in: path
description: The ID of the text that needs to be fetched
required: true
schema:
type: integer
format: int64
minimum: 1
- name: lang
in: query
description: Language code to filter text contents by language
required: false
examples:
german:
description: German
value: de
english:
description: English
value: en
schema:
type: string
- name: includeContent
in: query
description: Whether to include the text contents in the response. Set to false to retrieve only metadata without content.
required: false
schema:
type: boolean
default: true
example: true
- name: includeAttributes
in: query
description: Whether to include attributes in the response. Set to false to retrieve only text metadata without attributes.
required: false
schema:
type: boolean
default: true
example: true
security:
- bearer_api_key: []
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SingleTextResponse'
'403':
description: Forbidden
'404':
description: Text not found
delete:
tags:
- Text
summary: Delete text by ID
description: Delete text by ID
operationId: deleteText
parameters:
- name: textId
in: path
description: The ID of the text
required: true
schema:
type: integer
format: int64
minimum: 1
security:
- bearer_api_key: []
responses:
'200':
description: OK
'403':
description: Forbidden
'404':
description: Text not found
components:
securitySchemes:
bearer_api_key:
type: http
scheme: bearer
schemas:
ObjectStatuses:
type: string
description: |
The status of the object
- `original`
- `copy`
- `variant`
example: original
AttributeTypes:
type: string
description: |
The type of the attribute
- `double`
- `integer`
- `date`
- `boolean`
- `float`
- `string`
- `styled-text`
- `formula`
- `barcode`
- `color`
- `page`
- `url`
- `string:string`
- `string:usage-path`
- `link:absolute`
- `link:relative`
- `grid:string`
- `layout:string`
- `enumeration:string`
- `enumeration:styled-text`
- `extended-enumeration:string`
- `extended-enumeration:styled-text`
- `class:eclass-5.1.3`
- `class:eclass-6.0.1`
- `class:eclass-6.2`
- `class:eclass-7.0`
- `class:eclass-7.1`
- `class:eclass-8.1`
- `class:eclass-9`
- `class:eclass-10`
- `class:eclass-11`
- `class:eclass-12`
- `class:eclass-13`
- `class:eclass-14`
- `class:eclass-15`
- `class:etim-4.0`
- `class:etim-5.0`
- `class:etim-6.0`
- `class:etim-7.0`
- `class:etim-8.0`
- `class:etim-9.0`
- `class:etim-10.0`
- `class:proficlass-3.0`
- `class:proficlass-5.1`
- `class:proficlass-6.0`
- `class-value:eclass-5.1.3`
- `class-value:eclass-6.0.1`
- `class-value:eclass-6.2`
- `class-value:eclass-7.0`
- `class-value:eclass-7.1`
- `class-value:eclass-8.1`
- `class-value:eclass-9`
- `class-value:eclass-10`
- `class-value:eclass-11`
- `class-value:eclass-12`
- `class-value:eclass-13`
- `class-value:eclass-14`
- `class-value:eclass-15`
- `class-value:etim-4.0`
- `class-value:etim-5.0`
- `class-value:etim-6.0`
- `class-value:etim-7.0`
- `class-value:etim-8.0`
- `class-value:etim-9.0`
- `class-value:etim-10.0`
- `class-value:proficlass-3.0`
- `class-value:proficlass-5.1`
- `class-value:proficlass-6.0`
example: enumeration:string
ProductAttributeResponse:
type: object
properties:
id:
type: integer
description: The ID of the attribute
example: 3802
attributeId:
type: integer
description: The ID of the attribute definition
example: 293
attributeName:
type: string
description: The independent name of the attribute
example: product_id
attributeType:
type: string
description: The type of the attribute
enum:
- normal
- meta
- internal
type:
$ref: '#/components/schemas/AttributeTypes'
value:
type: string
description: The value of the attribute
example: '3596'
autoSync:
type: string
description: The auto sync mode of the attribute
enum:
- copy_to_original
- original_to_copies
- none
languageCode:
type: string
description: The language code of the attribute
example: de
modified:
type: string
description: The date and time the attribute was modified
format: date-time
example: '2025-04-08T12:00:00Z'
modifierByUserId:
type: integer
description: The ID of user who modified the attribute
example: 235
inherited:
type: boolean
description: Whether the attribute is inherited
example: false
SingleProductResponse:
type: object
properties:
id:
type: integer
description: The ID of the product
example: 3801
clientId:
type: integer
description: The ID of the client
example: 231
productName:
type: string
description: The name of the product
example: A05844
treeId:
type: integer
description: The ID of the tree
example: 0
created:
type: string
description: The date and time the product was created
format: date-time
example: '2025-04-08T12:00:00Z'
modified:
type: string
description: The date and time the product was modified
format: date-time
example: '2025-04-08T12:00:00Z'
creatorUserId:
type: integer
description: The ID of user who created the product
example: 235
modifierUserId:
type: integer
description: The ID of user who modified the product
example: 235
objectStatus:
$ref: '#/components/schemas/ObjectStatuses'
originalId:
type: integer
description: The ID of the original product
example: 0
attributes:
type: array
items:
$ref: '#/components/schemas/ProductAttributeResponse'
AttributeRequestBody:
type: object
required:
- attributeId
- value
properties:
attributeId:
type: integer
description: The ID of the attribute definition
example: 1
value:
type: string
description: The value of the attribute
example: A12345
languageCode:
type: string
description: The language code of the attribute, only used if the attribute is language dependent
example: de
SingleNewProductRequestBody:
type: object
required:
- productName
- parentId
- attributeGroupId
properties:
productName:
type: string
description: The name of the product
example: A05844
parentId:
type: integer
description: The ID of the parent group or product
example: 1
attributeGroupId:
type: integer
description: The ID of the attribute group
example: 10
attributes:
type: array
description: The attributes of the product
items:
$ref: '#/components/schemas/AttributeRequestBody'
SingleUpdateProductRequestBody:
type: object
required:
- id
properties:
id:
type: integer
description: The ID of the product
example: 111
productName:
type: string
description: The name of the product
example: A05844
parentId:
type: integer
description: The ID of the parent group or product
example: 1
attributeGroupId:
type: integer
description: The ID of the attribute group
example: 10
attributes:
type: array
description: The attributes of the product
items:
$ref: '#/components/schemas/AttributeRequestBody'
ProductHierarchyResponse:
type: object
properties:
id:
type: integer
description: The ID of the node
example: 1
name:
type: string
description: The name of the node
example: Product-0
type:
type: string
description: The type of node in the hierarchy
enum:
- product
- variant
- text
- media
children:
type: array
description: The immediate children of the node
items:
$ref: '#/components/schemas/ProductHierarchyResponse'
example:
id: 1
name: Product-1
type: product
children:
- id: 2
name: Product-2
type: product
children:
- id: 3
name: Product-3
type: product
- id: 4
name: Product-variant-4
type: variant
- id: 5
name: Text-5
type: text
- id: 6
name: Media-6
type: media
- id: 7
name: Product-7
type: product
ProductGroupTypes:
type: string
description: The type of the product group
enum:
- product-tree
- catalog-tree
- catalog-page
- text-tree
- work-node
- content-node
- graphical-page
- independent-graphical-page
SingleProductGroupResponse:
type: object
properties:
id:
type: integer
description: The ID of the product group
example: 1
name:
type: string
description: The independent name of the product group
example: Product-Group
type:
$ref: '#/components/schemas/ProductGroupTypes'
parentId:
type: integer
description: The ID of the parent product group or tree group
example: 1
objectStatus:
$ref: '#/components/schemas/ObjectStatuses'
attributeGroupId:
type: integer
description: The ID of the attribute group
example: 2
clientId:
type: integer
description: The ID of the client
example: 1
translations:
type: object
description: The translations of the product group name, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: Product-Group-de
en: Product-Group-en
attributes:
type: array
items:
$ref: '#/components/schemas/ProductAttributeResponse'
SingleNewProductGroupRequestBody:
type: object
required:
- name
properties:
name:
type: string
description: The independent name of the product group
example: Product-Group
type:
$ref: '#/components/schemas/ProductGroupTypes'
description: The type of Product Group, default is `product-tree`
parentId:
type: integer
description: The ID of the parent product group or tree group
example: 1
attributeGroupId:
type: integer
description: The ID of the attribute group
example: 2
translations:
type: object
description: The translations of the product group name, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: Product-Group-de
en: Product-Group-en
attributes:
type: array
description: The attributes of the product group
items:
$ref: '#/components/schemas/AttributeRequestBody'
SingleUpdateProductGroupRequestBody:
type: object
required:
- id
properties:
id:
type: integer
description: The ID of the product group
example: 1
name:
type: string
description: The independent name of the product group
example: Product-Group
parentId:
type: integer
description: The ID of the parent product group
minimum: 1
example: 1
attributeGroupId:
type: integer
description: The ID of the attribute group
example: 2
translations:
type: object
description: The translations of the product group name, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: Product-Group-de
en: Product-Group-en
attributes:
type: array
description: The attributes of the product group
items:
$ref: '#/components/schemas/AttributeRequestBody'
ProductGroupHierarchyResponse:
type: object
properties:
id:
type: integer
description: The ID of the node
example: 1
name:
type: string
description: The name of the node
example: Product-Group
type:
type: string
description: The type of node in the hierarchy
enum:
- product-group
- product
- variant
- text
- media
children:
type: array
description: The immediate children of the node
items:
$ref: '#/components/schemas/ProductGroupHierarchyResponse'
example:
id: 1
name: Product-Group-1
type: product-group
children:
- id: 2
name: Product-Group-2
type: product-group
children:
- id: 3
name: Product-3
type: product
- id: 4
name: Product-variant-4
type: variant
- id: 5
name: Text-5
type: text
- id: 6
name: Media-6
type: media
- id: 7
name: Product-7
type: product
SingleTreeGroupResponse:
type: object
properties:
id:
type: integer
description: The ID of the tree group
example: 1
name:
type: string
description: The independent name of the tree group
example: Tree-Group
parentId:
type: integer
description: The ID of the parent tree group
example: 1
clientId:
type: integer
description: The ID of the client
example: 1
status:
type: string
description: The status of group
enum:
- normal
- internal
translations:
type: object
description: The translations of the tree group name, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: Tree-Group-de
en: Tree-Group-en
SingleNewTreeGroupRequestBody:
type: object
required:
- name
- parentId
properties:
name:
type: string
description: The name of the tree group
example: Tree-Group
parentId:
type: integer
description: The ID of the parent tree group
example: 1
status:
type: string
description: The status of the tree group
default: normal
enum:
- normal
- internal
translations:
type: object
additionalProperties:
type: string
description: The translations of the tree group name, where the key is the language code i.e. `de` or `en` and the value is the translation
example:
de: Tree-Group-de
en: Tree-Group-en
SingleUpdateTreeGroupRequestBody:
type: object
required:
- id
properties:
id:
type: integer
description: The ID of the tree group
example: 1
name:
type: string
description: The name of the tree group
example: Tree-Group
parentId:
type: integer
description: The ID of the parent tree group
example: 1
status:
type: string
description: The status of the tree group
default: normal
enum:
- normal
- internal
translations:
type: object
additionalProperties:
type: string
description: The translations of the tree group name, where the key is the language code i.e. `de` or `en` and the value is the translation
example:
de: Tree-Group-de
en: Tree-Group-en
TreeGroupHierarchyResponse:
type: object
properties:
id:
type: integer
description: The ID of the node
example: 1
name:
type: string
description: The name of the node
example: Tree-Group
type:
type: string
description: The type of node in the hierarchy
enum:
- tree-group
- product-group
children:
type: array
description: The immediate children of the node
items:
$ref: '#/components/schemas/TreeGroupHierarchyResponse'
example:
id: 1
name: Tree-Group-1
type: tree-group
children:
- id: 2
name: Tree-Group-2
type: tree-group
children:
- id: 3
name: Tree-Group-3
type: tree-group
- id: 4
name: Product-Group-4
type: product-group
- id: 5
name: Product-Group-5
type: product-group
CommonProperties:
type: object
properties:
id:
type: integer
description: The ID of the attribute
example: 1
name:
type: string
description: The independent name of the attribute
example: Attribute-1
description:
type: string
description: The description of the attribute
example: Attribute 1 description
attributeType:
type: string
description: The type of the attribute
enum:
- normal
- meta
- internal
type:
type: string
description: The type of the attribute
autoSync:
type: string
description: The auto sync mode of the attribute
enum:
- none
- copy_to_original
- original_to_copies
- copy_to_original_with_workflow
- original_to_copies_with_workflow
formatId:
type: integer
description: The ID of the attribute format
example: 1
bmeCatId:
type: string
description: The BMEcat import ID of the attribute
example: Attribute-1
neverCleanupHistory:
type: boolean
description: Whether the attribute history should never be cleaned up
example: false
workflowId:
type: integer
description: The ID of the workflow
example: 1
colorIndex:
type: integer
description: The color index of the attribute for detail panel
example: 1
translations:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: Attribute-1-de
en: Attribute-1-en
Double:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a double value
additionalProperties:
type: number
example:
de: 1.2
en: 1.3
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: number
description: The default value of the attribute
example: 0
formatId:
type: integer
description: The ID of the attribute output format
example: 1
unitTypeId:
type: integer
description: The ID of the unit type
example: 1
min:
type: number
description: The minimum value of the attribute
max:
type: number
description: The maximum value of the attribute
Integer:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the an integer value
additionalProperties:
type: integer
example:
de: 1
en: 2
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: integer
description: The default value of the attribute
example: 1
formatId:
type: integer
description: The ID of the attribute output format
example: 1
unitTypeId:
type: integer
description: The ID of the unit type
example: 1
min:
type: number
description: The minimum value of the attribute
max:
type: number
description: The maximum value of the attribute
Boolean:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a boolean value
additionalProperties:
type: boolean
example:
de: true
en: false
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: boolean
description: The default value of the attribute
example: true
formatId:
type: integer
description: The ID of the attribute output format
example: 1
Date:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a date value
additionalProperties:
type: string
format: date
example:
de: '2025-01-01'
en: '2025-01-01'
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: string
format: date
description: The default value of the attribute
example: '2025-01-01'
formatId:
type: integer
description: The ID of the attribute output format
example: 1
min:
type: string
format: date
description: The minimum value of the attribute
max:
type: string
format: date
description: The maximum value of the attribute
StyledText:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a styled text value
additionalProperties:
type: string
example:
de: <paragraph>Hello</paragraph>
en: <paragraph>Hello</paragraph>
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: string
description: The default value of the attribute
example: <paragraph>Hello</paragraph>
formatId:
type: integer
description: The ID of the attribute output format
example: 1
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
maxLength:
type: integer
description: The maximum length of the content of the attribute
example: 32768
Formula:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
formula:
type: string
description: The formula of the attribute
example: formula-string
Barcode:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
barcodeType:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the barcode type
additionalProperties:
type: string
enum:
- ean8
- ean13
- itf-14
- code128
- upc-a
- auto
- auto2
- interleaved-2of5
- qr
example:
de: ean13
en: upc-a
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
barcodeType:
type: string
description: The barcode type of the attribute
enum:
- ean8
- ean13
- itf-14
- code128
- upc-a
- auto
- auto2
- interleaved-2of5
- qr
example: ean8
Color:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
colorType:
type: string
description: The type of the color
enum:
- rgb
- cmyk
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a color value
additionalProperties:
type: string
example:
de: 255,255,255
en: 0,0,0
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: string
description: The default value of the attribute
example: 255,255,255
Page:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
Url:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the an url value
additionalProperties:
type: string
format: uri
example:
de: https://www.example.com
en: https://www.example.com
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: string
format: uri
description: The default value of the attribute
example: https://www.example.com
showPreview:
type: boolean
description: Whether the attribute should show a preview
example: true
String:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a string value
additionalProperties:
type: string
example:
de: value-de
en: value-en
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: string
description: The default value of the attribute
example: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
maxLength:
type: integer
description: The maximum length of the content of the attribute
example: 32768
StringUsagePath:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a string usage path value
additionalProperties:
type: string
example:
de: value-de
en: value-en
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: string
description: The default value of the attribute
example: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
maxLength:
type: integer
description: The maximum length of the content of the attribute
example: 32768
EnumerationString:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
defaultValue:
type: string
description: The default enumeration independent value
example: value-independent
enumerationValues:
type: array
description: The enumeration values to add
items:
type: object
properties:
value:
type: string
description: The independent enumeration value
example: value-independent
translations:
type: object
description: The translations of the enumeration value, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: value-de
en: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
EnumerationStyledText:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
defaultValue:
type: string
description: The default enumeration independent value
example: value-independent
enumerationValues:
type: array
description: The enumeration values to add
items:
type: object
properties:
value:
type: string
description: The independent enumeration value
example: value-independent
translations:
type: object
description: The translations of the enumeration value, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: value-de
en: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
ExtendedEnumerationString:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
defaultValues:
type: array
description: The default enumeration independent values
items:
type: string
description: The default enumeration independent value
example:
- value-independent
- value-independent-2
enumerationValues:
type: array
description: The enumeration values to add
items:
type: object
properties:
value:
type: string
description: The independent enumeration value
example: value-independent
translations:
type: object
description: The translations of the enumeration value, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: value-de
en: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
addValueOnlyOnce:
type: boolean
description: Whether the enumeration values should be added only once
example: true
ExtendedEnumerationStyledText:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
defaultValues:
type: array
description: The default enumeration independent values
items:
type: string
description: The default enumeration independent value
example:
- value-independent
- value-independent-2
enumerationValues:
type: array
description: The enumeration values to add
items:
type: object
properties:
value:
type: string
description: The independent enumeration value
example: value-independent
translations:
type: object
description: The translations of the enumeration value, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: value-de
en: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
addValueOnlyOnce:
type: boolean
description: Whether the enumeration values should be added only once
example: true
GridString:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
LayoutString:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
LinkAbsolute:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
LinkRelative:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
CommonClassificationProperties:
allOf:
- $ref: '#/components/schemas/CommonProperties'
- type: object
properties:
languageDependents:
allOf:
- type: object
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
SingleAttributeResponse:
discriminator:
propertyName: type
mapping:
double: '#/components/schemas/Double'
integer: '#/components/schemas/Integer'
boolean: '#/components/schemas/Boolean'
date: '#/components/schemas/Date'
styled-text: '#/components/schemas/StyledText'
formula: '#/components/schemas/Formula'
barcode: '#/components/schemas/Barcode'
color: '#/components/schemas/Color'
page: '#/components/schemas/Page'
url: '#/components/schemas/Url'
string:string: '#/components/schemas/String'
string:usage-path: '#/components/schemas/StringUsagePath'
enumeration:string: '#/components/schemas/EnumerationString'
enumeration:styled-text: '#/components/schemas/EnumerationStyledText'
extended-enumeration:string: '#/components/schemas/ExtendedEnumerationString'
extended-enumeration:styled-text: '#/components/schemas/ExtendedEnumerationStyledText'
grid:string: '#/components/schemas/GridString'
layout:string: '#/components/schemas/LayoutString'
link:absolute: '#/components/schemas/LinkAbsolute'
link:relative: '#/components/schemas/LinkRelative'
class:eclass-5.1.3: '#/components/schemas/CommonClassificationProperties'
class:eclass-6.0.1: '#/components/schemas/CommonClassificationProperties'
class:eclass-6.2: '#/components/schemas/CommonClassificationProperties'
class:eclass-7.0: '#/components/schemas/CommonClassificationProperties'
class:eclass-7.1: '#/components/schemas/CommonClassificationProperties'
class:eclass-8.1: '#/components/schemas/CommonClassificationProperties'
class:eclass-9: '#/components/schemas/CommonClassificationProperties'
class:eclass-10: '#/components/schemas/CommonClassificationProperties'
class:eclass-11: '#/components/schemas/CommonClassificationProperties'
class:eclass-12: '#/components/schemas/CommonClassificationProperties'
class:eclass-13: '#/components/schemas/CommonClassificationProperties'
class:eclass-14: '#/components/schemas/CommonClassificationProperties'
class:eclass-15: '#/components/schemas/CommonClassificationProperties'
class:etim-4.0: '#/components/schemas/CommonClassificationProperties'
class:etim-5.0: '#/components/schemas/CommonClassificationProperties'
class:etim-6.0: '#/components/schemas/CommonClassificationProperties'
class:etim-7.0: '#/components/schemas/CommonClassificationProperties'
class:etim-8.0: '#/components/schemas/CommonClassificationProperties'
class:etim-9.0: '#/components/schemas/CommonClassificationProperties'
class:proficlass-3.0: '#/components/schemas/CommonClassificationProperties'
class:proficlass-5.1: '#/components/schemas/CommonClassificationProperties'
class:proficlass-6.0: '#/components/schemas/CommonClassificationProperties'
class-value:eclass-5.1.3: '#/components/schemas/CommonClassificationProperties'
class-value:eclass-6.0.1: '#/components/schemas/CommonClassificationProperties'
class-value:eclass-6.2: '#/components/schemas/CommonClassificationProperties'
class-value:eclass-7.0: '#/components/schemas/CommonClassificationProperties'
class-value:eclass-7.1: '#/components/schemas/CommonClassificationProperties'
class-value:eclass-8.1: '#/components/schemas/CommonClassificationProperties'
class-value:eclass-9: '#/components/schemas/CommonClassificationProperties'
class-value:eclass-10: '#/components/schemas/CommonClassificationProperties'
class-value:eclass-11: '#/components/schemas/CommonClassificationProperties'
class-value:eclass-12: '#/components/schemas/CommonClassificationProperties'
class-value:eclass-13: '#/components/schemas/CommonClassificationProperties'
class-value:eclass-14: '#/components/schemas/CommonClassificationProperties'
class-value:eclass-15: '#/components/schemas/CommonClassificationProperties'
class-value:etim-4.0: '#/components/schemas/CommonClassificationProperties'
class-value:etim-5.0: '#/components/schemas/CommonClassificationProperties'
class-value:etim-6.0: '#/components/schemas/CommonClassificationProperties'
class-value:etim-7.0: '#/components/schemas/CommonClassificationProperties'
class-value:etim-8.0: '#/components/schemas/CommonClassificationProperties'
class-value:etim-9.0: '#/components/schemas/CommonClassificationProperties'
class-value:proficlass-3.0: '#/components/schemas/CommonClassificationProperties'
class-value:proficlass-5.1: '#/components/schemas/CommonClassificationProperties'
class-value:proficlass-6.0: '#/components/schemas/CommonClassificationProperties'
oneOf:
- $ref: '#/components/schemas/Double'
- $ref: '#/components/schemas/Integer'
- $ref: '#/components/schemas/Boolean'
- $ref: '#/components/schemas/Date'
- $ref: '#/components/schemas/StyledText'
- $ref: '#/components/schemas/Formula'
- $ref: '#/components/schemas/Barcode'
- $ref: '#/components/schemas/Color'
- $ref: '#/components/schemas/Page'
- $ref: '#/components/schemas/Url'
- $ref: '#/components/schemas/String'
- $ref: '#/components/schemas/StringUsagePath'
- $ref: '#/components/schemas/EnumerationString'
- $ref: '#/components/schemas/EnumerationStyledText'
- $ref: '#/components/schemas/ExtendedEnumerationString'
- $ref: '#/components/schemas/ExtendedEnumerationStyledText'
- $ref: '#/components/schemas/GridString'
- $ref: '#/components/schemas/LayoutString'
- $ref: '#/components/schemas/LinkAbsolute'
- $ref: '#/components/schemas/LinkRelative'
- $ref: '#/components/schemas/CommonClassificationProperties'
CommonProperties-2:
type: object
required:
- name
- attributeType
- type
properties:
name:
type: string
description: The independent name of the attribute
example: Attribute-1
description:
type: string
description: The description of the attribute
example: Attribute 1 description
attributeType:
type: string
description: The type of the attribute
enum:
- normal
- meta
type:
type: string
description: The type of the attribute
autoSync:
type: string
description: The auto sync mode of the attribute
enum:
- none
- copy_to_original
- original_to_copies
- copy_to_original_with_workflow
- original_to_copies_with_workflow
formatId:
type: integer
description: The ID of the attribute output media based format
example: 1
bmeCatId:
type: string
description: The BMEcat import ID of the attribute
example: Attribute-1
neverCleanupHistory:
type: boolean
description: Whether the attribute history should never be cleaned up
example: false
workflowId:
type: integer
description: The ID of the workflow
example: 1
colorIndex:
type: integer
description: The color index of the attribute for detail panel
example: 1
translations:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: Attribute-1-de
en: Attribute-1-en
Double-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a double value
additionalProperties:
type: number
example:
de: 1.2
en: 1.3
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: number
description: The default value of the attribute
example: 0
unitTypeId:
type: integer
description: The ID of the unit type
example: 1
min:
type: number
description: The minimum value of the attribute
max:
type: number
description: The maximum value of the attribute
Integer-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the an integer value
additionalProperties:
type: integer
example:
de: 1
en: 2
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: integer
description: The default value of the attribute
example: 1
unitTypeId:
type: integer
description: The ID of the unit type
example: 1
min:
type: number
description: The minimum value of the attribute
max:
type: number
description: The maximum value of the attribute
Boolean-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a boolean value
additionalProperties:
type: boolean
example:
de: true
en: false
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: boolean
description: The default value of the attribute
example: true
Date-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a date value
additionalProperties:
type: string
format: date
example:
de: '2025-01-01'
en: '2025-01-01'
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: string
format: date
description: The default value of the attribute
example: '2025-01-01'
min:
type: string
format: date
description: The minimum value of the attribute
max:
type: string
format: date
description: The maximum value of the attribute
StyledText-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a styled text value
additionalProperties:
type: string
example:
de: <paragraph>Hello</paragraph>
en: <paragraph>Hello</paragraph>
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: string
description: The default value of the attribute
example: <paragraph>Hello</paragraph>
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
maxLength:
type: integer
description: The maximum length of the content of the attribute
example: 32768
Formula-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
formula:
type: string
description: The formula of the attribute
example: formula-string
Barcode-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
barcodeType:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the barcode type
additionalProperties:
type: string
enum:
- ean8
- ean13
- itf-14
- code128
- upc-a
- auto
- auto2
- interleaved-2of5
- qr
example:
de: ean13
en: upc-a
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
barcodeType:
type: string
description: The barcode type of the attribute
enum:
- ean8
- ean13
- itf-14
- code128
- upc-a
- auto
- auto2
- interleaved-2of5
- qr
example: ean8
Color-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
colorType:
type: string
description: The type of the color
enum:
- rgb
- cmyk
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a color value
additionalProperties:
type: string
example:
de: 255,255,255
en: 0,0,0
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: string
description: The default value of the attribute
example: 255,255,255
Page-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
Url-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the an url value
additionalProperties:
type: string
format: uri
example:
de: https://www.example.com
en: https://www.example.com
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: string
format: uri
description: The default value of the attribute
example: https://www.example.com
showPreview:
type: boolean
description: Whether the attribute should show a preview
example: true
String-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a string value
additionalProperties:
type: string
example:
de: value-de
en: value-en
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: string
description: The default value of the attribute
example: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
maxLength:
type: integer
description: The maximum length of the content of the attribute
example: 32768
StringUsagePath-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
- oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
islanguageDependent:
const: true
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a string usage path value
additionalProperties:
type: string
example:
de: value-de
en: value-en
- title: Language independent
type: object
description: The language independent properties
properties:
islanguageDependent:
const: false
defaultValue:
type: string
description: The default value of the attribute
example: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
maxLength:
type: integer
description: The maximum length of the content of the attribute
example: 32768
EnumerationString-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
enumerationValues:
type: array
description: The enumeration values to add
items:
type: object
required:
- value
properties:
value:
type: string
description: The independent enumeration value
example: value-independent
translations:
type: object
description: The translations of the enumeration value, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: value-de
en: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
EnumerationStyledText-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
enumerationValues:
type: array
description: The enumeration values to add
items:
type: object
required:
- value
properties:
value:
type: string
description: The independent enumeration value
example: value-independent
translations:
type: object
description: The translations of the enumeration value, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: value-de
en: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
ExtendedEnumerationString-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
enumerationValues:
type: array
description: The enumeration values to add
items:
type: object
required:
- value
properties:
value:
type: string
description: The independent enumeration value
example: value-independent
translations:
type: object
description: The translations of the enumeration value, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: value-de
en: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
addValueOnlyOnce:
type: boolean
description: Whether the enumeration values should be added only once
example: true
ExtendedEnumerationStyledText-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
enumerationValues:
type: array
description: The enumeration values to add
items:
type: object
required:
- value
properties:
value:
type: string
description: The independent enumeration value
example: value-independent
translations:
type: object
description: The translations of the enumeration value, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: value-de
en: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
addValueOnlyOnce:
type: boolean
description: Whether the enumeration values should be added only once
example: true
GridString-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
LayoutString-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
LinkAbsolute-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
LinkRelative-2:
allOf:
- $ref: '#/components/schemas/CommonProperties-2'
- type: object
required:
- languageDependents
properties:
languageDependents:
allOf:
- type: object
required:
- islanguageDependent
properties:
islanguageDependent:
type: boolean
description: Whether the attribute is language dependent
languageFallback:
type: string
description: The language fallback of the attribute
examples:
- de
- en
SingleNewAttributeRequestBody:
discriminator:
propertyName: type
mapping:
double: '#/components/schemas/Double-2'
integer: '#/components/schemas/Integer-2'
boolean: '#/components/schemas/Boolean-2'
date: '#/components/schemas/Date-2'
styled-text: '#/components/schemas/StyledText-2'
formula: '#/components/schemas/Formula-2'
barcode: '#/components/schemas/Barcode-2'
color: '#/components/schemas/Color-2'
page: '#/components/schemas/Page-2'
url: '#/components/schemas/Url-2'
string:string: '#/components/schemas/String-2'
string:usage-path: '#/components/schemas/StringUsagePath-2'
enumeration:string: '#/components/schemas/EnumerationString-2'
enumeration:styled-text: '#/components/schemas/EnumerationStyledText-2'
extended-enumeration:string: '#/components/schemas/ExtendedEnumerationString-2'
extended-enumeration:styled-text: '#/components/schemas/ExtendedEnumerationStyledText-2'
grid:string: '#/components/schemas/GridString-2'
layout:string: '#/components/schemas/LayoutString-2'
link:absolute: '#/components/schemas/LinkAbsolute-2'
link:relative: '#/components/schemas/LinkRelative-2'
oneOf:
- $ref: '#/components/schemas/Double-2'
- $ref: '#/components/schemas/Integer-2'
- $ref: '#/components/schemas/Boolean-2'
- $ref: '#/components/schemas/Date-2'
- $ref: '#/components/schemas/StyledText-2'
- $ref: '#/components/schemas/Formula-2'
- $ref: '#/components/schemas/Barcode-2'
- $ref: '#/components/schemas/Color-2'
- $ref: '#/components/schemas/Page-2'
- $ref: '#/components/schemas/Url-2'
- $ref: '#/components/schemas/String-2'
- $ref: '#/components/schemas/StringUsagePath-2'
- $ref: '#/components/schemas/EnumerationString-2'
- $ref: '#/components/schemas/EnumerationStyledText-2'
- $ref: '#/components/schemas/ExtendedEnumerationString-2'
- $ref: '#/components/schemas/ExtendedEnumerationStyledText-2'
- $ref: '#/components/schemas/GridString-2'
- $ref: '#/components/schemas/LayoutString-2'
- $ref: '#/components/schemas/LinkAbsolute-2'
- $ref: '#/components/schemas/LinkRelative-2'
CommonProperties-3:
type: object
required:
- id
properties:
id:
type: integer
description: The ID of the attribute
example: 1
name:
type: string
description: The independent name of the attribute
example: Attribute-1
description:
type: string
description: The description of the attribute
example: Attribute 1 description
autoSync:
type: string
description: The auto sync mode of the attribute
enum:
- none
- copy_to_original
- original_to_copies
- copy_to_original_with_workflow
- original_to_copies_with_workflow
bmeCatId:
type: string
description: The BMEcat import ID of the attribute
example: Attribute-1
neverCleanupHistory:
type: boolean
description: Whether the attribute history should never be cleaned up
example: false
workflowId:
type: integer
description: The ID of the workflow
example: 1
colorIndex:
type: integer
description: The color index of the attribute for detail panel
example: 1
translations:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: Attribute-1-de
en: Attribute-1-en
Double-3:
title: Double
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
- type: object
properties:
languageDependents:
oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a double value
additionalProperties:
type: number
example:
de: 1.2
en: 1.3
- title: Language independent
type: object
description: The language independent properties
properties:
defaultValue:
type: number
description: The default value of the attribute
example: 0
formatId:
type: integer
description: The ID of the attribute output format
example: 1
unitTypeId:
type: integer
description: The ID of the unit type
example: 1
min:
type: number
description: The minimum value of the attribute
max:
type: number
description: The maximum value of the attribute
Integer-3:
title: Integer
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
- type: object
properties:
languageDependents:
oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the an integer value
additionalProperties:
type: integer
example:
de: 1
en: 2
- title: Language independent
type: object
description: The language independent properties
properties:
defaultValue:
type: integer
description: The default value of the attribute
example: 1
formatId:
type: integer
description: The ID of the attribute output format
example: 1
unitTypeId:
type: integer
description: The ID of the unit type
example: 1
min:
type: number
description: The minimum value of the attribute
max:
type: number
description: The maximum value of the attribute
Boolean-3:
title: Boolean
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
- type: object
properties:
languageDependents:
oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a boolean value
additionalProperties:
type: boolean
example:
de: true
en: false
- title: Language independent
type: object
description: The language independent properties
properties:
defaultValue:
type: boolean
description: The default value of the attribute
example: true
formatId:
type: integer
description: The ID of the attribute output media based format
example: 1
Date-3:
title: Date
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
- type: object
properties:
languageDependents:
oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a date value
additionalProperties:
type: string
format: date
example:
de: '2025-01-01'
en: '2025-01-01'
- title: Language independent
type: object
description: The language independent properties
properties:
defaultValue:
type: string
format: date
description: The default value of the attribute
example: '2025-01-01'
formatId:
type: integer
description: The ID of the attribute output format
example: 1
min:
type: string
format: date
description: The minimum value of the attribute
max:
type: string
format: date
description: The maximum value of the attribute
StyledText-3:
title: Styled Text
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
- type: object
properties:
languageDependents:
oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a styled text value
additionalProperties:
type: string
example:
de: <paragraph>Hello</paragraph>
en: <paragraph>Hello</paragraph>
- title: Language independent
type: object
description: The language independent properties
properties:
defaultValue:
type: string
description: The default value of the attribute
example: <paragraph>Hello</paragraph>
formatId:
type: integer
description: The ID of the attribute output format
example: 1
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
maxLength:
type: integer
description: The maximum length of the content of the attribute
example: 32768
Formula-3:
title: Formula
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
- type: object
properties:
formula:
type: string
description: The formula of the attribute
example: formula-string
Barcode-3:
title: Barcode
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
- type: object
properties:
languageDependents:
oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
barcodeType:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the barcode type
additionalProperties:
type: string
enum:
- ean8
- ean13
- itf-14
- code128
- upc-a
- auto
- auto2
- interleaved-2of5
- qr
example:
de: ean13
en: upc-a
- title: Language independent
type: object
description: The language independent properties
properties:
barcodeType:
type: string
description: The barcode type of the attribute
enum:
- ean8
- ean13
- itf-14
- code128
- upc-a
- auto
- auto2
- interleaved-2of5
- qr
example: ean8
Color-3:
title: Color
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
- type: object
properties:
colorType:
type: string
description: The type of the color
enum:
- rgb
- cmyk
languageDependents:
oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a color value
additionalProperties:
type: string
example:
de: 255,255,255
en: 0,0,0
- title: Language independent
type: object
description: The language independent properties
properties:
defaultValue:
type: string
description: The default value of the attribute
example: 255,255,255
Page-3:
title: Page
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
Url-3:
title: URL
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
- type: object
properties:
languageDependents:
oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the an url value
additionalProperties:
type: string
format: uri
example:
de: https://www.example.com
en: https://www.example.com
- title: Language independent
type: object
description: The language independent properties
properties:
defaultValue:
type: string
format: uri
description: The default value of the attribute
example: https://www.example.com
showPreview:
type: boolean
description: Whether the attribute should show a preview
example: true
String-3:
title: String
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
- type: object
properties:
languageDependents:
oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a string value
additionalProperties:
type: string
example:
de: value-de
en: value-en
- title: Language independent
type: object
description: The language independent properties
properties:
defaultValue:
type: string
description: The default value of the attribute
example: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
maxLength:
type: integer
description: The maximum length of the content of the attribute
example: 32768
StringUsagePath-3:
title: String Usage Path
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
- type: object
properties:
languageDependents:
oneOf:
- title: Language dependent
type: object
description: The language dependent properties
properties:
defaultValues:
type: object
description: The translations of the attribute name, where the key is the language code i.e. `de` or `en` and the value is the a string usage path value
additionalProperties:
type: string
example:
de: value-de
en: value-en
- title: Language independent
type: object
description: The language independent properties
properties:
defaultValue:
type: string
description: The default value of the attribute
example: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
maxLength:
type: integer
description: The maximum length of the content of the attribute
example: 32768
EnumerationString-3:
title: Enumeration String
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
- type: object
properties:
languageDependents:
type: object
properties:
defaultValue:
type: string
description: The default enumeration independent value
example: value-independent
enumerationValues:
type: array
description: |
The enumeration values to add, update, or delete.
- If delete = true and id is provided, the enumeration value with that id will be deleted.
- If delete = false and id is provided, the enumeration value with that id will be updated with the provided value.
- If delete = false and id is not provided, a new enumeration value will be added.
items:
type: object
properties:
id:
type: integer
description: The ID of the enumeration value (required for update/delete operations)
example: 1
value:
type: string
description: The independent enumeration value
example: value-independent
delete:
type: boolean
description: Whether the enumeration value should be deleted
default: false
example: false
translations:
type: object
description: The translations of the enumeration value, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: value-de
en: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
EnumerationStyledText-3:
title: Enumeration Styled Text
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
- type: object
properties:
languageDependents:
type: object
properties:
defaultValue:
type: string
description: The default enumeration independent value
example: value-independent
enumerationValues:
type: array
description: |
The enumeration values to add, update, or delete.
- If delete = true and id is provided, the enumeration value with that id will be deleted.
- If delete = false and id is provided, the enumeration value with that id will be updated with the provided value.
- If delete = false and id is not provided, a new enumeration value will be added.
items:
type: object
properties:
id:
type: integer
description: The ID of the enumeration value (required for update/delete operations)
example: 1
value:
type: string
description: The independent enumeration value
example: value-independent
delete:
type: boolean
description: Whether the enumeration value should be deleted
default: false
example: false
translations:
type: object
description: The translations of the enumeration value, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: value-de
en: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
ExtendedEnumerationString-3:
title: Extended Enumeration String
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
- type: object
properties:
languageDependents:
type: object
properties:
defaultValues:
type: array
description: The default enumeration independent values
items:
type: string
description: The default enumeration independent value
example:
- value-independent
- value-independent-2
enumerationValues:
type: array
description: |
The enumeration values to add, update, or delete.
- If delete = true and id is provided, the enumeration value with that id will be deleted.
- If delete = false and id is provided, the enumeration value with that id will be updated with the provided value.
- If delete = false and id is not provided, a new enumeration value will be added.
items:
type: object
properties:
id:
type: integer
description: The ID of the enumeration value (required for update/delete operations)
example: 1
value:
type: string
description: The independent enumeration value
example: value-independent
delete:
type: boolean
description: Whether the enumeration value should be deleted
default: false
example: false
translations:
type: object
description: The translations of the enumeration value, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: value-de
en: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
addValueOnlyOnce:
type: boolean
description: Whether the enumeration values should be added only once
example: true
ExtendedEnumerationStyledText-3:
title: Extended Enumeration Styled Text
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
- type: object
properties:
languageDependents:
type: object
properties:
defaultValues:
type: array
description: The default enumeration independent values
items:
type: string
description: The default enumeration independent value
example:
- value-independent
- value-independent-2
enumerationValues:
type: array
description: |
The enumeration values to add, update, or delete.
- If delete = true and id is provided, the enumeration value with that id will be deleted.
- If delete = false and id is provided, the enumeration value with that id will be updated with the provided value.
- If delete = false and id is not provided, a new enumeration value will be added.
items:
type: object
properties:
id:
type: integer
description: The ID of the enumeration value (required for update/delete operations)
example: 1
value:
type: string
description: The independent enumeration value
example: value-independent
delete:
type: boolean
description: Whether the enumeration value should be deleted
default: false
example: false
translations:
type: object
description: The translations of the enumeration value, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: value-de
en: value-en
translationRelevant:
type: boolean
description: Whether the attribute is translation relevant
example: true
addValueOnlyOnce:
type: boolean
description: Whether the enumeration values should be added only once
example: true
GridString-3:
title: Grid String
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
LayoutString-3:
title: Layout String
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
LinkAbsolute-3:
title: Link Absolute
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
LinkRelative-3:
title: Link Relative
allOf:
- $ref: '#/components/schemas/CommonProperties-3'
SingleUpdateAttributeRequestBody:
oneOf:
- $ref: '#/components/schemas/Double-3'
- $ref: '#/components/schemas/Integer-3'
- $ref: '#/components/schemas/Boolean-3'
- $ref: '#/components/schemas/Date-3'
- $ref: '#/components/schemas/StyledText-3'
- $ref: '#/components/schemas/Formula-3'
- $ref: '#/components/schemas/Barcode-3'
- $ref: '#/components/schemas/Color-3'
- $ref: '#/components/schemas/Page-3'
- $ref: '#/components/schemas/Url-3'
- $ref: '#/components/schemas/String-3'
- $ref: '#/components/schemas/StringUsagePath-3'
- $ref: '#/components/schemas/EnumerationString-3'
- $ref: '#/components/schemas/EnumerationStyledText-3'
- $ref: '#/components/schemas/ExtendedEnumerationString-3'
- $ref: '#/components/schemas/ExtendedEnumerationStyledText-3'
- $ref: '#/components/schemas/GridString-3'
- $ref: '#/components/schemas/LayoutString-3'
- $ref: '#/components/schemas/LinkAbsolute-3'
- $ref: '#/components/schemas/LinkRelative-3'
AttributeGroupValidFor:
type: array
description: The attribute groups is valid for
items:
type: string
enum:
- product
- catalog-group
- product-group
- media
- text
- catalog-page
- catalog-content
- contains-table-data
- invisible
- attribute-filter
- use-for-link-preview
- collector
- object-dependent-attribute-group
SingleAttributeGroupResponse:
type: object
properties:
id:
type: integer
description: The ID of the attribute group
example: 1
name:
type: string
description: The independent name of the attribute group
example: Attribute-Group
parentId:
type: integer
description: The ID of the parent attribute group
example: 1
validForObjectTypes:
$ref: '#/components/schemas/AttributeGroupValidFor'
isTemplate:
type: boolean
description: Whether the attribute group is a template
example: false
templateId:
type: integer
description: The ID of the template attribute group on which this attribute group is based
example: 1
clientId:
type: integer
description: The ID of the client
example: 1
createdAt:
type: string
description: The date and time the attribute group was created
format: date-time
example: '2025-04-08T12:00:00Z'
createdByUserId:
type: integer
description: The ID of user who created the attribute group
example: 1
modifiedAt:
type: string
description: The date and time the attribute group was modified
format: date-time
example: '2025-04-08T12:00:00Z'
modifiedByUserId:
type: integer
description: The ID of user who modified the attribute group
example: 1
translations:
type: object
description: The translations of the attribute group name, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: Attribute-Group-de
en: Attribute-Group-en
SingleNewAttributeGroupRequestBody:
type: object
required:
- name
properties:
name:
type: string
description: The independent name of the attribute group
example: Attribute-Group
parentId:
type: integer
description: The ID of the parent attribute group
example: 1
validForObjectTypes:
$ref: '#/components/schemas/AttributeGroupValidFor'
isTemplate:
type: boolean
description: Whether the attribute group is a template
example: false
templateId:
type: integer
description: The ID of the template attribute group on which this attribute group is based
example: 1
translations:
type: object
description: The translations of the attribute group name, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: Attribute-Group-de
en: Attribute-Group-en
SingleUpdateAttributeGroupRequestBody:
oneOf:
- type: object
title: By Attribute Group ID
required:
- id
properties:
id:
type: integer
description: The ID of the attribute group
example: 1
name:
type: string
description: The independent name of the attribute group
example: Attribute-Group
parentId:
type: integer
description: The ID of the parent attribute group
example: 1
validForObjectTypes:
$ref: '#/components/schemas/AttributeGroupValidFor'
isTemplate:
type: boolean
description: Whether the attribute group is a template
example: false
translations:
type: object
description: The translations of the attribute group name, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: Attribute-Group-de
en: Attribute-Group-en
- type: object
title: By Attribute Group Name
required:
- name
properties:
name:
type: string
description: The independent name of the attribute group
example: Attribute-Group
newName:
type: string
description: The new independent name of the attribute group
example: Attribute-Group-New
parentId:
type: integer
description: The ID of the parent attribute group
example: 1
validForObjectTypes:
$ref: '#/components/schemas/AttributeGroupValidFor'
isTemplate:
type: boolean
description: Whether the attribute group is a template
example: false
templateId:
type: integer
description: The ID of the template attribute group on which this attribute group is based
example: 1
translations:
type: object
description: The translations of the attribute group name, where the key is the language code i.e. `de` or `en` and the value is the translation
additionalProperties:
type: string
example:
de: Attribute-Group-de
en: Attribute-Group-en
AttributeGroupHierarchyResponse:
type: object
properties:
id:
type: integer
description: The ID of the node
example: 1
name:
type: string
description: The name of the node
example: Group-0
type:
type: string
description: The type of node in the hierarchy
enum:
- attribute-group
- attribute-group-template
- attribute-group-derived-template
- attribute
children:
type: array
description: The immediate children of the node
items:
$ref: '#/components/schemas/AttributeGroupHierarchyResponse'
example:
id: 1
name: Group-1
type: attribute-group
children:
- id: 2
name: Group-2
type: attribute-group
children:
- id: 3
name: Attribute-3
type: attribute
- id: 4
name: Attribute-4
type: attribute
- id: 5
name: Attribute-5
type: attribute
- id: 6
name: Group-6
type: attribute-group
children:
- id: 7
name: Attribute-7
type: attribute
- id: 8
name: Attribute-8
type: attribute
ObjectStatusesWithoutVariant:
type: string
description: |
The status of the object
- `original`
- `copy`
example: original
MediaFileResponse:
type: object
properties:
id:
type: integer
format: int64
description: The ID of the media file
example: 12345
clientId:
type: integer
format: int64
description: The ID of the client
example: 231
mediaId:
type: integer
format: int64
description: The ID of the media descriptor
example: 12345
languageCode:
type: string
description: The language code for this media file, i.e. `de`,`en`
example: en
mimeType:
type: string
description: The MIME type of the media file
example: image/jpeg
sourceMimeType:
type: string
description: The original MIME type before any conversion
example: image/jpeg
mamSystem:
type: string
description: |
The Media Asset Management system name
| Value | Description |
|--------------|-------------------------------|
| `celum5` | Celum 5 Enterprise |
| `cumulus` | Cumulus |
| `canto` | Canto |
| `cavok` | Cavok |
| `agravity` | Agravity |
| `fs` | File-System |
| `sixomc` | SixOMC |
| `picturepark`| Picturepark Content Platform |
| `none` | None configured |
| `unknown` | Unknown MAM System |
example: sixomc
mamId1:
type: string
description: MAM system identifier 1
example: asset-12345
mamId2:
type: string
description: MAM system identifier 2
example: collection-67890
mamId3:
type: string
description: MAM system identifier 3
example: version-1.0
mamId4:
type: string
description: MAM system identifier 4
example: metadata-abc
contentLength:
type: integer
format: int64
description: The size of the media file in bytes
example: 524288
updateCount:
type: integer
description: The number of times this media file has been updated
example: 5
changedAt:
type: string
description: The date and time the media file was last changed
format: date-time
example: '2025-04-08T14:30:00Z'
changedBy:
type: integer
format: int64
description: The ID of the user who last changed the media file
example: 235
AttributeResponse:
type: object
description: An attribute value which is associated with an object
properties:
id:
type: integer
description: The ID of the attribute value
example: 3802
attributeId:
type: integer
description: The ID of the attribute definition
example: 293
attributeName:
type: string
description: The independent name of the attribute
example: media_name
attributeType:
type: string
description: |
The category type of the attribute
- `normal`
- `meta`
- `internal`
example: normal
type:
$ref: '#/components/schemas/AttributeTypes'
value:
type: string
description: The value of the attribute
example: Product Image 001
parentId:
type: integer
description: The ID of the parent object to which this value belongs, in case of meta attribute this is the ID of parent attribute
example: 293
autoSync:
type: string
description: |
The auto sync mode of the attribute
- `none`
- `copy_to_original`
- `original_to_copies`
- `copy_to_original_with_workflow`
- `original_to_copies_with_workflow`
example: none
languageCode:
type: string
description: The language code of the attribute
example: de
modifiedAt:
type: string
description: The date and time the attribute was modified
format: date-time
example: 2025-04-08T12:00:00.000+0100
modifiedBy:
type: integer
description: The ID of the user who modified the attribute
example: 235
inherited:
type: boolean
description: Whether the attribute is inherited
example: false
SingleMediaResponse:
type: object
properties:
id:
type: integer
format: int64
description: The ID of the media content
example: 12345
name:
type: string
description: The name of the media
example: Product Image
treeId:
type: integer
format: int64
description: The ID of the tree this media belongs to
example: 100
clientId:
type: integer
format: int64
description: The ID of the client
example: 231
attributeGroupId:
type: integer
format: int64
description: The ID of the media default attribute group
example: 1000
pictureTypeId:
type: integer
format: int64
description: |
The ID of the picture type this media belongs to. Possible values can be retrieved using API `/attributes/name/PICTURE_TYPE`. The `id` would be in response under `languageDependents.enumerationValues` array.
example: 1200
originalId:
type: integer
format: int64
description: The ID of the original media if this is a copy
example: 1
objectStatus:
$ref: '#/components/schemas/ObjectStatusesWithoutVariant'
userObjectStatus:
type: integer
format: int64
description: User-defined object status ID
example: 100
createdAt:
type: string
description: The date and time the media was created
format: date-time
example: '2025-04-08T12:00:00Z'
createdBy:
type: integer
format: int64
description: The ID of the user who created the media
example: 235
modifiedAt:
type: string
description: The date and time the media was last modified
format: date-time
example: '2025-04-08T12:00:00Z'
modifiedBy:
type: integer
format: int64
description: The ID of the user who last modified the media
example: 235
files:
type: array
description: The files associated with this media (e.g., different languages or formats)
items:
$ref: '#/components/schemas/MediaFileResponse'
attributes:
type: array
description: The attribute values of the media
items:
$ref: '#/components/schemas/AttributeResponse'
translations:
type: object
additionalProperties:
type: string
description: The translations of the media name, where the key is the language code i.e. `de` or `en` and the value is the translation
SingleNewMediaRequestBody:
type: object
required:
- name
properties:
name:
type: string
description: Name of the media item
example: Product Image
attributeGroupId:
type: integer
format: int64
description: The ID of the media default attribute group
example: 234
pictureTypeId:
type: integer
format: int64
description: |
The ID of the picture type this media belongs to. Possible values can be retrieved using API `/attributes/name/PICTURE_TYPE`. The `id` would be in response under `languageDependents.enumerationValues` array.
example: 1200
treeId:
type: integer
format: int64
description: The ID of the tree this media belongs to
example: 100
originalId:
type: integer
format: int64
description: If this is a copy, the ID of the original media descriptor
example: 5678
objectStatus:
$ref: '#/components/schemas/ObjectStatusesWithoutVariant'
userObjectStatus:
type: integer
format: int64
description: Custom user object status ID
example: 3
attributes:
type: array
description: List of media attributes
items:
$ref: '#/components/schemas/AttributeRequestBody'
translations:
type: object
additionalProperties:
type: string
description: The translations of the media name, where the key is the language code i.e. `de` or `en` and the value is the translation
SingleUpdateMediaRequestBody:
type: object
required:
- id
properties:
id:
type: integer
format: int64
description: The ID of the media descriptor to update
example: 12345
name:
type: string
description: Name of the media item
example: Product Image
attributeGroupId:
type: integer
format: int64
description: The ID of the media default attribute group
example: 234
pictureTypeId:
type: integer
format: int64
description: |
The ID of the picture type this media belongs to. Possible values can be retrieved using API `/attributes/name/PICTURE_TYPE`. The `id` would be in response under `languageDependents.enumerationValues` array.
example: 1200
treeId:
type: integer
format: int64
description: The ID of the tree this media belongs to
example: 100
originalId:
type: integer
format: int64
description: If this is a copy, the ID of the original media descriptor
example: 5678
objectStatus:
$ref: '#/components/schemas/ObjectStatusesWithoutVariant'
userObjectStatus:
type: integer
format: int64
description: Custom user object status ID
example: 3
attributes:
type: array
description: List of media attributes
items:
$ref: '#/components/schemas/AttributeRequestBody'
translations:
type: object
additionalProperties:
type: string
description: The translations of the media name, where the key is the language code i.e. `de` or `en` and the value is the translation
TextContentResponse:
type: object
properties:
id:
type: integer
format: int64
description: The ID of the text content
example: 12345
clientId:
type: integer
format: int64
description: The ID of the client
example: 231
languageCode:
type: string
description: The language code for this text content, i.e. `de`, `en`
example: en
mimeType:
type: string
description: The MIME type of the text content
enum:
- text/plain
- application/pdb
example: text/plain
content:
type: string
description: The text content in UTF-8 encoding (plain text, not base64)
example: |-
This is sample text content.
With multiple lines.
contentLength:
type: integer
description: The size of the text content in bytes
example: 1024
workflowStatus:
type: string
description: The workflow status of the text content
example: approved
workflowComment:
type: string
description: Comments related to the workflow
example: Reviewed and approved
changedAt:
type: string
description: The date and time the text content was last changed
format: date-time
example: '2025-04-08T14:30:00Z'
changedBy:
type: integer
format: int64
description: The ID of the user who last changed the text content
example: 235
SingleTextResponse:
type: object
properties:
id:
type: integer
format: int64
description: The ID of the text descriptor
example: 12345
name:
type: string
description: The name of the text
example: Product Description
treeId:
type: integer
format: int64
description: The ID of the tree this text belongs to
example: 100
clientId:
type: integer
format: int64
description: The ID of the client
example: 231
originalId:
type: integer
format: int64
description: The ID of the original text if this is a copy
example: 0
objectStatus:
$ref: '#/components/schemas/ObjectStatuses'
userObjectStatus:
type: integer
format: int64
description: User-defined object status
example: 0
createdAt:
type: string
description: The date and time the text was created
format: date-time
example: '2025-04-08T12:00:00Z'
createdBy:
type: integer
format: int64
description: The ID of the user who created the text
example: 235
modifiedAt:
type: string
description: The date and time the text was last modified
format: date-time
example: '2025-04-08T12:00:00Z'
modifiedBy:
type: integer
format: int64
description: The ID of the user who last modified the text
example: 235
contents:
type: array
description: The text contents for different languages (only present when includeContent=true)
items:
$ref: '#/components/schemas/TextContentResponse'
attributes:
type: array
description: The attribute values of the text (only present when includeAttributes=true)
items:
$ref: '#/components/schemas/AttributeResponse'
TextContentRequestBody:
type: object
required:
- mimeType
- content
- languageCode
properties:
mimeType:
type: string
description: The MIME type of the text content
enum:
- text/plain
- application/vnd.pdb.Editor
example: text/plain
content:
type: string
description: The text content in UTF-8 encoding (plain text, not base64)
example: |-
This is sample text content.
With multiple lines.
languageCode:
type: string
description: The language code for this text content
example: en
workflowStatus:
type: string
description: The workflow status of the text content
example: draft
workflowComment:
type: string
description: Comments related to the workflow
example: Initial version
SingleNewTextRequestBody:
type: object
required:
- name
- parentId
- languageCode
- textTypeId
properties:
name:
type: string
description: The name of the text descriptor
example: Information_1
parentId:
type: integer
description: The ID of the parent product or group
example: 1000
languageCode:
type: string
description: The language code for the response
example: independent
textTypeId:
type: integer
description: The ID of the text type (must be a valid enum value ID from the TEXT_TYPE attribute)
example: 18834
contents:
type: array
description: List of text contents for different languages
items:
$ref: '#/components/schemas/TextContentRequestBody'
treeId:
type: integer
description: The ID of the tree this text belongs to
example: 100
attributeGroupId:
type: integer
description: The ID of the attribute group to assign to this text
example: 500
attributes:
type: array
description: Optional attributes to set when creating the text
items:
$ref: '#/components/schemas/AttributeRequestBody'
SingleUpdateTextRequestBody:
type: object
required:
- id
properties:
id:
type: integer
description: The ID of the text descriptor to update
example: 12345
name:
type: string
description: The name of the text descriptor
example: Updated_Information_1
userObjectStatus:
type: integer
description: User-defined object status
example: 1
textTypeId:
type: integer
description: The ID of the text type (must be a valid enum value ID from the TEXT_TYPE attribute)
example: 18834
treeId:
type: integer
description: The ID of the tree this text belongs to
example: 100
attributeGroupId:
type: integer
description: The ID of the attribute group to assign to this text
example: 500
attributes:
type: array
description: Optional attributes to update for the text
items:
$ref: '#/components/schemas/AttributeRequestBody'
contents:
type: array
description: List of text contents to update for different languages
items:
$ref: '#/components/schemas/TextContentRequestBody'