{
    "openapi": "3.0.0",
    "info": {
        "title": "Afineo Webservices API",
        "description": "Afineo webservices endpoints documentation",
        "version": "3.0.0",
        "contact": {
            "name": "Afineo Solutions",
            "url": "https://www.afineo.com"
        },
        "x-logo": {
            "url": "./logo.png",
            "altText": "Afineo - Powerful Data, Powerful People"
        }
    },
    "servers": [
        {
            "url": "https://{instance}.afineo.io",
            "description": "Afineo instance",
            "variables": {
                "instance": {
                    "description": "Your Afineo instance name",
                    "default": "client"
                }
            }
        }
    ],
    "tags": [
        {
            "name": "administration",
            "description": "administration module endpoints"
        },
        {
            "name": "attributes",
            "description": "attributes module endpoints"
        },
        {
            "name": "export",
            "description": "export module endpoints"
        },
        {
            "name": "get-asset",
            "description": "get-asset module endpoints"
        },
        {
            "name": "import",
            "description": "import module endpoints"
        },
        {
            "name": "listvalues",
            "description": "listvalues module endpoints"
        },
        {
            "name": "mappings",
            "description": "mappings module endpoints"
        },
        {
            "name": "permissions",
            "description": "permissions module endpoints"
        },
        {
            "name": "preferences",
            "description": "preferences module endpoints"
        },
        {
            "name": "processes",
            "description": "processes module endpoints"
        },
        {
            "name": "projects",
            "description": "projects module endpoints"
        },
        {
            "name": "publishing",
            "description": "publishing module endpoints"
        },
        {
            "name": "queues",
            "description": "queues module endpoints"
        },
        {
            "name": "record-asset",
            "description": "record-asset module endpoints"
        },
        {
            "name": "token",
            "description": "token module endpoints"
        },
        {
            "name": "types",
            "description": "types module endpoints"
        },
        {
            "name": "workflows",
            "description": "workflows module endpoints"
        }
    ],
    "paths": {
        "/api/v3/administration/classes/list/": {
            "post": {
                "tags": [
                    "administration"
                ],
                "summary": "List all available classes",
                "description": "## Purpose\n\nReturns all configured data structures (libraries) in the system.\n\n## Use Cases\n\n- Discover available entities before creating or searching assets\n- Get class IDs required by other API endpoints\n- Retrieve class configuration (multilingual, contexts, modules)\n\n## Common Classes\n\nProducts, Media, Categories, Suppliers, Brands - each with its own attributes, types, and business rules.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Classes list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message (empty string on success)"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Total number of classes returned"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Class ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Products",
                                                                        "description": "Class label"
                                                                    },
                                                                    "description": {
                                                                        "type": "string",
                                                                        "example": "Product management class",
                                                                        "description": "Class description"
                                                                    },
                                                                    "indexed": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": true,
                                                                        "description": "Whether the class is indexed"
                                                                    },
                                                                    "relation_type": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "Product Board",
                                                                        "description": "Relation type label"
                                                                    },
                                                                    "manage_visuel": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": true,
                                                                        "description": "Whether visual management is enabled"
                                                                    },
                                                                    "tree_type": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "tree",
                                                                        "description": "Tree type"
                                                                    },
                                                                    "path": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "tree",
                                                                        "description": "Path type"
                                                                    },
                                                                    "default_tree": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "dynamic",
                                                                        "description": "Default tree type"
                                                                    },
                                                                    "view": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "grid",
                                                                        "description": "Default view mode"
                                                                    },
                                                                    "associated_class": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": false,
                                                                        "description": "Whether class has advanced links"
                                                                    },
                                                                    "multilingual": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": true,
                                                                        "description": "Whether the class supports multiple languages"
                                                                    },
                                                                    "enable_contexts": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": true,
                                                                        "description": "Whether contexts are enabled for this class"
                                                                    },
                                                                    "enable_suggestions": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": false,
                                                                        "description": "Whether suggestions are enabled"
                                                                    },
                                                                    "enable_note_management": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": true,
                                                                        "description": "Whether note management is enabled (conditional)"
                                                                    },
                                                                    "synchronization_modification_date_linking_assets": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": false,
                                                                        "description": "Whether modification date sync is enabled for linked assets"
                                                                    },
                                                                    "compare_contexts": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": false,
                                                                        "description": "Whether context comparison is enabled"
                                                                    },
                                                                    "enable_hierarchical_tree": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": true,
                                                                        "description": "Whether hierarchical tree is enabled"
                                                                    },
                                                                    "enable_labels": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": false,
                                                                        "description": "Whether labels are enabled"
                                                                    },
                                                                    "media_transformation": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": true,
                                                                        "description": "Whether media transformation is enabled"
                                                                    },
                                                                    "enable_lock_attribute": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": true,
                                                                        "description": "Whether attribute locking is enabled (conditional)"
                                                                    },
                                                                    "hotfolder": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": false,
                                                                        "description": "Whether hotfolder functionality is enabled"
                                                                    },
                                                                    "modules": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "object",
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "example": {
                                                                                    "3": "Workspace",
                                                                                    "7": "Process"
                                                                                },
                                                                                "description": "Available modules for this class"
                                                                            },
                                                                            {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "object"
                                                                                },
                                                                                "example": [],
                                                                                "description": "Empty array when no modules"
                                                                            }
                                                                        ],
                                                                        "nullable": true
                                                                    },
                                                                    "supertype_default_search": {
                                                                        "type": "array",
                                                                        "nullable": true,
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [
                                                                            "7"
                                                                        ],
                                                                        "description": "Default search supertype IDs (conditional)"
                                                                    },
                                                                    "overload_supertypes": {
                                                                        "type": "array",
                                                                        "nullable": true,
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "supertype_id": {
                                                                                    "type": "integer",
                                                                                    "description": "Supertype ID"
                                                                                },
                                                                                "label_custom": {
                                                                                    "type": "string",
                                                                                    "description": "Custom label for the supertype"
                                                                                }
                                                                            }
                                                                        },
                                                                        "example": [
                                                                            {
                                                                                "supertype_id": 7,
                                                                                "label_custom": "Custom Label"
                                                                            }
                                                                        ],
                                                                        "description": "Custom supertype overloads (conditional)"
                                                                    },
                                                                    "linked_classes": {
                                                                        "type": "array",
                                                                        "nullable": true,
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "id": {
                                                                                    "type": "integer",
                                                                                    "description": "Linked class ID"
                                                                                },
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "description": "Linked class label"
                                                                                },
                                                                                "link_table": {
                                                                                    "type": "string",
                                                                                    "description": "Name of the linking table between the two classes"
                                                                                },
                                                                                "has_advanced_link": {
                                                                                    "type": "boolean",
                                                                                    "description": "Whether an advanced link table (crossed data) has been generated for this link"
                                                                                }
                                                                            }
                                                                        },
                                                                        "example": [
                                                                            {
                                                                                "id": 2,
                                                                                "label": "Media",
                                                                                "link_table": "products_pictures",
                                                                                "has_advanced_link": false
                                                                            }
                                                                        ],
                                                                        "description": "List of classes linked (attached) to this class"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "label",
                                                                    "description"
                                                                ]
                                                            },
                                                            "description": "Array of class objects"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "enum": [
                                                        3,
                                                        997
                                                    ],
                                                    "example": 997,
                                                    "description": "Status code (997 = insufficient permissions, 3 = no results found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "You don't have the rights to do this action",
                                                        "No results found"
                                                    ],
                                                    "example": "You don't have the rights to do this action",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/administration/versions/list/": {
            "post": {
                "tags": [
                    "administration"
                ],
                "summary": "List available versions",
                "description": "## Purpose\n\nReturns available language versions (locales) configured in the system.\n\n## Use Cases\n\n- Get version IDs for multi-language operations\n- Discover available locales (language + country + channel)\n- Filter by class or project context\n\n## Filtering\n\n- **No parameters**: All system versions\n- **class_id**: Versions available for a specific class\n- **context + node_id**: Versions available in a specific project node\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Versions list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message (empty string on success)"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Total number of versions returned"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Version ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "France (canal défaut)",
                                                                        "description": "Version label"
                                                                    },
                                                                    "active": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether the version is active"
                                                                    },
                                                                    "currency": {
                                                                        "type": "string",
                                                                        "example": "EUR",
                                                                        "description": "Currency code"
                                                                    },
                                                                    "flag": {
                                                                        "type": "string",
                                                                        "example": "fr.png",
                                                                        "description": "Flag filename"
                                                                    },
                                                                    "channel": {
                                                                        "type": "object",
                                                                        "description": "Channel information",
                                                                        "properties": {
                                                                            "id": {
                                                                                "type": "integer",
                                                                                "example": 1,
                                                                                "description": "Channel ID"
                                                                            },
                                                                            "label": {
                                                                                "type": "string",
                                                                                "example": "canal défaut",
                                                                                "description": "Channel label"
                                                                            },
                                                                            "active": {
                                                                                "type": "boolean",
                                                                                "example": true,
                                                                                "description": "Whether the channel is active"
                                                                            },
                                                                            "color": {
                                                                                "type": "string",
                                                                                "example": "#ffffff",
                                                                                "description": "Channel color"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "id",
                                                                            "label",
                                                                            "active",
                                                                            "color"
                                                                        ]
                                                                    },
                                                                    "localisation": {
                                                                        "type": "object",
                                                                        "description": "Localisation information",
                                                                        "properties": {
                                                                            "id": {
                                                                                "type": "integer",
                                                                                "example": 1,
                                                                                "description": "Localisation ID"
                                                                            },
                                                                            "label": {
                                                                                "type": "string",
                                                                                "example": "France",
                                                                                "description": "Localisation label"
                                                                            },
                                                                            "active": {
                                                                                "type": "boolean",
                                                                                "example": true,
                                                                                "description": "Whether the localisation is active"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "id",
                                                                            "label",
                                                                            "active"
                                                                        ]
                                                                    },
                                                                    "country": {
                                                                        "type": "object",
                                                                        "description": "Country information",
                                                                        "properties": {
                                                                            "id": {
                                                                                "type": "integer",
                                                                                "example": 67,
                                                                                "description": "Country ID"
                                                                            },
                                                                            "code": {
                                                                                "type": "string",
                                                                                "example": "FR",
                                                                                "description": "Country ISO code"
                                                                            },
                                                                            "label": {
                                                                                "type": "string",
                                                                                "example": "France",
                                                                                "description": "Country label"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "id",
                                                                            "code",
                                                                            "label"
                                                                        ]
                                                                    },
                                                                    "lang": {
                                                                        "type": "object",
                                                                        "description": "Language information",
                                                                        "properties": {
                                                                            "id": {
                                                                                "type": "integer",
                                                                                "example": 34,
                                                                                "description": "Language ID"
                                                                            },
                                                                            "code": {
                                                                                "type": "string",
                                                                                "example": "fr",
                                                                                "description": "Language ISO code"
                                                                            },
                                                                            "label": {
                                                                                "type": "string",
                                                                                "example": "French",
                                                                                "description": "Language label"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "id",
                                                                            "code",
                                                                            "label"
                                                                        ]
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "label",
                                                                    "active",
                                                                    "currency",
                                                                    "flag",
                                                                    "channel",
                                                                    "localisation",
                                                                    "country",
                                                                    "lang"
                                                                ]
                                                            },
                                                            "description": "Array of version objects with localization and channel information"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "enum": [
                                                        2,
                                                        3
                                                    ],
                                                    "example": 3,
                                                    "description": "Status code (2 = class or node not found, 3 = no results found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Class or node not found",
                                                        "No results found"
                                                    ],
                                                    "example": "No results found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "context": {
                                        "type": "string",
                                        "description": "Context of the versions list. Use \"repository\" to list versions by class, or \"node\" for a specific project node **⚠️ Required when:** `class_id` = `108` | `109` | `110` | `111` | `4` | `2` | `106` | `101`",
                                        "enum": [
                                            "repository",
                                            "node"
                                        ],
                                        "example": "repository",
                                        "x-conditional-required": {
                                            "class_id": [
                                                108,
                                                109,
                                                110,
                                                111,
                                                4,
                                                2,
                                                106,
                                                101
                                            ]
                                        }
                                    },
                                    "node_id": {
                                        "type": "integer",
                                        "description": "Node ID. Use POST /api/v3/projects/list to find projects, then POST /api/v3/projects/get for project details **⚠️ Required when:** `context` = `node`",
                                        "example": 1254,
                                        "x-conditional-required": {
                                            "context": [
                                                "node"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/get/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "Get attribute configuration",
                "description": "## Purpose\n\nReturns complete field definition (type, validation rules, list values, display settings, permissions).\n\n## Use Cases\n\n- Understand attribute behavior before data submission\n- Build dynamic forms based on attribute configuration\n- Validate data format requirements\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Attribute information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "description": "Attribute information with common properties at first level and specific properties in configuration",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 231,
                                                            "description": "Attribute ID"
                                                        },
                                                        "code": {
                                                            "type": "string",
                                                            "example": "product_name",
                                                            "description": "Attribute code"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Product name",
                                                            "description": "Attribute label"
                                                        },
                                                        "tags": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": [
                                                                "tag1",
                                                                "tag2"
                                                            ],
                                                            "description": "Array of tags (can be empty)"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries."
                                                        },
                                                        "description": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "Product name description",
                                                            "description": "Attribute description"
                                                        },
                                                        "tab_id": {
                                                            "type": "integer",
                                                            "example": 105,
                                                            "description": "Tab ID. Use POST /api/v3/attributes/tabs/list with class_id to get available tabs."
                                                        },
                                                        "tab_label": {
                                                            "type": "string",
                                                            "example": "General",
                                                            "description": "Tab label"
                                                        },
                                                        "group_id": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 81,
                                                            "description": "Group ID. Use POST /api/v3/attributes/groups/list with class_id to get available groups."
                                                        },
                                                        "group_label": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "Information",
                                                            "description": "Group label"
                                                        },
                                                        "data_type": {
                                                            "type": "string",
                                                            "example": "short_text",
                                                            "enum": [
                                                                "afs",
                                                                "asset_link",
                                                                "boolean",
                                                                "characteristic",
                                                                "checkbox",
                                                                "counter",
                                                                "data_table",
                                                                "date",
                                                                "datetime",
                                                                "decimal",
                                                                "dropdown",
                                                                "dropdown_editable",
                                                                "dropdown_items",
                                                                "dropdown_items_editable",
                                                                "dynamic_afs",
                                                                "dynamic_link",
                                                                "ean",
                                                                "email",
                                                                "etim",
                                                                "html",
                                                                "integer",
                                                                "long_text",
                                                                "multi_dropdown",
                                                                "multi_dropdown_items",
                                                                "passthrough",
                                                                "price",
                                                                "product_table",
                                                                "radio",
                                                                "radio_items",
                                                                "rich_text",
                                                                "short_text",
                                                                "splitter",
                                                                "tiles",
                                                                "tiles_required",
                                                                "url"
                                                            ],
                                                            "description": "Data type"
                                                        },
                                                        "type": {
                                                            "type": "string",
                                                            "enum": [
                                                                "simple_value",
                                                                "advanced_value"
                                                            ],
                                                            "example": "advanced_value",
                                                            "description": "Attribute type (simple_value or advanced_value)"
                                                        },
                                                        "order": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Display order"
                                                        },
                                                        "view_asset": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "Whether attribute is visible on the asset"
                                                        },
                                                        "dependency": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "{if #153#}1{/if}",
                                                            "description": "Attribute dependencies (AfineoScript)"
                                                        },
                                                        "scope": {
                                                            "type": "string",
                                                            "example": "reference_value",
                                                            "enum": [
                                                                "reference_value",
                                                                "overloadable_repository_value",
                                                                "reference_value_directly_editable_locally",
                                                                "contextual_value",
                                                                "shared_value_to_project_group"
                                                            ],
                                                            "description": "Attribute scope"
                                                        },
                                                        "langs_label": {
                                                            "type": "object",
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "example": {
                                                                "Français (fr)": "Nom du produit",
                                                                "English (en)": "Product name"
                                                            },
                                                            "description": "Label translations by language"
                                                        },
                                                        "configuration": {
                                                            "type": "object",
                                                            "description": "Specific configuration based on data_type. Properties vary depending on the attribute type. See JSON schemas in attributes_schema folder for complete property list per data_type.",
                                                            "additionalProperties": true,
                                                            "example": {
                                                                "name": "role_231",
                                                                "system": false,
                                                                "class_linked_id": null,
                                                                "suffix_text": "€",
                                                                "suffix_list": null,
                                                                "specifications": null,
                                                                "alignment": 0,
                                                                "character_limit": "0-255",
                                                                "unique": 0,
                                                                "required": true,
                                                                "is_crossed_data": false,
                                                                "default_value": null,
                                                                "default_value_afs": 0,
                                                                "ai_completion": 0,
                                                                "multilingual": true,
                                                                "multilingual_default_value": 0,
                                                                "property": 0,
                                                                "property_label": "standard",
                                                                "remain_visible_master_asset": null,
                                                                "editable": true,
                                                                "indexed": false,
                                                                "display": false,
                                                                "help": "Help text",
                                                                "help_display": "overview",
                                                                "afs": null,
                                                                "default_inheritance": false,
                                                                "inheritable": false,
                                                                "crossed_attributes": [],
                                                                "permissions": [],
                                                                "asset_types": [],
                                                                "langs_help": [],
                                                                "langs_default_value": []
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "code",
                                                        "label",
                                                        "tags",
                                                        "class_id",
                                                        "data_type",
                                                        "type",
                                                        "order",
                                                        "view_asset",
                                                        "scope",
                                                        "langs_label",
                                                        "configuration"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ],
                                            "description": "Attribute information"
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Attribute \"231\" does not exist",
                                                    "description": "Error message with attribute ID"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attribute IDs for a library.",
                                        "example": 231
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/full/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "Get all attributes with full configuration",
                "description": "## Purpose\n\nReturns complete information about all attributes of a class with full configuration.\n\n## Structure\n\nCombines `attributes/list` envelope (`results_total`, `items`) with `attributes/get` detail level (common properties + `configuration` object).\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Full attributes information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 25,
                                                            "description": "Total number of attributes"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 231,
                                                                        "description": "Attribute ID"
                                                                    },
                                                                    "code": {
                                                                        "type": "string",
                                                                        "example": "product_name",
                                                                        "description": "Attribute code"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Product name",
                                                                        "description": "Attribute label"
                                                                    },
                                                                    "tags": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [
                                                                            "tag1",
                                                                            "tag2"
                                                                        ],
                                                                        "description": "Array of tags (can be empty)"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries."
                                                                    },
                                                                    "description": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "Product name description",
                                                                        "description": "Attribute description"
                                                                    },
                                                                    "tab_id": {
                                                                        "type": "integer",
                                                                        "example": 105,
                                                                        "description": "Tab ID. Use POST /api/v3/attributes/tabs/list with class_id to get available tabs."
                                                                    },
                                                                    "tab_label": {
                                                                        "type": "string",
                                                                        "example": "General",
                                                                        "description": "Tab label"
                                                                    },
                                                                    "group_id": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "example": 81,
                                                                        "description": "Group ID. Use POST /api/v3/attributes/groups/list with class_id to get available groups."
                                                                    },
                                                                    "group_label": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "Information",
                                                                        "description": "Group label"
                                                                    },
                                                                    "data_type": {
                                                                        "type": "string",
                                                                        "example": "short_text",
                                                                        "enum": [
                                                                            "afs",
                                                                            "asset_link",
                                                                            "boolean",
                                                                            "characteristic",
                                                                            "checkbox",
                                                                            "counter",
                                                                            "data_table",
                                                                            "date",
                                                                            "datetime",
                                                                            "decimal",
                                                                            "dropdown",
                                                                            "dropdown_editable",
                                                                            "dropdown_items",
                                                                            "dropdown_items_editable",
                                                                            "dynamic_afs",
                                                                            "dynamic_link",
                                                                            "ean",
                                                                            "email",
                                                                            "etim",
                                                                            "html",
                                                                            "integer",
                                                                            "long_text",
                                                                            "multi_dropdown",
                                                                            "multi_dropdown_items",
                                                                            "passthrough",
                                                                            "price",
                                                                            "product_table",
                                                                            "radio",
                                                                            "radio_items",
                                                                            "rich_text",
                                                                            "short_text",
                                                                            "splitter",
                                                                            "tiles",
                                                                            "tiles_required",
                                                                            "url"
                                                                        ],
                                                                        "description": "Data type"
                                                                    },
                                                                    "type": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "simple_value",
                                                                            "advanced_value"
                                                                        ],
                                                                        "example": "simple_value",
                                                                        "description": "Attribute type (simple_value or advanced_value)"
                                                                    },
                                                                    "order": {
                                                                        "type": "integer",
                                                                        "example": 5,
                                                                        "description": "Display order"
                                                                    },
                                                                    "view_asset": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether attribute is visible on the asset"
                                                                    },
                                                                    "dependency": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "{if #153#}1{/if}",
                                                                        "description": "Attribute dependencies (AfineoScript)"
                                                                    },
                                                                    "scope": {
                                                                        "type": "string",
                                                                        "example": "reference_value",
                                                                        "enum": [
                                                                            "reference_value",
                                                                            "overloadable_repository_value",
                                                                            "reference_value_directly_editable_locally",
                                                                            "contextual_value",
                                                                            "shared_value_to_project_group"
                                                                        ],
                                                                        "description": "Attribute scope"
                                                                    },
                                                                    "langs_label": {
                                                                        "type": "object",
                                                                        "additionalProperties": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": {
                                                                            "Français (fr)": "Nom du produit",
                                                                            "English (en)": "Product name"
                                                                        },
                                                                        "description": "Label translations by language"
                                                                    },
                                                                    "configuration": {
                                                                        "type": "object",
                                                                        "description": "Specific configuration based on data_type. Properties vary depending on the attribute type.",
                                                                        "additionalProperties": true,
                                                                        "example": {
                                                                            "name": "role_231",
                                                                            "system": false,
                                                                            "required": true,
                                                                            "multilingual": true,
                                                                            "editable": true,
                                                                            "indexed": false,
                                                                            "permissions": [],
                                                                            "asset_types": []
                                                                        }
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "code",
                                                                    "label",
                                                                    "tags",
                                                                    "class_id",
                                                                    "data_type",
                                                                    "type",
                                                                    "order",
                                                                    "view_asset",
                                                                    "scope",
                                                                    "langs_label",
                                                                    "configuration"
                                                                ]
                                                            },
                                                            "description": "Array of attributes with full configuration"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Class \"4\" does not exist",
                                                    "description": "Error message with class ID"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/list/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "List class attributes (simplified)",
                "description": "## Purpose\n\nReturns essential attribute information (id, code, label, data_type) for a class.\n\n## Pagination\n\nUse `num_page` and `results_per_page` together. Results per page: 10-1000.\n\n## Filtering\n\nFilter by `code`, `label`, `data_type`, `system`, `required`, `multilingual`, `indexed`, `scope`, and more. See params for all options.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Attributes information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Total number of attributes (before pagination)"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 15,
                                                                        "description": "Attribute ID"
                                                                    },
                                                                    "code": {
                                                                        "type": "string",
                                                                        "example": "attribute_code",
                                                                        "description": "Attribute code"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "My attribute",
                                                                        "description": "Attribute label"
                                                                    },
                                                                    "tags": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [
                                                                            "tag1",
                                                                            "tag2"
                                                                        ],
                                                                        "description": "Array of tags (can be empty)"
                                                                    },
                                                                    "data_type": {
                                                                        "type": "string",
                                                                        "example": "short_text",
                                                                        "enum": [
                                                                            "afs",
                                                                            "asset_link",
                                                                            "boolean",
                                                                            "characteristic",
                                                                            "checkbox",
                                                                            "counter",
                                                                            "data_table",
                                                                            "date",
                                                                            "datetime",
                                                                            "decimal",
                                                                            "dropdown",
                                                                            "dropdown_editable",
                                                                            "dropdown_items",
                                                                            "dropdown_items_editable",
                                                                            "dynamic_afs",
                                                                            "dynamic_link",
                                                                            "ean",
                                                                            "email",
                                                                            "etim",
                                                                            "html",
                                                                            "integer",
                                                                            "long_text",
                                                                            "multi_dropdown",
                                                                            "multi_dropdown_items",
                                                                            "passthrough",
                                                                            "price",
                                                                            "product_table",
                                                                            "radio",
                                                                            "radio_items",
                                                                            "rich_text",
                                                                            "short_text",
                                                                            "splitter",
                                                                            "tiles",
                                                                            "tiles_required",
                                                                            "url"
                                                                        ],
                                                                        "description": "Attribute data type (short_text, integer, dropdown_items, etc.)"
                                                                    },
                                                                    "required": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Required attribute (0=no, 1=yes)"
                                                                    },
                                                                    "multilingual": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Multilingual attribute (0=no, 1=yes)"
                                                                    },
                                                                    "indexed": {
                                                                        "type": "integer",
                                                                        "example": 0,
                                                                        "description": "Indexed attribute (0=no, 1=yes)"
                                                                    },
                                                                    "tab_label": {
                                                                        "type": "string",
                                                                        "example": "My tab label",
                                                                        "description": "Tab attribute label"
                                                                    },
                                                                    "group_label": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "Product Properties",
                                                                        "description": "Attribute group label (null if attribute has no group)"
                                                                    },
                                                                    "description": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "A description",
                                                                        "description": "Attribute description text (may be null)"
                                                                    },
                                                                    "scope": {
                                                                        "type": "string",
                                                                        "example": "reference_value",
                                                                        "enum": [
                                                                            "reference_value",
                                                                            "overloadable_repository_value",
                                                                            "reference_value_directly_editable_locally",
                                                                            "contextual_value",
                                                                            "shared_value_to_project_group"
                                                                        ],
                                                                        "description": "Attribute scope (reference_value, contextual_value, etc.)"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "code",
                                                                    "label",
                                                                    "tags",
                                                                    "data_type",
                                                                    "required",
                                                                    "multilingual",
                                                                    "indexed",
                                                                    "tab_label",
                                                                    "scope"
                                                                ]
                                                            },
                                                            "description": "Array of attributes objects"
                                                        },
                                                        "num_page": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 1,
                                                            "description": "Current page number (only if pagination is used)"
                                                        },
                                                        "nb_pages": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 3,
                                                            "description": "Total number of pages (only if pagination is used)"
                                                        },
                                                        "results_per_page": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 50,
                                                            "description": "Number of results per page (only if pagination is used)"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Class \"4\" does not exist",
                                                    "description": "Error message with class ID"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "num_page": {
                                        "type": "integer",
                                        "description": "Page number. Must be used together with results_per_page.",
                                        "example": 1
                                    },
                                    "results_per_page": {
                                        "type": "integer",
                                        "description": "Number of results per page (between 10 and 1000). Must be used together with num_page.",
                                        "example": 50
                                    },
                                    "filters": {
                                        "type": "object",
                                        "description": "Optional filter object with type_id (filter by attribute type) and other criteria.",
                                        "example": {
                                            "data_type": "date",
                                            "system": false,
                                            "indexed": true
                                        },
                                        "properties": {
                                            "code": {
                                                "type": "string",
                                                "description": "Partial match on attribute code (case-insensitive)",
                                                "example": "product"
                                            },
                                            "label": {
                                                "type": "string",
                                                "description": "Partial match on attribute label (case-insensitive)",
                                                "example": "price"
                                            },
                                            "class_linked_id": {
                                                "type": "integer",
                                                "description": "Associated library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                                "example": 22
                                            },
                                            "description": {
                                                "type": "string",
                                                "description": "Partial match on attribute description",
                                                "example": "product"
                                            },
                                            "tab_id": {
                                                "type": "integer",
                                                "description": "Tab ID. Use POST /api/v3/attributes/tabs/list with class_id to get available tabs.",
                                                "example": 105
                                            },
                                            "tab_label": {
                                                "type": "string",
                                                "description": "Tab label",
                                                "example": "My tab label"
                                            },
                                            "group_id": {
                                                "type": "integer",
                                                "description": "Attribute group ID. Use POST /api/v3/attributes/groups/list with class_id to get available groups.",
                                                "example": 81
                                            },
                                            "group_label": {
                                                "type": "string",
                                                "description": "Group label",
                                                "example": "My group label"
                                            },
                                            "name": {
                                                "type": "string",
                                                "description": "Partial match on attribute internal name (e.g. role_231)",
                                                "example": "role_231"
                                            },
                                            "system": {
                                                "type": "boolean",
                                                "description": "Filter by system attribute (true = system-managed only, false = user-created only)",
                                                "example": false
                                            },
                                            "data_type": {
                                                "type": "string",
                                                "description": "Attribute data type",
                                                "enum": [
                                                    "afs",
                                                    "asset_link",
                                                    "boolean",
                                                    "characteristic",
                                                    "checkbox",
                                                    "counter",
                                                    "data_table",
                                                    "date",
                                                    "datetime",
                                                    "decimal",
                                                    "dropdown",
                                                    "dropdown_editable",
                                                    "dropdown_items",
                                                    "dropdown_items_editable",
                                                    "dynamic_afs",
                                                    "dynamic_link",
                                                    "ean",
                                                    "email",
                                                    "etim",
                                                    "html",
                                                    "integer",
                                                    "long_text",
                                                    "multi_dropdown",
                                                    "multi_dropdown_items",
                                                    "passthrough",
                                                    "price",
                                                    "product_table",
                                                    "radio",
                                                    "radio_items",
                                                    "rich_text",
                                                    "short_text",
                                                    "splitter",
                                                    "tiles",
                                                    "tiles_required",
                                                    "url"
                                                ],
                                                "example": "short_text"
                                            },
                                            "list_values": {
                                                "type": "integer",
                                                "description": "Values list ID. Use POST /api/v3/listvalues/list with class_id to get available values lists.",
                                                "example": 32
                                            },
                                            "list": {
                                                "type": "boolean",
                                                "description": "Filter by asset bin attribute (true = bin/collection attributes only, false = standard attributes only)",
                                                "example": false
                                            },
                                            "unique": {
                                                "type": "integer",
                                                "description": "Unique value(s) (0=none, 1=check, 2=block)",
                                                "example": 2
                                            },
                                            "required": {
                                                "type": "boolean",
                                                "description": "Filter by required attribute (true = required only, false = optional only)",
                                                "example": true
                                            },
                                            "asset_link_management": {
                                                "type": "boolean",
                                                "description": "Filter by advanced value attribute (true = advanced_value only, false = simple_value only)",
                                                "example": false
                                            },
                                            "is_crossed_data": {
                                                "type": "boolean",
                                                "description": "Filter by advanced link attribute",
                                                "example": false
                                            },
                                            "multilingual": {
                                                "type": "boolean",
                                                "description": "Filter by multilingual attribute",
                                                "example": false
                                            },
                                            "property": {
                                                "type": "integer",
                                                "description": "Property value(s) (0=Standard, 1=Relevant, 2=Variation)",
                                                "example": 0
                                            },
                                            "editable": {
                                                "type": "boolean",
                                                "description": "Filter by editable attribute (true = editable only, false = read-only only)",
                                                "example": true
                                            },
                                            "indexed": {
                                                "type": "boolean",
                                                "description": "Filter by indexed attribute (true = indexed for search, false = not indexed)",
                                                "example": false
                                            },
                                            "view_asset": {
                                                "type": "boolean",
                                                "description": "Filter by visibility on asset sheet (true = visible on asset, false = hidden)",
                                                "example": true
                                            },
                                            "display": {
                                                "type": "boolean",
                                                "description": "Filter by display in asset list columns (true = shown in list, false = hidden)",
                                                "example": false
                                            },
                                            "scope": {
                                                "type": "string",
                                                "description": "Filter by attribute scope (reference_value, overloadable_repository_value, contextual_value, etc.)",
                                                "enum": [
                                                    "reference_value",
                                                    "overloadable_repository_value",
                                                    "reference_value_directly_editable_locally",
                                                    "contextual_value",
                                                    "shared_value_to_project_group"
                                                ],
                                                "example": "contextual_value"
                                            },
                                            "default_inheritance": {
                                                "type": "boolean",
                                                "description": "Filter by default inheritance (true = inherited by child assets by default)",
                                                "example": true
                                            },
                                            "inheritable": {
                                                "type": "boolean",
                                                "description": "Filter by inheritable attribute",
                                                "example": false
                                            },
                                            "usage": {
                                                "type": "boolean",
                                                "description": "Filter by usage (0=multi-valued, 1=single-valued)",
                                                "example": true
                                            },
                                            "create_value": {
                                                "type": "boolean",
                                                "description": "Filter by create value attribute",
                                                "example": true
                                            },
                                            "search": {
                                                "type": "integer",
                                                "description": "Search value(s) (0=no, 1=yes in full screen mode, 2=yes in drop-down mode)",
                                                "example": 2
                                            }
                                        }
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/types/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "Get attribute type assignments",
                "description": "## Purpose\n\nReturns asset type assignments for an attribute.\n\n## Response Details\n\nEach assignment includes:\n- `type_id`, `type_label`: Asset type identification\n- `supertype_id`, `supertype_label`: Parent supertype\n- `editability`: default, editable, or not_editable\n- `hide_interface`: visibility in UI\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Attribute type assignments response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Total number of asset types assigned to this attribute"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "type_id": {
                                                                        "type": "integer",
                                                                        "example": 407,
                                                                        "description": "Asset type ID"
                                                                    },
                                                                    "type_label": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "Product",
                                                                        "description": "Asset type label"
                                                                    },
                                                                    "supertype_id": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "example": 1,
                                                                        "description": "Supertype ID"
                                                                    },
                                                                    "supertype_label": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "Record",
                                                                        "description": "Supertype label"
                                                                    },
                                                                    "editability": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "default",
                                                                            "editable",
                                                                            "not_editable"
                                                                        ],
                                                                        "example": "editable",
                                                                        "description": "Editability setting for this attribute on this type"
                                                                    },
                                                                    "hide_interface": {
                                                                        "type": "boolean",
                                                                        "example": false,
                                                                        "description": "Whether the attribute is hidden in the interface for this type"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "type_id",
                                                                    "type_label",
                                                                    "supertype_id",
                                                                    "supertype_label",
                                                                    "editability",
                                                                    "hide_interface"
                                                                ]
                                                            },
                                                            "description": "Array of type assignments for this attribute"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = attribute not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Attribute \"231\" does not exist",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Not Found Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = no assignments found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "No type assignments found for attribute \"231\"",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attribute IDs for a library.",
                                        "example": 231
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/masks/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "Get attribute mask permissions",
                "description": "## Purpose\n\nReturns display mask assignments and permissions for an attribute.\n\n## Response Details\n\nEach assignment includes:\n- `mask_id`, `mask_label`: Display mask identification\n- `hidden`: attribute visibility for this mask\n- `read`, `write`: permission flags\n- `locally_editable`: reference value editability in assetShare\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Attribute mask permissions response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Total number of display masks assigned to this attribute"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "mask_id": {
                                                                        "type": "integer",
                                                                        "example": 1557,
                                                                        "description": "Display mask ID"
                                                                    },
                                                                    "mask_label": {
                                                                        "type": "string",
                                                                        "example": "Standard",
                                                                        "description": "Display mask label"
                                                                    },
                                                                    "hidden": {
                                                                        "type": "boolean",
                                                                        "example": false,
                                                                        "description": "Whether attribute is hidden for this mask (no LCA entry exists)"
                                                                    },
                                                                    "read": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Read permission for this attribute with this mask"
                                                                    },
                                                                    "write": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Write permission for this attribute with this mask"
                                                                    },
                                                                    "locally_editable": {
                                                                        "type": "boolean",
                                                                        "example": false,
                                                                        "description": "Whether reference value is directly editable locally (assetShare)"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "mask_id",
                                                                    "mask_label",
                                                                    "hidden",
                                                                    "read",
                                                                    "write",
                                                                    "locally_editable"
                                                                ]
                                                            },
                                                            "description": "Array of mask permissions for this attribute"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = attribute not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Attribute \"231\" does not exist",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Not Found Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = no permissions found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "No mask permissions found for attribute \"231\"",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attribute IDs for a library.",
                                        "example": 231
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/tabs/create/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "Create a new attribute tab",
                "description": "## Purpose\n\nCreates a new display tab in a library. Tabs organize attributes into logical sections in the asset editing interface.\n\n## Required Parameters\n\n- `class_id`: Library where the tab will be created\n- `label`: Display name for the tab\n\n## Idempotent Behavior\n\nIf a tab with the same label already exists in the library, the endpoint returns the existing tab with `created: false` instead of creating a duplicate.\n\n## Modeling Hierarchy\n\nLibrary → **Tab** → Group → Attributes\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tab creation response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Tab created successfully",
                                                    "description": "Success message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 45,
                                                            "description": "Tab ID"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Library ID"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Technical information",
                                                            "description": "Tab label"
                                                        },
                                                        "order": {
                                                            "type": "integer",
                                                            "example": 3,
                                                            "description": "Display order"
                                                        },
                                                        "created": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "true if newly created, false if already existed"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "class_id",
                                                        "label",
                                                        "order",
                                                        "created"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Label cannot be empty",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "label": {
                                        "type": "string",
                                        "description": "Tab label (display name). Common examples: Identification, Commercial, Technical, Logistics, Marketing.",
                                        "example": "Technical information"
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "label"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/tabs/update/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "Update an existing attribute tab",
                "description": "## Purpose\n\nUpdates properties of an existing display tab. Only provided fields are modified — omitted fields remain unchanged.\n\n## What can be updated\n\n- `label`: Display name\n\n## What cannot be updated\n\n- `class_id` (immutable — the tab belongs to a specific library)\n\n## Modeling Hierarchy\n\nLibrary → **Tab** → Group → Attributes\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tab update response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Tab updated successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 45,
                                                            "description": "Tab ID"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Library ID"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Technical information",
                                                            "description": "Tab label"
                                                        },
                                                        "updated_fields": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": [
                                                                "label"
                                                            ],
                                                            "description": "List of fields that were actually modified"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "class_id",
                                                        "label",
                                                        "updated_fields"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "enum": [
                                                        2,
                                                        997
                                                    ],
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 997 = insufficient permissions)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Tab not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Tab ID to update. Use POST /api/v3/attributes/tabs/list with class_id to get available tabs.",
                                        "example": 45
                                    },
                                    "label": {
                                        "type": "string",
                                        "description": "New tab label (display name)",
                                        "example": "Technical information"
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/groups/create/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "Create a new attribute group",
                "description": "## Purpose\n\nCreates a new attribute group within a tab. Groups organize attributes by theme within a tab.\n\n## Required Parameters\n\n- `class_id`: Library where the group will be created\n- `tab_id`: Parent tab ID (must belong to the specified library)\n- `label`: Display name for the group\n\n## Idempotent Behavior\n\nIf a group with the same label already exists in the same tab, the endpoint returns the existing group with `created: false` instead of creating a duplicate.\n\n## Modeling Hierarchy\n\nLibrary → Tab → **Group** → Attributes\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Group creation response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Group created successfully",
                                                    "description": "Success message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 78,
                                                            "description": "Group ID"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Library ID"
                                                        },
                                                        "tab_id": {
                                                            "type": "integer",
                                                            "example": 45,
                                                            "description": "Parent tab ID"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Dimensions",
                                                            "description": "Group label"
                                                        },
                                                        "order": {
                                                            "type": "integer",
                                                            "example": 3,
                                                            "description": "Display order within tab"
                                                        },
                                                        "created": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "true if newly created, false if already existed"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "class_id",
                                                        "tab_id",
                                                        "label",
                                                        "order",
                                                        "created"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Tab does not belong to specified library",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "tab_id": {
                                        "type": "integer",
                                        "description": "Parent tab ID. Must belong to the specified library. Use POST /api/v3/attributes/tabs/list with class_id to get available tabs.",
                                        "example": 45
                                    },
                                    "label": {
                                        "type": "string",
                                        "description": "Group label (display name). Common examples: Dimensions, Pricing, Identification, Properties.",
                                        "example": "Dimensions"
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "tab_id",
                                    "label"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/groups/update/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "Update an existing attribute group",
                "description": "## Purpose\n\nUpdates properties of an existing attribute group. Only provided fields are modified — omitted fields remain unchanged.\n\n## What can be updated\n\n- `label`: Display name\n\n## What cannot be updated\n\n- `tab_id` (immutable — the group belongs to a specific tab)\n\n## Important\n\nIf no updatable field is provided, the endpoint returns success with an empty `updated_fields` list.\n\n## Modeling Hierarchy\n\nLibrary → Tab → **Group** → Attributes\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Group update response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Group updated successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 78,
                                                            "description": "Group ID"
                                                        },
                                                        "tab_id": {
                                                            "type": "integer",
                                                            "example": 45,
                                                            "description": "Parent tab ID"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Dimensions",
                                                            "description": "Group label"
                                                        },
                                                        "updated_fields": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": [
                                                                "label"
                                                            ],
                                                            "description": "List of fields that were actually modified"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "tab_id",
                                                        "label",
                                                        "updated_fields"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "enum": [
                                                        2,
                                                        997
                                                    ],
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 997 = insufficient permissions)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Group not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Group ID to update. Use POST /api/v3/attributes/groups/list with class_id and tab_id to get available groups.",
                                        "example": 78
                                    },
                                    "label": {
                                        "type": "string",
                                        "description": "New group label (display name). Common examples: Dimensions, Pricing, Identification, Properties. Maximum 255 characters. Empty strings are not allowed.",
                                        "example": "Dimensions"
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/tabs/list/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "List attribute tabs",
                "description": "## Purpose\n\nReturns attribute tabs (form sections) for a library. Tabs organize attributes into logical groups in the asset editing interface.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tabs list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Total number of tabs"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 105,
                                                                        "description": "Tab ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "General",
                                                                        "description": "Tab label"
                                                                    },
                                                                    "order": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Display order"
                                                                    },
                                                                    "visible": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether the tab is visible"
                                                                    },
                                                                    "description": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": null,
                                                                        "description": "Tab description or help text (may be null)"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "label",
                                                                    "order",
                                                                    "visible"
                                                                ]
                                                            },
                                                            "description": "Array of tabs"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = no tabs found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "No tabs found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "include_hidden": {
                                        "type": "boolean",
                                        "description": "Include hidden tabs. By default, only visible tabs are returned.",
                                        "example": false
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/groups/list/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "List attribute groups",
                "description": "## Purpose\n\nReturns attribute groups within tabs for a library. Groups organize attributes within tabs.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Groups list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Total number of groups"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 81,
                                                                        "description": "Group ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Product Properties",
                                                                        "description": "Group label"
                                                                    },
                                                                    "tab_id": {
                                                                        "type": "integer",
                                                                        "example": 105,
                                                                        "description": "Parent tab ID"
                                                                    },
                                                                    "tab_label": {
                                                                        "type": "string",
                                                                        "example": "General",
                                                                        "description": "Parent tab label"
                                                                    },
                                                                    "order": {
                                                                        "type": "integer",
                                                                        "example": 3,
                                                                        "description": "Display order within tab"
                                                                    },
                                                                    "description": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": null,
                                                                        "description": "Attribute group description or help text (may be null)"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "label",
                                                                    "tab_id",
                                                                    "tab_label",
                                                                    "order"
                                                                ]
                                                            },
                                                            "description": "Array of groups"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = no groups found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "No groups found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "tab_id": {
                                        "type": "integer",
                                        "description": "Filter by tab. Use POST /api/v3/attributes/tabs/list with class_id to get available tabs.",
                                        "example": 105
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/schema/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "Get attribute schema by data type",
                "description": "## Purpose\n\nReturns the JSON schema defining all available properties for a specific attribute data type.\n\n## Response Structure\n\nThe schema returns all properties at root level (flat structure).\n\n**Important**: When calling the create endpoint, common properties (`class_id`, `tab_id`, `data_type`, `label`, `code`, `group_id`, `description`) go at root level, while all other properties from the schema should be placed inside the `configuration` object.\n\n**Note**: JSON Schema standard keys are converted to snake_case in the response (`allOf` -> `all_of`, `maxLength` -> `max_length`, `additionalProperties` -> `additional_properties`).\n\n## Use Cases\n\n- Discover required and optional fields before calling POST /api/v3/attributes/create/\n- Understand validation rules, default values, and enum constraints for each property\n\n## Workflow\n\n1. Call this endpoint with the desired data_type\n2. Receive the flat JSON schema listing all available properties with types, defaults, and validation rules\n3. When preparing your create request: put common fields at root level, put all type-specific fields inside `configuration: {...}`\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Schema response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "description": "JSON Schema object defining the attribute properties",
                                                    "properties": {
                                                        "$schema": {
                                                            "type": "string",
                                                            "example": "http://json-schema.org/draft-07/schema#"
                                                        },
                                                        "title": {
                                                            "type": "string",
                                                            "example": "Schéma de l'attribut Afineo : texte court"
                                                        },
                                                        "description": {
                                                            "type": "string",
                                                            "example": "Schéma décrivant toutes les options possibles pour un attribut de nature : short_text"
                                                        },
                                                        "type": {
                                                            "type": "string",
                                                            "example": "object"
                                                        },
                                                        "properties": {
                                                            "type": "object",
                                                            "description": "Property definitions with types, descriptions, and validation rules",
                                                            "additionalProperties": true
                                                        },
                                                        "allOf": {
                                                            "type": "array",
                                                            "description": "Conditional validation rules based on property values",
                                                            "items": {
                                                                "type": "object"
                                                            }
                                                        }
                                                    }
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = invalid data_type)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Schema not found for data_type \"invalid_type\"",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "data_type": {
                                        "type": "string",
                                        "description": "The attribute data type to get the creation schema for. Returns all available properties (common + configuration object) with types, descriptions, default values, and validation rules. Use this before calling POST /api/v3/attributes/create/ to understand required and optional fields for the chosen type.",
                                        "enum": [
                                            "afs",
                                            "asset_link",
                                            "boolean",
                                            "checkbox",
                                            "counter",
                                            "data_table",
                                            "date",
                                            "datetime",
                                            "decimal",
                                            "dropdown_items",
                                            "dropdown_items_editable",
                                            "dynamic_link",
                                            "ean",
                                            "email",
                                            "html",
                                            "integer",
                                            "long_text",
                                            "multi_dropdown_items",
                                            "passthrough",
                                            "price",
                                            "product_table",
                                            "radio_items",
                                            "rich_text",
                                            "short_text",
                                            "splitter",
                                            "url"
                                        ],
                                        "example": "short_text"
                                    }
                                },
                                "required": [
                                    "data_type"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/create/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "Create a new attribute",
                "description": "## Purpose\n\nCreates a new attribute with validation against the JSON schema for the specified data_type.\n\n## Workflow\n\n1. First call POST /api/v3/attributes/schema/ with your desired data_type to get the schema\n2. Prepare your attribute data according to the schema requirements\n3. Call this endpoint with common properties at root level and type-specific properties in `configuration`\n\n## Parameter Structure\n\nParameters are organized in two levels:\n- **Root level**: Common properties required for all data types\n- **configuration**: Object containing type-specific properties (varies by data_type)\n\n## Required Fields (all data types)\n\n- `class_id`: Library ID where the attribute will be created\n- `tab_id`: Tab ID where the attribute will be placed\n- `data_type`: The attribute data type (determines available configuration properties)\n- `label`: Display label for the attribute\n- `code`: Unique code/identifier (must start with a letter, globally unique across all libraries)\n\n## Type-Specific Requirements (in configuration)\n\nSome data types require additional fields in the configuration object:\n- `asset_link`, `dynamic_link`: requires `class_linked_id` (target library ID, use POST /api/v3/administration/classes/list to get available IDs)\n- `dynamic_link`: also requires `dynamic_afs` (AfineoScript for dynamic search)\n- `dropdown_items`, `dropdown_items_editable`, `multi_dropdown_items`, `radio_items`, `checkbox_items`: requires `list_values` (values list ID, must belong to same class_id - get IDs via POST /api/v3/listvalues/list)\n- `afs`: requires `afs` (AfineoScript formula, e.g. `{ref:product_name} - {ref:brand}`)\n- `counter`: accepts `counter_start` (integer, starting value, default 0), `counter_afs` (string, AfineoScript for counter format), `counter_nbcharacters` (integer, zero-padding character count)\n- See schema endpoint for complete requirements per data_type\n\n## Type-Specific Restrictions\n\nSome data types have restrictions on configuration properties:\n- `splitter`: indexed and editable are forbidden (visual separator only)\n- `counter`: editable is forbidden (auto-incremented)\n- `multi_dropdown_items`: multilingual is forbidden (managed at list level)\n- `passthrough`: required, unique, indexed, default_value, character_limit are forbidden (display-only)\n- `inheritable` and `default_inheritance` are mutually exclusive (cannot both be true)\n- `ai_completion` is only available for short_text, long_text, and rich_text\n- `create_value` and `display_assets` are only available for asset_link and dynamic_link\n- `asset_multiple` requires `display_assets` to be 2\n- `remain_visible_master_asset` requires `property` to be 2\n- `multilingual_default_value` requires `multilingual` to be 1\n- When `default_value_afs` is 1, `afs` (AfineoScript formula) is required\n\n## Crossed Data Attributes\n\nSet `is_crossed_data: true` in configuration to create a crossed data attribute.\n\n**Requirements**:\n- The library must support crossed data\n- Forbidden data_types: afs, dynamic_afs, splitter, etim, characteristic\n\n**Forbidden properties** (automatically disabled when is_crossed_data is true):\nrequired, unique, default_value, default_value_afs, multilingual, property, inheritable, default_inheritance, alignment, character_limit, help, ai_completion, create_value, search, search_context, dependency, dynamic_afs, display_assets, usage, counter_start, counter_afs.\n\n## Example Call\n\n```json\n{\n  \"class_id\": 4,\n  \"tab_id\": 105,\n  \"data_type\": \"short_text\",\n  \"label\": \"Product Name\",\n  \"code\": \"product_name\",\n  \"configuration\": {\n    \"required\": 1,\n    \"multilingual\": 1,\n    \"unique\": 1,\n    \"character_limit\": \"0-255\"\n  }\n}\n```\n\n## Example: Create a dropdown_items attribute\n\n```json\n{\n  \"class_id\": 4,\n  \"tab_id\": 105,\n  \"data_type\": \"dropdown_items\",\n  \"label\": \"Color\",\n  \"code\": \"product_color\",\n  \"configuration\": {\n    \"list_values\": 12,\n    \"required\": 1\n  }\n}\n```\n\n## Common Errors\n\n- `Class ID \"X\" is invalid` - the specified class_id does not exist or is not active\n- `class_linked_id is required for data type \"X\"` - asset_link and dynamic_link types require a target library\n- `Tab not found: X` - the specified tab_id does not exist\n- `Tab X does not belong to class Y` - tab_id must belong to the specified class_id\n- `Group not found: X` - the specified group_id does not exist\n- `Group X does not belong to tab Y` - group_id must belong to the specified tab_id\n- `Values list not found: X` - the specified list_values does not exist\n- `Values list X does not belong to class Y` - list_values in configuration must belong to the same class_id\n- `Target class (class_linked_id) not found: X` - the specified class_linked_id does not exist\n- `Attribute code already exists: X` - code must be globally unique across all libraries\n- `Invalid code format` - code must match ^[a-zA-Z][a-zA-Z0-9_]*$\n- `Label exceeds maximum length of 255 characters` - label must be <= 255 chars\n- `Description exceeds maximum length of 500 characters` - description must be <= 500 chars\n- `Help exceeds maximum length of 1000 characters` - help (in configuration) must be <= 1000 chars\n- `Library X does not accept crossed data attributes` - library must support crossed data\n- `Data type X is not compatible with crossed data attributes` - some types are forbidden for crossed data\n- `\"X\" is not allowed for crossed data attributes` - property X is forbidden when is_crossed_data is true\n- `\"list_values\" is required for data type \"X\"` - dropdown_items, dropdown_items_editable, multi_dropdown_items, radio_items, checkbox_items need list_values\n- `\"afs\" is required for data type \"afs\"` - afs type needs the afs formula\n- `\"dynamic_afs\" is required for data type \"dynamic_link\"` - dynamic_link type needs the dynamic_afs script\n- `\"X\" is not available for data type \"Y\"` - property X is not allowed for the specified data_type\n- `Invalid \"character_limit\" format` - must be in \"min-max\" format (e.g., \"0-255\")\n- `Invalid \"character_limit\": minimum cannot be greater than maximum` - min value must be <= max value\n- `\"ai_completion\" is only available for short_text, long_text, and rich_text` - type restriction\n- `\"create_value\" is only available for asset_link and dynamic_link` - type restriction\n- `\"display_assets\" is only available for asset_link and dynamic_link` - type restriction\n- `\"asset_multiple\" requires \"display_assets\" to be 2` - dependency constraint\n- `\"remain_visible_master_asset\" requires \"property\" to be 2` - dependency constraint\n- `\"multilingual_default_value\" requires \"multilingual\" to be 1` - dependency constraint\n- `When \"default_value_afs\" is 1, \"afs\" is required` - dependency constraint\n- `scope_id X is not available for simple value types` - scope restriction for certain data types\n- `counter_start must be >= 0` - counter starting value must be non-negative\n- `counter_nbcharacters must be >= 0` - counter zero-padding must be non-negative\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Create attribute response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Attribute created successfully",
                                                    "description": "Success message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 456,
                                                            "description": "ID of the created attribute"
                                                        },
                                                        "code": {
                                                            "type": "string",
                                                            "example": "product_name",
                                                            "description": "Attribute code"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Product Name",
                                                            "description": "Attribute label"
                                                        },
                                                        "data_type": {
                                                            "type": "string",
                                                            "example": "short_text",
                                                            "description": "Attribute data type"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Library ID"
                                                        },
                                                        "tab_id": {
                                                            "type": "integer",
                                                            "example": 105,
                                                            "description": "Tab ID"
                                                        },
                                                        "field_name": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "role_456",
                                                            "description": "Database field name (for simple_value types)"
                                                        },
                                                        "is_crossed_data": {
                                                            "type": "boolean",
                                                            "nullable": true,
                                                            "example": true,
                                                            "description": "Present and true only when the attribute was created as crossed data"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "code",
                                                        "label",
                                                        "data_type",
                                                        "class_id",
                                                        "tab_id"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Validation Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Validation failed: class_linked_id is required for data_type asset_link",
                                                    "description": "Validation error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = creation error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Error creating attribute: Attribute code already exists",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID where the attribute will be created. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "tab_id": {
                                        "type": "integer",
                                        "description": "Tab ID where the attribute will be placed. Must belong to the specified class_id (validated server-side). Use POST /api/v3/attributes/tabs/list with class_id to get available tabs for that library.",
                                        "example": 105
                                    },
                                    "data_type": {
                                        "type": "string",
                                        "description": "The attribute data type. Determines available configuration properties. Common types: short_text (free text), dropdown_items (select from list), integer, decimal, boolean, date, asset_link (link to another library), rich_text (HTML content). After choosing a type, call POST /api/v3/attributes/schema/ with this data_type to get required configuration properties.",
                                        "enum": [
                                            "afs",
                                            "asset_link",
                                            "boolean",
                                            "checkbox",
                                            "counter",
                                            "data_table",
                                            "date",
                                            "datetime",
                                            "decimal",
                                            "dropdown_items",
                                            "dropdown_items_editable",
                                            "dynamic_link",
                                            "ean",
                                            "email",
                                            "html",
                                            "integer",
                                            "long_text",
                                            "multi_dropdown_items",
                                            "passthrough",
                                            "price",
                                            "product_table",
                                            "radio_items",
                                            "rich_text",
                                            "short_text",
                                            "splitter",
                                            "url"
                                        ],
                                        "example": "short_text"
                                    },
                                    "label": {
                                        "type": "string",
                                        "description": "Display label for the attribute. Shown in forms and listings. Maximum 255 characters.",
                                        "example": "Product Name"
                                    },
                                    "code": {
                                        "type": "string",
                                        "description": "Unique code/identifier for the attribute (XML code). Must start with a letter and contain only alphanumeric characters and underscores (regex: ^[a-zA-Z][a-zA-Z0-9_]*$). Must be globally unique across all libraries. Example: product_name, ean_code.",
                                        "example": "product_name"
                                    },
                                    "group_id": {
                                        "type": "integer",
                                        "description": "Group ID within the tab. Must belong to the specified tab_id (validated server-side). Use POST /api/v3/attributes/groups/list with class_id and optionally tab_id to get available groups. Omit to place the attribute outside any group.",
                                        "example": 81
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "Description of the attribute. Provides context for users filling the form. Maximum 500 characters.",
                                        "example": "The main product name displayed to customers"
                                    },
                                    "configuration": {
                                        "type": "object",
                                        "description": "Type-specific configuration properties. Available properties depend on the data_type. Key properties by type: dropdown_items/dropdown_items_editable/multi_dropdown_items/radio_items/checkbox_items require list_values (must belong to same class_id, get IDs via POST /api/v3/listvalues/list); asset_link/dynamic_link require class_linked_id (target library ID); dynamic_link also requires dynamic_afs; afs requires afs (formula). Use POST /api/v3/attributes/schema/ to get the complete schema for a specific data_type.",
                                        "example": {
                                            "required": 1,
                                            "multilingual": 1,
                                            "unique": 1,
                                            "character_limit": "0-255"
                                        }
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "tab_id",
                                    "data_type",
                                    "label",
                                    "code"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/batch-create/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "Create multiple attributes in batch",
                "description": "## Purpose\n\nCreates multiple attributes in a single call with cache revalidation only at the end, improving performance for bulk operations.\n\n## Workflow\n\n1. Call POST /api/v3/attributes/tabs/list and POST /api/v3/attributes/groups/list to get available tabs and groups\n2. Call POST /api/v3/attributes/schema/ for each data_type you plan to use\n3. Prepare your attributes array\n4. Call this endpoint\n\n## Behavior\n\n- All attributes are created in the same library (`class_id` at root level)\n- Each attribute is validated independently (same rules as POST /api/v3/attributes/create/)\n- If an attribute fails validation, it is skipped and reported in `errors` — other attributes are still created\n- Cache is revalidated only once at the end (not after each attribute), which is significantly faster for large batches\n\n## Status Codes\n\n- `1`: All attributes created successfully\n- `2`: Partial success — some attributes created, some failed (check `errors` array)\n- `3`: All attributes failed\n\n## Example Call\n\n```json\n{\n  \"class_id\": 4,\n  \"attributes\": [\n    {\n      \"tab_id\": 105,\n      \"data_type\": \"short_text\",\n      \"label\": \"Product Name\",\n      \"code\": \"product_name\",\n      \"configuration\": {\n        \"required\": 1,\n        \"multilingual\": 1\n      }\n    },\n    {\n      \"tab_id\": 105,\n      \"data_type\": \"integer\",\n      \"label\": \"Weight\",\n      \"code\": \"product_weight\",\n      \"configuration\": {\n        \"indexed\": 1\n      }\n    },\n    {\n      \"tab_id\": 106,\n      \"data_type\": \"dropdown_items\",\n      \"label\": \"Color\",\n      \"code\": \"product_color\",\n      \"configuration\": {\n        \"list_values\": 12\n      }\n    }\n  ]\n}\n```\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Batch create response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status_code": {
                                            "type": "integer",
                                            "example": 1,
                                            "description": "Status code (1 = all success, 2 = partial success, 3 = all failed)"
                                        },
                                        "status_message": {
                                            "type": "string",
                                            "example": "3 attribute(s) created successfully",
                                            "description": "Summary message"
                                        },
                                        "result": {
                                            "type": "object",
                                            "properties": {
                                                "created": {
                                                    "type": "array",
                                                    "description": "Array of successfully created attributes",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer",
                                                                "description": "Created attribute ID"
                                                            },
                                                            "code": {
                                                                "type": "string",
                                                                "description": "Attribute code"
                                                            },
                                                            "label": {
                                                                "type": "string",
                                                                "description": "Attribute label"
                                                            },
                                                            "data_type": {
                                                                "type": "string",
                                                                "description": "Attribute data type"
                                                            },
                                                            "class_id": {
                                                                "type": "integer",
                                                                "description": "Library ID"
                                                            },
                                                            "tab_id": {
                                                                "type": "integer",
                                                                "description": "Tab ID"
                                                            },
                                                            "field_name": {
                                                                "type": "string",
                                                                "nullable": true,
                                                                "description": "Database field name"
                                                            }
                                                        }
                                                    }
                                                },
                                                "errors": {
                                                    "type": "array",
                                                    "description": "Array of failed attributes with error details",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "index": {
                                                                "type": "integer",
                                                                "description": "Index in the original attributes array"
                                                            },
                                                            "code": {
                                                                "type": "string",
                                                                "nullable": true,
                                                                "description": "Attribute code (if provided)"
                                                            },
                                                            "label": {
                                                                "type": "string",
                                                                "nullable": true,
                                                                "description": "Attribute label (if provided)"
                                                            },
                                                            "error": {
                                                                "type": "string",
                                                                "description": "Error message"
                                                            }
                                                        }
                                                    }
                                                },
                                                "total_requested": {
                                                    "type": "integer",
                                                    "description": "Total number of attributes requested"
                                                },
                                                "total_created": {
                                                    "type": "integer",
                                                    "description": "Number of successfully created attributes"
                                                },
                                                "total_errors": {
                                                    "type": "integer",
                                                    "description": "Number of failed attributes"
                                                }
                                            }
                                        }
                                    },
                                    "required": [
                                        "status_code",
                                        "status_message",
                                        "result"
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID where all attributes will be created. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "attributes": {
                                        "type": "array",
                                        "description": "Array of attribute objects to create. Each object has the same structure as POST /api/v3/attributes/create/ parameters (except class_id which is defined at root level). (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "tab_id": 105,
                                                "data_type": "short_text",
                                                "label": "Product Name",
                                                "code": "product_name",
                                                "configuration": {
                                                    "required": 1,
                                                    "multilingual": 1
                                                }
                                            },
                                            {
                                                "tab_id": 105,
                                                "data_type": "integer",
                                                "label": "Weight",
                                                "code": "product_weight"
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "tab_id": {
                                                    "required": true,
                                                    "type": "integer",
                                                    "description": "Tab ID where the attribute will be placed. Must belong to the specified class_id (validated server-side). Use POST /api/v3/attributes/tabs/list with class_id to get available tabs.",
                                                    "example": 105
                                                },
                                                "data_type": {
                                                    "required": true,
                                                    "type": "string",
                                                    "description": "The attribute data type. Determines available configuration properties. Common types: short_text, dropdown_items, integer, decimal, boolean, date, asset_link, rich_text. Call POST /api/v3/attributes/schema/ to get the schema for a specific data_type.",
                                                    "enum": [
                                                        "afs",
                                                        "asset_link",
                                                        "boolean",
                                                        "checkbox",
                                                        "counter",
                                                        "data_table",
                                                        "date",
                                                        "datetime",
                                                        "decimal",
                                                        "dropdown_items",
                                                        "dropdown_items_editable",
                                                        "dynamic_link",
                                                        "ean",
                                                        "email",
                                                        "html",
                                                        "integer",
                                                        "long_text",
                                                        "multi_dropdown_items",
                                                        "passthrough",
                                                        "price",
                                                        "product_table",
                                                        "radio_items",
                                                        "rich_text",
                                                        "short_text",
                                                        "splitter",
                                                        "url"
                                                    ],
                                                    "example": "short_text"
                                                },
                                                "label": {
                                                    "required": true,
                                                    "type": "string",
                                                    "description": "Display label for the attribute. Maximum 255 characters.",
                                                    "example": "Product Name"
                                                },
                                                "code": {
                                                    "required": true,
                                                    "type": "string",
                                                    "description": "Unique code/identifier (XML code). Must start with a letter, contain only alphanumeric characters and underscores. Must be globally unique across all libraries.",
                                                    "example": "product_name"
                                                },
                                                "group_id": {
                                                    "required": false,
                                                    "type": "integer",
                                                    "description": "Group ID within the tab. Must belong to the specified tab_id. Omit to place the attribute outside any group.",
                                                    "example": 81
                                                },
                                                "description": {
                                                    "required": false,
                                                    "type": "string",
                                                    "description": "Description of the attribute. Maximum 500 characters.",
                                                    "example": "The main product name displayed to customers"
                                                },
                                                "configuration": {
                                                    "required": false,
                                                    "type": "object",
                                                    "description": "Type-specific configuration properties. Available properties depend on the data_type. Key properties by type: dropdown_items/multi_dropdown_items/radio_items/checkbox_items require list_values; asset_link/dynamic_link require class_linked_id; afs requires afs (formula). Use POST /api/v3/attributes/schema/ for the complete schema per data_type.",
                                                    "example": {
                                                        "required": 1,
                                                        "multilingual": 1,
                                                        "character_limit": "0-255"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "attributes"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/update/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "Update an existing attribute",
                "description": "## Purpose\n\nUpdates an existing attribute's properties. Only send the properties you want to change.\n\n## Immutable Fields (cannot be changed)\n\n- `code`: The unique identifier cannot be renamed\n- `data_type`: The data type cannot be changed after creation\n- `class_id`: The attribute cannot be moved to a different library\n\n## Workflow\n\n1. First call POST /api/v3/attributes/get/ with the parameter `id` to see current values\n2. Prepare only the properties you want to change\n3. Call this endpoint with parameter `id` and the changed properties\n\n## Parameter Structure\n\nParameters are organized in two levels:\n- **Root level**: `id` (required) + common properties (label, tab_id, group_id, description)\n- **configuration**: Object containing type-specific properties to update (same properties as create, all optional)\n\n## What Can Be Updated\n\n### Root Level Properties\n- `label`: Change the display label\n- `tab_id`: Move attribute to a different tab (must belong to same library)\n- `group_id`: Move attribute to a different group (must belong to the target tab). Set to 0 to remove from group.\n- `description`: Change the description\n\n### Configuration Properties (type-specific)\nAll configuration properties available for the attribute's data_type can be updated:\n- `required`, `multilingual`, `unique`, `indexed`, `editable`, `view_asset`\n- `character_limit`, `default_value`, `help`, `help_display`\n- `inheritable`, `default_inheritance`, `property`, `scope_id`\n- `ai_completion`, `ai_completion_config`\n- `list_values` (for dropdown_items types), `class_linked_id` (for link types)\n- And all other type-specific properties (see POST /api/v3/attributes/schema/)\n\n## Restrictions\n\n- System attributes (`system = true`) cannot be updated\n- Crossed data attributes have the same property restrictions as during creation\n- `inheritable` and `default_inheritance` remain mutually exclusive\n- Type-specific restrictions still apply (see create endpoint documentation)\n\n## Example: Update label and make required\n\n```json\n{\n  \"id\": 456,\n  \"label\": \"New Product Name\",\n  \"configuration\": {\n    \"required\": 1\n  }\n}\n```\n\n## Example: Move attribute to different tab and group\n\n```json\n{\n  \"id\": 456,\n  \"tab_id\": 110,\n  \"group_id\": 85\n}\n```\n\n## Common Errors\n\n- `Attribute not found: X` - the specified id does not exist\n- `System attributes cannot be updated` - attribute has system flag\n- `Tab not found: X` - the specified tab_id does not exist\n- `Tab X does not belong to class Y` - tab must belong to the attribute's library\n- `Group not found: X` - the specified group_id does not exist\n- `Group X does not belong to tab Y` - group must belong to the target tab\n- `Values list not found: X` - the specified list_values does not exist\n- `Values list X does not belong to class Y` - list must belong to the attribute's library\n- All validation errors from create also apply (type restrictions, dependency constraints, etc.)\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Update attribute response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Attribute updated successfully",
                                                    "description": "Success message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "description": "Full attribute data after update (same format as GET endpoint)",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 456,
                                                            "description": "Attribute ID"
                                                        },
                                                        "code": {
                                                            "type": "string",
                                                            "example": "product_name",
                                                            "description": "Attribute code"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "New Product Name",
                                                            "description": "Updated attribute label"
                                                        },
                                                        "data_type": {
                                                            "type": "string",
                                                            "example": "short_text",
                                                            "description": "Attribute data type"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Library ID"
                                                        },
                                                        "configuration": {
                                                            "type": "object",
                                                            "description": "Full type-specific configuration after update"
                                                        }
                                                    }
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Validation Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Attribute not found: 999",
                                                    "description": "Validation error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = update error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Error updating attribute: ...",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "ID of the attribute to update. Use POST /api/v3/attributes/list/ or POST /api/v3/attributes/get/ to find attribute IDs.",
                                        "example": 456
                                    },
                                    "label": {
                                        "type": "string",
                                        "description": "New display label for the attribute. Maximum 255 characters.",
                                        "example": "New Product Name"
                                    },
                                    "tab_id": {
                                        "type": "integer",
                                        "description": "Move attribute to this tab. Must belong to the same library as the attribute. Use POST /api/v3/attributes/tabs/list/ with class_id to get available tabs.",
                                        "example": 110
                                    },
                                    "group_id": {
                                        "type": "integer",
                                        "description": "Move attribute to this group. Must belong to the target tab (current or new tab_id). Set to 0 to remove from any group. Use POST /api/v3/attributes/groups/list/ with class_id and tab_id to get available groups.",
                                        "example": 85
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "New description for the attribute. Maximum 500 characters.",
                                        "example": "Updated product description field"
                                    },
                                    "configuration": {
                                        "type": "object",
                                        "description": "Type-specific configuration properties to update. Only include properties you want to change. Available properties depend on the attribute's data_type. Use POST /api/v3/attributes/schema/ to see available properties for a data_type.",
                                        "example": {
                                            "required": 1,
                                            "multilingual": 1,
                                            "character_limit": "0-255"
                                        }
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/attributes/assign-types/": {
            "post": {
                "tags": [
                    "attributes"
                ],
                "summary": "Sync attribute assignments for types (add + remove)",
                "description": "## Purpose\n\nSynchronizes attribute assignments for one or more record types. For each type, defines the **complete list** of attributes that should be assigned. The endpoint computes a diff against the current state and applies additions and removals automatically.\n\n## Sync Behavior (like Excel import)\n\n- Attributes in the list but NOT currently assigned → **added**\n- Attributes currently assigned but NOT in the list → **removed**\n- Attributes in both → **unchanged**\n- This is the same logic as the \"Import jeux d'attributs\" Excel feature\n\n## Accepts IDs or Codes/Labels\n\n- `type`: integer (type ID) or string (type label, case-insensitive)\n- `attributes`: array of integers (attribute IDs) or strings (attribute codes, case-insensitive)\n- Both formats can be mixed in the same array\n\n## Complete workflow\n\n1. `attributes/tabs/create` - Create tab\n2. `attributes/groups/create` - Create group in tab\n3. `attributes/create` or `attributes/batch-create` - Create attribute(s)\n4. `attributes/assign-types` - Sync type assignments (you are here)\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sync result response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "3 added, 2 removed across 2 type(s)",
                                                    "description": "Summary message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "description": "Sync details per type",
                                                    "properties": {
                                                        "types": {
                                                            "type": "array",
                                                            "description": "Results for each type",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "type_id": {
                                                                        "type": "integer",
                                                                        "example": 12
                                                                    },
                                                                    "added": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "integer"
                                                                        },
                                                                        "example": [
                                                                            456,
                                                                            457
                                                                        ]
                                                                    },
                                                                    "removed": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "integer"
                                                                        },
                                                                        "example": [
                                                                            300
                                                                        ]
                                                                    },
                                                                    "total_after": {
                                                                        "type": "integer",
                                                                        "example": 5
                                                                    },
                                                                    "unresolved_attributes": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [],
                                                                        "description": "Attribute codes that could not be resolved (only present if any)"
                                                                    }
                                                                }
                                                            }
                                                        },
                                                        "total_added": {
                                                            "type": "integer",
                                                            "example": 3
                                                        },
                                                        "total_removed": {
                                                            "type": "integer",
                                                            "example": 2
                                                        },
                                                        "cache_refreshed": {
                                                            "type": "boolean",
                                                            "example": true
                                                        },
                                                        "errors": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": []
                                                        }
                                                    }
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Parameter \"assignments\" must be a non-empty array",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "assignments": {
                                        "type": "array",
                                        "description": "Array of objects, each defining the complete attribute set for a type. Each object must have \"type\" (integer ID or string label, use POST /api/v3/types/list with class_id to discover) and \"attributes\" (array of integer IDs or string codes, use POST /api/v3/attributes/list with class_id to discover). WARNING: this is a SYNC operation — attributes not in the list will be REMOVED from the type. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "type": "PROJECTEURS",
                                                "attributes": [
                                                    "datedecreation",
                                                    "libelleerp",
                                                    456
                                                ]
                                            },
                                            {
                                                "type": 12,
                                                "attributes": [
                                                    456,
                                                    457,
                                                    458
                                                ]
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "title": "Item"
                                        }
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "assignments"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/export/get-file/": {
            "post": {
                "tags": [
                    "export"
                ],
                "summary": "Get export file by queue ID",
                "description": "## Purpose\n\nReturns file information (name, size, URL) for a completed export using the queue_id.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Export file",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "file": {
                                                            "type": "string",
                                                            "example": "export_20250901_120000.csv",
                                                            "description": "File name"
                                                        },
                                                        "extension": {
                                                            "type": "string",
                                                            "example": "csv",
                                                            "description": "File extension"
                                                        },
                                                        "size": {
                                                            "type": "integer",
                                                            "example": 10000,
                                                            "description": "File size (in bytes)"
                                                        },
                                                        "file_url": {
                                                            "type": "string",
                                                            "example": "https://my-afineo.com/gallery/global/dl/files/export_20250901_120000.csv",
                                                            "description": "File url"
                                                        }
                                                    },
                                                    "required": [
                                                        "file",
                                                        "extension",
                                                        "size",
                                                        "file_url"
                                                    ],
                                                    "description": "Generated file information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (2 = Parameters error, 3 = No file found / Export is running / ...)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "No file found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "queue_id": {
                                        "type": "integer",
                                        "description": "Queue ID returned by export/jobs-by-mapping endpoints. Use this to retrieve the generated export file after async processing completes. Workflow: 1) Call jobs-by-mapping → get queue_id, 2) Poll queues/get until status=\"finished\", 3) Call this endpoint to download.",
                                        "example": 50
                                    }
                                },
                                "required": [
                                    "queue_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/export/by-mapping/repository/": {
            "post": {
                "tags": [
                    "export"
                ],
                "summary": "Export repository data by mapping",
                "description": "## Purpose\n\nExports repository assets to JSON using a preconfigured mapping with pagination and filters.\n\n## Format Options\n\n- `simple`: Standard attribute format (default)\n- `composed`: Recursive JSON structure\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "JSON export response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 15,
                                                            "description": "Total number of items"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object"
                                                            },
                                                            "description": "Export data"
                                                        },
                                                        "num_page": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 1,
                                                            "description": "Current page number"
                                                        },
                                                        "nb_pages": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 15,
                                                            "description": "Total number of pages"
                                                        },
                                                        "results_per_page": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 100,
                                                            "description": "Number of results per page"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ],
                                                    "description": "Export result"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = Export result not valid / Export error / ...)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Export result not valid",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Parent asset ID in repository. Use POST /api/v3/get-asset/by-search/repository to find assets. Set to 0 for repository root.",
                                        "example": 4350
                                    },
                                    "mapping_id": {
                                        "type": "integer",
                                        "description": "Mapping ID. Use POST /api/v3/mappings/list/ with class_id to discover available mappings for a given class.",
                                        "example": 23
                                    },
                                    "num_page": {
                                        "type": "integer",
                                        "description": "Page number for pagination. Must be used together with results_per_page.",
                                        "example": 3
                                    },
                                    "results_per_page": {
                                        "type": "integer",
                                        "description": "Number of results per page (between 10 and 1000). Must always be provided together with \"num_page\".",
                                        "example": 50
                                    },
                                    "version_id": {
                                        "type": "integer",
                                        "description": "Version ID. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    },
                                    "exclude_inherited_values": {
                                        "type": "boolean",
                                        "description": "If it is true, only the direct values of the asset are exported (excludes values that have not been filled directly in the asset : values inherited from a parent, or from the repository in the case of a contextual asset, or calculated values)",
                                        "example": true
                                    },
                                    "research": {
                                        "type": "array",
                                        "description": "Array of attribute filters. Each filter has attribute_id, operator, value, and optional link. IMPORTANT: When using \"research\", \"filters.types_id\" or \"filters.supertypes_id\" must also be provided. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "attribute_id": 1234,
                                                "operator": "contains",
                                                "value": "Prefix_"
                                            },
                                            {
                                                "link": "or",
                                                "attribute_id": 2465,
                                                "operator": "contains",
                                                "value": "Prefix_"
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute_id": {
                                                    "type": "integer",
                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes.",
                                                    "example": 231
                                                },
                                                "operator": {
                                                    "type": "string",
                                                    "description": "Search operator: equal/notequal (exact match), contains/notcontains (partial), startby/endby (prefix/suffix), isnull/isnotnull (empty check), greater/atleast/lesser/nomore (numeric), between (range).",
                                                    "enum": [
                                                        "equal",
                                                        "notequal",
                                                        "contains",
                                                        "notcontains",
                                                        "startby",
                                                        "endby",
                                                        "notstartby",
                                                        "notendby",
                                                        "isnull",
                                                        "isnotnull",
                                                        "greater",
                                                        "atleast",
                                                        "lesser",
                                                        "nomore",
                                                        "between",
                                                        "isinlist",
                                                        "isnotinlist"
                                                    ],
                                                    "example": "between"
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "Value (only if operator is not \"isnull\" and \"isnotnull\") **⚠️ Required when:** `operator` = `equal` | `notequal` | `contains` | `notcontains` | `startby` | `endby` | `notstartby` | `notendby` | `greater` | `atleast` | `lesser` | `nomore` | `between` | `isinlist` | `isnotinlist`",
                                                    "example": "12345",
                                                    "x-conditional-required": {
                                                        "operator": [
                                                            "equal",
                                                            "notequal",
                                                            "contains",
                                                            "notcontains",
                                                            "startby",
                                                            "endby",
                                                            "notstartby",
                                                            "notendby",
                                                            "greater",
                                                            "atleast",
                                                            "lesser",
                                                            "nomore",
                                                            "between",
                                                            "isinlist",
                                                            "isnotinlist"
                                                        ]
                                                    }
                                                },
                                                "value2": {
                                                    "type": "string",
                                                    "description": "Second value for range search. Required only when operator is \"between\" **⚠️ Required when:** `operator` = `between`",
                                                    "example": "12346",
                                                    "x-conditional-required": {
                                                        "operator": [
                                                            "between"
                                                        ]
                                                    }
                                                },
                                                "link": {
                                                    "type": "string",
                                                    "description": "Logical link between filters: \"and\" (all conditions must match) or \"or\" (any condition matches). Default: \"and\".",
                                                    "enum": [
                                                        "and",
                                                        "or"
                                                    ],
                                                    "example": "and"
                                                }
                                            },
                                            "required": [
                                                "attribute_id",
                                                "operator"
                                            ],
                                            "title": "Item"
                                        }
                                    },
                                    "filters": {
                                        "type": "object",
                                        "description": "Filter object with types_id, supertypes_id, status_id, creausers, users, workflow_step_id, date filters. IMPORTANT: When using \"research\" or \"filters\", at least \"types_id\" or \"supertypes_id\" must be provided.",
                                        "example": {
                                            "supertypes_id": [
                                                2
                                            ],
                                            "types_id": [
                                                257,
                                                258
                                            ],
                                            "time": "2024-12-17T10:30:00Z",
                                            "workflow_step_id": 10
                                        },
                                        "properties": {
                                            "types_id": {
                                                "type": "array",
                                                "description": "List of asset type IDs. Required when using \"research\" or \"filters\" (unless supertypes_id is provided). Use POST /api/v3/types/list with class_id to get available types.",
                                                "example": [
                                                    257,
                                                    258
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "supertypes_id": {
                                                "type": "array",
                                                "description": "List of supertype IDs (parent category of asset types). All child types of these supertypes will be included. Required when using \"research\" or \"filters\" (unless types_id is provided). Can be combined with types_id. Available supertypes: 1 (Groupe de fiches), 2 (Fiches Produits), 3 (Dossier), 4 (Page), 5 (Publication), 6 (Workspace), 7 (Article), 8 (Fiches Annexes)",
                                                "example": [
                                                    1,
                                                    2
                                                ],
                                                "items": {
                                                    "type": "integer",
                                                    "enum": [
                                                        1,
                                                        2,
                                                        3,
                                                        4,
                                                        5,
                                                        6,
                                                        7,
                                                        8
                                                    ]
                                                }
                                            },
                                            "status_id": {
                                                "type": "array",
                                                "description": "List of asset status IDs. Use POST /api/v3/permissions/statuses/list with class_id to get available statuses.",
                                                "example": [
                                                    1287,
                                                    1288
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "creausers": {
                                                "type": "array",
                                                "description": "List of user IDs who created assets. Use POST /api/v3/permissions/groups/list to get user groups.",
                                                "example": [
                                                    1485,
                                                    1535
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "users": {
                                                "type": "array",
                                                "description": "List of user IDs who last modified assets. Use POST /api/v3/permissions/groups/list to get user groups.",
                                                "example": [
                                                    1485,
                                                    1535
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "workflow_step_id": {
                                                "type": "integer",
                                                "description": "Workflow step ID. Use POST /api/v3/workflows/list/repository/ with class_id to get workflows and their steps.",
                                                "example": 10
                                            },
                                            "creatime": {
                                                "type": "string",
                                                "description": "Minimum creation date of the asset (ISO 8601 format). Used to filter assets created from this date.",
                                                "example": "2024-12-17T10:30:00Z"
                                            },
                                            "creatimeend": {
                                                "type": "string",
                                                "description": "Maximum creation date of the asset (ISO 8601 format). Used to filter assets created up to this date.",
                                                "example": "2024-12-17T23:59:59Z"
                                            },
                                            "time": {
                                                "type": "string",
                                                "description": "Minimum update date of the asset (ISO 8601 format). Used to filter assets updated from this date.",
                                                "example": "2024-12-17T10:30:00Z"
                                            },
                                            "timeend": {
                                                "type": "string",
                                                "description": "Maximum update date of the asset (ISO 8601 format). Used to filter assets updated up to this date.",
                                                "example": "2024-12-17T23:59:59Z"
                                            },
                                            "search_find": {
                                                "type": "string",
                                                "description": "Quick search text. Searches across indexed attributes for matching content.",
                                                "example": "My product label"
                                            },
                                            "split_find": {
                                                "type": "string",
                                                "description": "Fast search mode: \"all_words\" (all words must be present), \"each_word\" (any word matches), \"exact_expression\" (exact phrase match).",
                                                "enum": [
                                                    "all_words",
                                                    "each_word",
                                                    "exact_expression"
                                                ],
                                                "example": "each_word"
                                            }
                                        }
                                    },
                                    "format": {
                                        "type": "string",
                                        "description": "JSON format: \"simple\" (flat attribute list) or \"composed\" (recursive structure). Default: simple.",
                                        "enum": [
                                            "simple",
                                            "composed"
                                        ],
                                        "example": "composed"
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "mapping_id",
                                    "num_page",
                                    "results_per_page"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/export/by-mapping/node/": {
            "post": {
                "tags": [
                    "export"
                ],
                "summary": "Export project node data by mapping",
                "description": "## Purpose\n\nExports project-contextualized assets to JSON using a mapping with pagination and filters.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "JSON export response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 15,
                                                            "description": "Total number of items"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object"
                                                            },
                                                            "description": "Export data"
                                                        },
                                                        "num_page": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 1,
                                                            "description": "Current page number"
                                                        },
                                                        "nb_pages": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 15,
                                                            "description": "Total number of pages"
                                                        },
                                                        "results_per_page": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 100,
                                                            "description": "Number of results per page"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ],
                                                    "description": "Export result"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = Export result not valid / Export error / ...)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Export result not valid",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Parent node ID in project. Use POST /api/v3/get-asset/by-search/node to find project nodes.",
                                        "example": 4350
                                    },
                                    "mapping_id": {
                                        "type": "integer",
                                        "description": "Mapping ID. Use POST /api/v3/mappings/list/ with class_id to discover available mappings for a given class.",
                                        "example": 23
                                    },
                                    "num_page": {
                                        "type": "integer",
                                        "description": "Page number for pagination. Must be used together with results_per_page.",
                                        "example": 3
                                    },
                                    "results_per_page": {
                                        "type": "integer",
                                        "description": "Number of results per page (between 10 and 1000). Must always be provided together with \"num_page\".",
                                        "example": 50
                                    },
                                    "version_id": {
                                        "type": "integer",
                                        "description": "Version ID. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    },
                                    "exclude_inherited_values": {
                                        "type": "boolean",
                                        "description": "If it is true, only the direct values of the asset are exported (excludes values that have not been filled directly in the asset : values inherited from a parent, or from the repository in the case of a contextual asset, or calculated values)",
                                        "example": true
                                    },
                                    "research": {
                                        "type": "array",
                                        "description": "Array of attribute filters. Each filter has attribute_id, operator, value, and optional link. IMPORTANT: When using \"research\", \"filters.types_id\" or \"filters.supertypes_id\" must also be provided. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "attribute_id": 1234,
                                                "operator": "contains",
                                                "value": "Prefix_"
                                            },
                                            {
                                                "link": "or",
                                                "attribute_id": 2465,
                                                "operator": "contains",
                                                "value": "Prefix_"
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute_id": {
                                                    "type": "integer",
                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes.",
                                                    "example": 231
                                                },
                                                "operator": {
                                                    "type": "string",
                                                    "description": "Search operator: equal/notequal (exact match), contains/notcontains (partial), startby/endby (prefix/suffix), isnull/isnotnull (empty check), greater/atleast/lesser/nomore (numeric), between (range).",
                                                    "enum": [
                                                        "equal",
                                                        "notequal",
                                                        "contains",
                                                        "notcontains",
                                                        "startby",
                                                        "endby",
                                                        "notstartby",
                                                        "notendby",
                                                        "isnull",
                                                        "isnotnull",
                                                        "greater",
                                                        "atleast",
                                                        "lesser",
                                                        "nomore",
                                                        "between",
                                                        "isinlist",
                                                        "isnotinlist"
                                                    ],
                                                    "example": "between"
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "Value (only if operator is not \"isnull\" and \"isnotnull\") **⚠️ Required when:** `operator` = `equal` | `notequal` | `contains` | `notcontains` | `startby` | `endby` | `notstartby` | `notendby` | `greater` | `atleast` | `lesser` | `nomore` | `between` | `isinlist` | `isnotinlist`",
                                                    "example": "12345",
                                                    "x-conditional-required": {
                                                        "operator": [
                                                            "equal",
                                                            "notequal",
                                                            "contains",
                                                            "notcontains",
                                                            "startby",
                                                            "endby",
                                                            "notstartby",
                                                            "notendby",
                                                            "greater",
                                                            "atleast",
                                                            "lesser",
                                                            "nomore",
                                                            "between",
                                                            "isinlist",
                                                            "isnotinlist"
                                                        ]
                                                    }
                                                },
                                                "value2": {
                                                    "type": "string",
                                                    "description": "Second value for range search. Required only when operator is \"between\" **⚠️ Required when:** `operator` = `between`",
                                                    "example": "12346",
                                                    "x-conditional-required": {
                                                        "operator": [
                                                            "between"
                                                        ]
                                                    }
                                                },
                                                "link": {
                                                    "type": "string",
                                                    "description": "Logical link between filters: \"and\" (all conditions must match) or \"or\" (any condition matches). Default: \"and\".",
                                                    "enum": [
                                                        "and",
                                                        "or"
                                                    ],
                                                    "example": "and"
                                                }
                                            },
                                            "required": [
                                                "attribute_id",
                                                "operator"
                                            ],
                                            "title": "Item"
                                        }
                                    },
                                    "filters": {
                                        "type": "object",
                                        "description": "Filter object with types_id, supertypes_id, status_id, creausers, users, workflow_step_id, date filters. IMPORTANT: When using \"research\" or \"filters\", at least \"types_id\" or \"supertypes_id\" must be provided.",
                                        "example": {
                                            "supertypes_id": [
                                                2
                                            ],
                                            "types_id": [
                                                257,
                                                258
                                            ],
                                            "time": "2024-12-17T10:30:00Z",
                                            "workflow_step_id": 10
                                        },
                                        "properties": {
                                            "types_id": {
                                                "type": "array",
                                                "description": "List of asset type IDs. Required when using \"research\" or \"filters\" (unless supertypes_id is provided). Use POST /api/v3/types/list with class_id to get available types.",
                                                "example": [
                                                    257,
                                                    258
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "supertypes_id": {
                                                "type": "array",
                                                "description": "List of supertype IDs (parent category of asset types). All child types of these supertypes will be included. Required when using \"research\" or \"filters\" (unless types_id is provided). Can be combined with types_id. Available supertypes: 1 (Groupe de fiches), 2 (Fiches Produits), 3 (Dossier), 4 (Page), 5 (Publication), 6 (Workspace), 7 (Article), 8 (Fiches Annexes)",
                                                "example": [
                                                    1,
                                                    2
                                                ],
                                                "items": {
                                                    "type": "integer",
                                                    "enum": [
                                                        1,
                                                        2,
                                                        3,
                                                        4,
                                                        5,
                                                        6,
                                                        7,
                                                        8
                                                    ]
                                                }
                                            },
                                            "status_id": {
                                                "type": "array",
                                                "description": "List of asset status IDs. Use POST /api/v3/permissions/statuses/list with class_id to get available statuses.",
                                                "example": [
                                                    1287,
                                                    1288
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "creausers": {
                                                "type": "array",
                                                "description": "List of user IDs who created assets. Use POST /api/v3/permissions/groups/list to get user groups.",
                                                "example": [
                                                    1485,
                                                    1535
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "users": {
                                                "type": "array",
                                                "description": "List of user IDs who last modified assets. Use POST /api/v3/permissions/groups/list to get user groups.",
                                                "example": [
                                                    1485,
                                                    1535
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "workflow_step_id": {
                                                "type": "integer",
                                                "description": "Workflow step ID. Use POST /api/v3/workflows/list/node/ with project_node_id and class_id to get workflows and their steps.",
                                                "example": 10
                                            },
                                            "creatime": {
                                                "type": "string",
                                                "description": "Minimum creation date of the asset (ISO 8601 format). Used to filter assets created from this date",
                                                "example": "2024-12-17T10:30:00Z"
                                            },
                                            "creatimeend": {
                                                "type": "string",
                                                "description": "Maximum creation date of the asset (ISO 8601 format). Used to filter assets created up to this date",
                                                "example": "2024-12-17T23:59:59Z"
                                            },
                                            "time": {
                                                "type": "string",
                                                "description": "Minimum update date of the asset (ISO 8601 format). Used to filter assets updated from this date",
                                                "example": "2024-12-17T10:30:00+02:00"
                                            },
                                            "timeend": {
                                                "type": "string",
                                                "description": "Maximum update date of the asset (ISO 8601 format). Used to filter assets updated up to this date",
                                                "example": "2024-12-17T23:59:59+02:00"
                                            },
                                            "search_find": {
                                                "type": "string",
                                                "description": "Quick search text. Searches across indexed attributes for matching content.",
                                                "example": "My product label"
                                            },
                                            "split_find": {
                                                "type": "string",
                                                "description": "Fast search mode: \"all_words\" (all words must be present), \"each_word\" (any word matches), \"exact_expression\" (exact phrase match).",
                                                "enum": [
                                                    "all_words",
                                                    "each_word",
                                                    "exact_expression"
                                                ],
                                                "example": "each_word"
                                            },
                                            "alias": {
                                                "type": "string",
                                                "description": "Alias filter: \"only_aliases\" (return only alias nodes), \"except_aliases\" (exclude alias nodes). Default: include all.",
                                                "enum": [
                                                    "only_aliases",
                                                    "except_aliases"
                                                ],
                                                "example": "only_aliases"
                                            }
                                        }
                                    },
                                    "format": {
                                        "type": "string",
                                        "description": "JSON format: \"simple\" (flat attribute list) or \"composed\" (recursive structure). Default: simple.",
                                        "enum": [
                                            "simple",
                                            "composed"
                                        ],
                                        "example": "composed"
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "parent_id",
                                    "mapping_id",
                                    "num_page",
                                    "results_per_page"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/export/jobs-by-mapping/repository/": {
            "post": {
                "tags": [
                    "export"
                ],
                "summary": "Async export repository to file",
                "description": "## Purpose\n\nGenerates file export from repository (CSV/XLS/XLSX/TXT/XML/JSON). Returns queue_id for async processing.\n\n## Workflow\n\nUse `export/get-file` with queue_id to download completed file.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File export response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "queue_id": {
                                                            "type": "integer",
                                                            "example": 47593,
                                                            "description": "Queue ID for async file retrieval via export/get-file"
                                                        }
                                                    },
                                                    "required": [
                                                        "queue_id"
                                                    ],
                                                    "description": "Queue information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Export error",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Parent asset ID in repository. Use POST /api/v3/get-asset/by-search/repository to find assets. Set to 0 for repository root.",
                                        "example": 4350
                                    },
                                    "mapping_id": {
                                        "type": "integer",
                                        "description": "Mapping ID. Use POST /api/v3/mappings/list/ with class_id to discover available mappings for a given class.",
                                        "example": 23
                                    },
                                    "version_id": {
                                        "type": "integer",
                                        "description": "Version ID. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    },
                                    "exclude_inherited_values": {
                                        "type": "boolean",
                                        "description": "If it is true, only the direct values of the asset are exported (excludes values that have not been filled directly in the asset : values inherited from a parent, or from the repository in the case of a contextual asset, or calculated values)",
                                        "example": true
                                    },
                                    "research": {
                                        "type": "array",
                                        "description": "Array of attribute filters. Each filter has attribute_id, operator, value, and optional link. IMPORTANT: When using \"research\", \"filters.types_id\" or \"filters.supertypes_id\" must also be provided. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "attribute_id": 1234,
                                                "operator": "contains",
                                                "value": "Prefix_"
                                            },
                                            {
                                                "link": "or",
                                                "attribute_id": 2465,
                                                "operator": "contains",
                                                "value": "Prefix_"
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute_id": {
                                                    "type": "integer",
                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes.",
                                                    "example": 231
                                                },
                                                "operator": {
                                                    "type": "string",
                                                    "description": "Search operator: equal/notequal (exact match), contains/notcontains (partial), startby/endby (prefix/suffix), isnull/isnotnull (empty check), greater/atleast/lesser/nomore (numeric), between (range).",
                                                    "enum": [
                                                        "equal",
                                                        "notequal",
                                                        "contains",
                                                        "notcontains",
                                                        "startby",
                                                        "endby",
                                                        "notstartby",
                                                        "notendby",
                                                        "isnull",
                                                        "isnotnull",
                                                        "greater",
                                                        "atleast",
                                                        "lesser",
                                                        "nomore",
                                                        "between",
                                                        "isinlist",
                                                        "isnotinlist"
                                                    ],
                                                    "example": "between"
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "Value (only if operator is not \"isnull\" and \"isnotnull\") **⚠️ Required when:** `operator` = `equal` | `notequal` | `contains` | `notcontains` | `startby` | `endby` | `notstartby` | `notendby` | `greater` | `atleast` | `lesser` | `nomore` | `between` | `isinlist` | `isnotinlist`",
                                                    "example": "12345",
                                                    "x-conditional-required": {
                                                        "operator": [
                                                            "equal",
                                                            "notequal",
                                                            "contains",
                                                            "notcontains",
                                                            "startby",
                                                            "endby",
                                                            "notstartby",
                                                            "notendby",
                                                            "greater",
                                                            "atleast",
                                                            "lesser",
                                                            "nomore",
                                                            "between",
                                                            "isinlist",
                                                            "isnotinlist"
                                                        ]
                                                    }
                                                },
                                                "value2": {
                                                    "type": "string",
                                                    "description": "Second value for range search. Required only when operator is \"between\" **⚠️ Required when:** `operator` = `between`",
                                                    "example": "12346",
                                                    "x-conditional-required": {
                                                        "operator": [
                                                            "between"
                                                        ]
                                                    }
                                                },
                                                "link": {
                                                    "type": "string",
                                                    "description": "Logical link between filters: \"and\" (all conditions must match) or \"or\" (any condition matches). Default: \"and\".",
                                                    "enum": [
                                                        "and",
                                                        "or"
                                                    ],
                                                    "example": "and"
                                                }
                                            },
                                            "required": [
                                                "attribute_id",
                                                "operator"
                                            ],
                                            "title": "Item"
                                        }
                                    },
                                    "filters": {
                                        "type": "object",
                                        "description": "Filter object with types_id, supertypes_id, status_id, creausers, users, workflow_step_id, date filters. IMPORTANT: When using \"research\" or \"filters\", at least \"types_id\" or \"supertypes_id\" must be provided.",
                                        "example": {
                                            "supertypes_id": [
                                                2
                                            ],
                                            "types_id": [
                                                257,
                                                258
                                            ],
                                            "time": "2024-12-17T10:30:00Z",
                                            "workflow_step_id": 10
                                        },
                                        "properties": {
                                            "types_id": {
                                                "type": "array",
                                                "description": "List of asset type IDs. Required when using \"research\" or \"filters\" (unless supertypes_id is provided). Use POST /api/v3/types/list with class_id to get available types.",
                                                "example": [
                                                    257,
                                                    258
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "supertypes_id": {
                                                "type": "array",
                                                "description": "List of supertype IDs (parent category of asset types). All child types of these supertypes will be included. Required when using \"research\" or \"filters\" (unless types_id is provided). Can be combined with types_id. Available supertypes: 1 (Groupe de fiches), 2 (Fiches Produits), 3 (Dossier), 4 (Page), 5 (Publication), 6 (Workspace), 7 (Article), 8 (Fiches Annexes)",
                                                "example": [
                                                    1,
                                                    2
                                                ],
                                                "items": {
                                                    "type": "integer",
                                                    "enum": [
                                                        1,
                                                        2,
                                                        3,
                                                        4,
                                                        5,
                                                        6,
                                                        7,
                                                        8
                                                    ]
                                                }
                                            },
                                            "status_id": {
                                                "type": "array",
                                                "description": "List of asset status IDs. Use POST /api/v3/permissions/statuses/list with class_id to get available statuses.",
                                                "example": [
                                                    1287,
                                                    1288
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "creausers": {
                                                "type": "array",
                                                "description": "List of user IDs who created assets. Use POST /api/v3/permissions/groups/list to get user groups.",
                                                "example": [
                                                    1485,
                                                    1535
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "users": {
                                                "type": "array",
                                                "description": "List of user IDs who last modified assets. Use POST /api/v3/permissions/groups/list to get user groups.",
                                                "example": [
                                                    1485,
                                                    1535
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "workflow_step_id": {
                                                "type": "integer",
                                                "description": "Workflow step ID. Use POST /api/v3/workflows/list/repository/ with class_id to get workflows and their steps.",
                                                "example": 10
                                            },
                                            "creatime": {
                                                "type": "string",
                                                "description": "Minimum creation date of the asset (ISO 8601 format). Used to filter assets created from this date",
                                                "example": "2024-12-17T10:30:00Z"
                                            },
                                            "creatimeend": {
                                                "type": "string",
                                                "description": "Maximum creation date of the asset (ISO 8601 format). Used to filter assets created up to this date",
                                                "example": "2024-12-17T23:59:59Z"
                                            },
                                            "time": {
                                                "type": "string",
                                                "description": "Minimum update date of the asset (ISO 8601 format). Used to filter assets updated from this date",
                                                "example": "2024-12-17T10:30:00+02:00"
                                            },
                                            "timeend": {
                                                "type": "string",
                                                "description": "Maximum update date of the asset (ISO 8601 format). Used to filter assets updated up to this date",
                                                "example": "2024-12-17T23:59:59+02:00"
                                            },
                                            "search_find": {
                                                "type": "string",
                                                "description": "Quick search text. Searches across indexed attributes for matching content.",
                                                "example": "My product label"
                                            },
                                            "split_find": {
                                                "type": "string",
                                                "description": "Fast search mode: \"all_words\" (all words must be present), \"each_word\" (any word matches), \"exact_expression\" (exact phrase match).",
                                                "enum": [
                                                    "all_words",
                                                    "each_word",
                                                    "exact_expression"
                                                ],
                                                "example": "each_word"
                                            }
                                        }
                                    },
                                    "format": {
                                        "type": "string",
                                        "description": "Export file format: \"csv\", \"xlsx\", \"xml\", \"json\". Default: csv.",
                                        "enum": [
                                            "csv",
                                            "xls",
                                            "xlsx",
                                            "txt",
                                            "xml",
                                            "json",
                                            "json_composed"
                                        ],
                                        "example": "xlsx"
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "mapping_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/export/jobs-by-mapping/node/": {
            "post": {
                "tags": [
                    "export"
                ],
                "summary": "Async export project node to file",
                "description": "## Purpose\n\nGenerates file export from project-contextualized data (CSV/XLS/XLSX/TXT/XML/JSON). Returns queue_id for async processing.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File export response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "queue_id": {
                                                            "type": "integer",
                                                            "example": 47593,
                                                            "description": "Queue ID for async file retrieval via export/get-file"
                                                        }
                                                    },
                                                    "required": [
                                                        "queue_id"
                                                    ],
                                                    "description": "Queue information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Export error",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Parent node ID in project. Use POST /api/v3/get-asset/by-search/node to find project nodes.",
                                        "example": 4350
                                    },
                                    "mapping_id": {
                                        "type": "integer",
                                        "description": "Mapping ID. Use POST /api/v3/mappings/list/ with class_id to discover available mappings for a given class.",
                                        "example": 23
                                    },
                                    "version_id": {
                                        "type": "integer",
                                        "description": "Version ID. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    },
                                    "exclude_inherited_values": {
                                        "type": "boolean",
                                        "description": "If it is true, only the direct values of the asset are exported (excludes values that have not been filled directly in the asset : values inherited from a parent, or from the repository in the case of a contextual asset, or calculated values)",
                                        "example": true
                                    },
                                    "research": {
                                        "type": "array",
                                        "description": "Array of attribute filters. Each filter has attribute_id, operator, value, and optional link. IMPORTANT: When using \"research\", \"filters.types_id\" or \"filters.supertypes_id\" must also be provided. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "attribute_id": 1234,
                                                "operator": "contains",
                                                "value": "Prefix_"
                                            },
                                            {
                                                "link": "or",
                                                "attribute_id": 2465,
                                                "operator": "contains",
                                                "value": "Prefix_"
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute_id": {
                                                    "type": "integer",
                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes.",
                                                    "example": 231
                                                },
                                                "operator": {
                                                    "type": "string",
                                                    "description": "Search operator: equal/notequal (exact match), contains/notcontains (partial), startby/endby (prefix/suffix), isnull/isnotnull (empty check), greater/atleast/lesser/nomore (numeric), between (range).",
                                                    "enum": [
                                                        "equal",
                                                        "notequal",
                                                        "contains",
                                                        "notcontains",
                                                        "startby",
                                                        "endby",
                                                        "notstartby",
                                                        "notendby",
                                                        "isnull",
                                                        "isnotnull",
                                                        "greater",
                                                        "atleast",
                                                        "lesser",
                                                        "nomore",
                                                        "between",
                                                        "isinlist",
                                                        "isnotinlist"
                                                    ],
                                                    "example": "between"
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "Value (only if operator is not \"isnull\" and \"isnotnull\") **⚠️ Required when:** `operator` = `equal` | `notequal` | `contains` | `notcontains` | `startby` | `endby` | `notstartby` | `notendby` | `greater` | `atleast` | `lesser` | `nomore` | `between` | `isinlist` | `isnotinlist`",
                                                    "example": "12345",
                                                    "x-conditional-required": {
                                                        "operator": [
                                                            "equal",
                                                            "notequal",
                                                            "contains",
                                                            "notcontains",
                                                            "startby",
                                                            "endby",
                                                            "notstartby",
                                                            "notendby",
                                                            "greater",
                                                            "atleast",
                                                            "lesser",
                                                            "nomore",
                                                            "between",
                                                            "isinlist",
                                                            "isnotinlist"
                                                        ]
                                                    }
                                                },
                                                "value2": {
                                                    "type": "string",
                                                    "description": "Second value for range search. Required only when operator is \"between\" **⚠️ Required when:** `operator` = `between`",
                                                    "example": "12346",
                                                    "x-conditional-required": {
                                                        "operator": [
                                                            "between"
                                                        ]
                                                    }
                                                },
                                                "link": {
                                                    "type": "string",
                                                    "description": "Logical link between filters: \"and\" (all conditions must match) or \"or\" (any condition matches). Default: \"and\".",
                                                    "enum": [
                                                        "and",
                                                        "or"
                                                    ],
                                                    "example": "and"
                                                }
                                            },
                                            "required": [
                                                "attribute_id",
                                                "operator"
                                            ],
                                            "title": "Item"
                                        }
                                    },
                                    "filters": {
                                        "type": "object",
                                        "description": "Filter object with types_id, supertypes_id, status_id, creausers, users, workflow_step_id, date filters. IMPORTANT: When using \"research\" or \"filters\", at least \"types_id\" or \"supertypes_id\" must be provided.",
                                        "example": {
                                            "supertypes_id": [
                                                2
                                            ],
                                            "types_id": [
                                                257,
                                                258
                                            ],
                                            "time": "2024-12-17T10:30:00Z",
                                            "workflow_step_id": 10
                                        },
                                        "properties": {
                                            "types_id": {
                                                "type": "array",
                                                "description": "List of asset type IDs. Required when using \"research\" or \"filters\" (unless supertypes_id is provided). Use POST /api/v3/types/list with class_id to get available types.",
                                                "example": [
                                                    257,
                                                    258
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "supertypes_id": {
                                                "type": "array",
                                                "description": "List of supertype IDs (parent category of asset types). All child types of these supertypes will be included. Required when using \"research\" or \"filters\" (unless types_id is provided). Can be combined with types_id. Available supertypes: 1 (Groupe de fiches), 2 (Fiches Produits), 3 (Dossier), 4 (Page), 5 (Publication), 6 (Workspace), 7 (Article), 8 (Fiches Annexes)",
                                                "example": [
                                                    1,
                                                    2
                                                ],
                                                "items": {
                                                    "type": "integer",
                                                    "enum": [
                                                        1,
                                                        2,
                                                        3,
                                                        4,
                                                        5,
                                                        6,
                                                        7,
                                                        8
                                                    ]
                                                }
                                            },
                                            "status_id": {
                                                "type": "array",
                                                "description": "List of asset status IDs. Use POST /api/v3/permissions/statuses/list with class_id to get available statuses.",
                                                "example": [
                                                    1287,
                                                    1288
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "creausers": {
                                                "type": "array",
                                                "description": "List of user IDs who created assets. Use POST /api/v3/permissions/groups/list to get user groups.",
                                                "example": [
                                                    1485,
                                                    1535
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "users": {
                                                "type": "array",
                                                "description": "List of user IDs who last modified assets. Use POST /api/v3/permissions/groups/list to get user groups.",
                                                "example": [
                                                    1485,
                                                    1535
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "workflow_step_id": {
                                                "type": "integer",
                                                "description": "Workflow step ID. Use POST /api/v3/workflows/list/node/ with project_node_id and class_id to get workflows and their steps.",
                                                "example": 10
                                            },
                                            "creatime": {
                                                "type": "string",
                                                "description": "Minimum creation date of the asset (ISO 8601 format). Used to filter assets created from this date",
                                                "example": "2024-12-17T10:30:00Z"
                                            },
                                            "creatimeend": {
                                                "type": "string",
                                                "description": "Maximum creation date of the asset (ISO 8601 format). Used to filter assets created up to this date",
                                                "example": "2024-12-17T23:59:59Z"
                                            },
                                            "time": {
                                                "type": "string",
                                                "description": "Minimum update date of the asset (ISO 8601 format). Used to filter assets updated from this date",
                                                "example": "2024-12-17T10:30:00+02:00"
                                            },
                                            "timeend": {
                                                "type": "string",
                                                "description": "Maximum update date of the asset (ISO 8601 format). Used to filter assets updated up to this date",
                                                "example": "2024-12-17T23:59:59+02:00"
                                            },
                                            "search_find": {
                                                "type": "string",
                                                "description": "Quick search text. Searches across indexed attributes for matching content.",
                                                "example": "My product label"
                                            },
                                            "split_find": {
                                                "type": "string",
                                                "description": "Fast search mode: \"all_words\" (all words must be present), \"each_word\" (any word matches), \"exact_expression\" (exact phrase match).",
                                                "enum": [
                                                    "all_words",
                                                    "each_word",
                                                    "exact_expression"
                                                ],
                                                "example": "each_word"
                                            },
                                            "alias": {
                                                "type": "string",
                                                "description": "Alias filter: \"only_aliases\" (return only alias nodes), \"except_aliases\" (exclude alias nodes). Default: include all.",
                                                "enum": [
                                                    "only_aliases",
                                                    "except_aliases"
                                                ],
                                                "example": "only_aliases"
                                            }
                                        }
                                    },
                                    "format": {
                                        "type": "string",
                                        "description": "Export file format: \"csv\", \"xlsx\", \"xml\", \"json\". Default: csv.",
                                        "enum": [
                                            "csv",
                                            "xls",
                                            "xlsx",
                                            "txt",
                                            "xml",
                                            "json",
                                            "json_composed"
                                        ],
                                        "example": "xlsx"
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "parent_id",
                                    "mapping_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/export/easycatalog/": {
            "post": {
                "tags": [
                    "export"
                ],
                "summary": "Export for EasyCatalog InDesign",
                "description": "## Description\n\nGenerates InDesign-compatible export for EasyCatalog plugin. Returns formatted data for print catalog production. Supports column mapping discovery, first result preview, and thematiques listing.\n\n## Parameters\n\n| Parameter Name            | Description                                |\n|---------------------------|--------------------------------------------|\n| class_id                  | Class ID                                   |\n| node_id                   | Node ID                                    |\n| action                    | Action : export (classic export), columns_mapping (list of mapping columns), first_result (first export result) or get_themes (list of thematiques for the project) |\n| mapping_id  (optional)    | Mapping ID                                 |\n| version_id  (optional)    | Version ID                                 |\n| page_start     (optional) | Start page number                          |\n| page_end       (optional) | End page number                            |\n| thematique_id  (optional) | Thematique ID (mutually exclusive with page_start/page_end) |\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Export response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 15,
                                                            "description": "Number of items"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object"
                                                            },
                                                            "example": [
                                                                {
                                                                    "Id Fiche": "651165",
                                                                    "Id Node": "884168",
                                                                    "Désignation produit": "Product 1"
                                                                },
                                                                {
                                                                    "Id Fiche": "651166",
                                                                    "Id Node": "884172",
                                                                    "Désignation produit": "Product 2"
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ],
                                                    "description": "Generated content"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (997 = You cannot access this project, 2 = Node does not exist or has been deleted / Project not found / ...)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Project not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to find publication projects and get their node_id.",
                                        "example": 4350
                                    },
                                    "action": {
                                        "type": "string",
                                        "description": "Depending on the filled action, the result will be different : \"export\" (classic export), \"columns_mapping\" (list of mapping columns), \"first_result\" (first export result), \"get_themes\" (list of thematiques for the project)",
                                        "enum": [
                                            "export",
                                            "columns_mapping",
                                            "first_result",
                                            "get_themes"
                                        ],
                                        "example": "export"
                                    },
                                    "mapping_id": {
                                        "type": "integer",
                                        "description": "Mapping ID. Use POST /api/v3/mappings/list/ with class_id to discover available mappings for a given class.",
                                        "example": 23
                                    },
                                    "version_id": {
                                        "type": "integer",
                                        "description": "Version ID. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    },
                                    "page_start": {
                                        "type": "integer",
                                        "description": "Start page number to filter export. Can be used alone (single page) or with page_end (interval). Mutually exclusive with thematique_id.",
                                        "example": 1
                                    },
                                    "page_end": {
                                        "type": "integer",
                                        "description": "End page number to filter export. Must be used with page_start. Mutually exclusive with thematique_id.",
                                        "example": 10
                                    },
                                    "thematique_id": {
                                        "type": "integer",
                                        "description": "Thematique (group) ID to filter export by pages belonging to this thematique. Mutually exclusive with page_start/page_end. Use action \"get_themes\" to retrieve available thematiques.",
                                        "example": 10
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "node_id",
                                    "action"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/get-asset/by-search/repository/": {
            "post": {
                "tags": [
                    "get-asset"
                ],
                "summary": "Search repository assets by filters",
                "description": "## Purpose\n\nReturns repository assets matching filters with pagination and custom attribute selection.\n\n## Attribute Selection\n\nUse either `attribute_list` (max 10 IDs) OR `mapping_id` for attribute output configuration.\n\n## Format Options\n\n- `simple`: Standard attribute list\n- `composed`: JSON with recursive structure\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Asset list by search",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 15,
                                                            "description": "Number of items"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "string",
                                                                        "example": "141560",
                                                                        "description": "Asset ID"
                                                                    },
                                                                    "parent_id": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "466175",
                                                                        "description": "Parent asset ID"
                                                                    },
                                                                    "version_id": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Version ID"
                                                                    },
                                                                    "path": {
                                                                        "type": "string",
                                                                        "example": "0/1978/141560",
                                                                        "description": "Asset path"
                                                                    },
                                                                    "supertype_id": {
                                                                        "type": "integer",
                                                                        "example": 7,
                                                                        "description": "Supertype ID"
                                                                    },
                                                                    "supertype_label": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "Products",
                                                                        "description": "Supertype label"
                                                                    },
                                                                    "type_id": {
                                                                        "type": "string",
                                                                        "example": "291",
                                                                        "description": "Type ID"
                                                                    },
                                                                    "type_label": {
                                                                        "type": "string",
                                                                        "example": "HOUSSES",
                                                                        "description": "Type label"
                                                                    },
                                                                    "workflow_item_id": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "example": null,
                                                                        "description": "Workflow item ID"
                                                                    },
                                                                    "workflow_item_label": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": null,
                                                                        "description": "Workflow item label (step/action)"
                                                                    },
                                                                    "creation_date": {
                                                                        "type": "string",
                                                                        "example": "2018-09-12T00:00:00+02:00",
                                                                        "description": "Creation date (ISO 8601)"
                                                                    },
                                                                    "modification_date": {
                                                                        "type": "string",
                                                                        "example": "2025-07-30T00:00:00+02:00",
                                                                        "description": "Modification date (ISO 8601)"
                                                                    },
                                                                    "status_id": {
                                                                        "type": "string",
                                                                        "example": "1115",
                                                                        "description": "Status ID"
                                                                    },
                                                                    "status_label": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "Validated",
                                                                        "description": "Status label"
                                                                    },
                                                                    "data": {
                                                                        "type": "object",
                                                                        "additionalProperties": true,
                                                                        "example": {
                                                                            "2017": "AAF22DSQ22DQS2",
                                                                            "2018": "2804-AAF22DSQ22DQS2"
                                                                        },
                                                                        "description": "Asset data with attribute values"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "type_id",
                                                                    "type_label",
                                                                    "creation_date",
                                                                    "modification_date",
                                                                    "status_id",
                                                                    "data"
                                                                ]
                                                            },
                                                            "description": "List of assets"
                                                        },
                                                        "num_page": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 1,
                                                            "description": "Page number"
                                                        },
                                                        "nb_pages": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 15,
                                                            "description": "Number of pages"
                                                        },
                                                        "results_per_page": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 100,
                                                            "description": "Number of results per page"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ],
                                                    "description": "Result list"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = Parameter error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "The parameter \"num_page\" must be a valid integer",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Parent ID of the reference tree in which to search. Set to \"0\" if you want to search in all the repository",
                                        "example": 4350
                                    },
                                    "num_page": {
                                        "type": "integer",
                                        "description": "Page number for pagination. Use with results_per_page parameter.",
                                        "example": 3
                                    },
                                    "results_per_page": {
                                        "type": "integer",
                                        "description": "Number of results per page (between 10 and 1000). Must always be provided together with \"num_page\".",
                                        "example": 50
                                    },
                                    "version_id": {
                                        "type": "integer",
                                        "description": "Version ID. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    },
                                    "exclude_inherited_values": {
                                        "type": "boolean",
                                        "description": "If it is true, only the direct values of the asset are exported (excludes values that have not been filled directly in the asset : values inherited from a parent, or from the repository in the case of a contextual asset, or calculated values)",
                                        "example": true
                                    },
                                    "attribute_list": {
                                        "type": "array",
                                        "description": "If specified, the result will contain for each asset only the list of specified attributes (10 maximum). You must use either the \"attribute_list\" parameter or the \"mapping_id\" parameter.",
                                        "example": [
                                            231,
                                            "Selling price",
                                            "type_sales_price"
                                        ],
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "mapping_id": {
                                        "type": "integer",
                                        "description": "Mapping ID. If specified, the result will contain for each asset only the list of attributes used in the mapping. You must use either the \"attribute_list\" parameter or the \"mapping_id\" parameter. Use POST /api/v3/mappings/list/ with class_id to discover available mappings.",
                                        "example": 23
                                    },
                                    "research": {
                                        "type": "array",
                                        "description": "Array of attribute filters. Each filter has attribute_id, operator, value, and optional link. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "attribute_id": 1234,
                                                "operator": "contains",
                                                "value": "Prefix_"
                                            },
                                            {
                                                "link": "or",
                                                "attribute_id": 2465,
                                                "operator": "contains",
                                                "value": "Prefix_"
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute_id": {
                                                    "type": "integer",
                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes.",
                                                    "example": 231
                                                },
                                                "operator": {
                                                    "type": "string",
                                                    "description": "Search operator: equal/notequal (exact match), contains/notcontains (partial), startby/endby (prefix/suffix), isnull/isnotnull (empty check), greater/atleast/lesser/nomore (numeric comparison), between (range with value2), isinlist/isnotinlist (multiple values).",
                                                    "enum": [
                                                        "equal",
                                                        "notequal",
                                                        "contains",
                                                        "notcontains",
                                                        "startby",
                                                        "endby",
                                                        "notstartby",
                                                        "notendby",
                                                        "isnull",
                                                        "isnotnull",
                                                        "greater",
                                                        "atleast",
                                                        "lesser",
                                                        "nomore",
                                                        "between",
                                                        "isinlist",
                                                        "isnotinlist"
                                                    ],
                                                    "example": "between"
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "Value (only if operator is not \"isnull\" and \"isnotnull\") **⚠️ Required when:** `operator` = `equal` | `notequal` | `contains` | `notcontains` | `startby` | `endby` | `notstartby` | `notendby` | `greater` | `atleast` | `lesser` | `nomore` | `between` | `isinlist` | `isnotinlist`",
                                                    "example": "12345",
                                                    "x-conditional-required": {
                                                        "operator": [
                                                            "equal",
                                                            "notequal",
                                                            "contains",
                                                            "notcontains",
                                                            "startby",
                                                            "endby",
                                                            "notstartby",
                                                            "notendby",
                                                            "greater",
                                                            "atleast",
                                                            "lesser",
                                                            "nomore",
                                                            "between",
                                                            "isinlist",
                                                            "isnotinlist"
                                                        ]
                                                    }
                                                },
                                                "value2": {
                                                    "type": "string",
                                                    "description": "Second value for range search. Required only when operator is \"between\" **⚠️ Required when:** `operator` = `between`",
                                                    "example": "12346",
                                                    "x-conditional-required": {
                                                        "operator": [
                                                            "between"
                                                        ]
                                                    }
                                                },
                                                "link": {
                                                    "type": "string",
                                                    "description": "Logical link between filters: \"and\" (all conditions must match) or \"or\" (any condition matches). Default: \"and\".",
                                                    "enum": [
                                                        "and",
                                                        "or"
                                                    ],
                                                    "example": "and"
                                                }
                                            },
                                            "required": [
                                                "attribute_id",
                                                "operator"
                                            ],
                                            "title": "Item"
                                        }
                                    },
                                    "filters": {
                                        "type": "object",
                                        "description": "Filter object with types_id, status_id, creausers, users, workflow_step_id, date filters.",
                                        "example": {
                                            "types_id": [
                                                257,
                                                258
                                            ],
                                            "time": "2024-12-17T10:30:00Z",
                                            "workflow_step_id": 10
                                        },
                                        "properties": {
                                            "types_id": {
                                                "type": "array",
                                                "description": "List of asset type IDs. Use POST /api/v3/types/list with class_id to get available types.",
                                                "example": [
                                                    257,
                                                    258
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "status_id": {
                                                "type": "array",
                                                "description": "List of asset status IDs. Use POST /api/v3/permissions/statuses/list with class_id to get available statuses.",
                                                "example": [
                                                    1287,
                                                    1288
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "creausers": {
                                                "type": "array",
                                                "description": "List of user IDs who created assets. Use POST /api/v3/permissions/groups/list to get user groups.",
                                                "example": [
                                                    1485,
                                                    1535
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "users": {
                                                "type": "array",
                                                "description": "List of user IDs who last modified assets. Use POST /api/v3/permissions/groups/list to get user groups.",
                                                "example": [
                                                    1485,
                                                    1535
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "workflow_step_id": {
                                                "type": "integer",
                                                "description": "Workflow step ID. Use POST /api/v3/workflows/list/repository/ with class_id to get workflows and their steps.",
                                                "example": 10
                                            },
                                            "creatime": {
                                                "type": "string",
                                                "description": "Minimum creation date of the asset (ISO 8601 format). Used to filter assets created from this date.",
                                                "example": "2024-12-17T10:30:00Z"
                                            },
                                            "creatimeend": {
                                                "type": "string",
                                                "description": "Maximum creation date of the asset (ISO 8601 format). Used to filter assets created up to this date.",
                                                "example": "2024-12-17T23:59:59Z"
                                            },
                                            "time": {
                                                "type": "string",
                                                "description": "Minimum update date of the asset (ISO 8601 format). Used to filter assets updated from this date.",
                                                "example": "2024-12-17T10:30:00Z"
                                            },
                                            "timeend": {
                                                "type": "string",
                                                "description": "Maximum update date of the asset (ISO 8601 format). Used to filter assets updated up to this date.",
                                                "example": "2024-12-17T23:59:59Z"
                                            },
                                            "search_find": {
                                                "type": "string",
                                                "description": "Quick search text. Searches across indexed attributes for matching content.",
                                                "example": "My product label"
                                            },
                                            "split_find": {
                                                "type": "string",
                                                "description": "Fast search mode: \"all_words\" (all words must be present), \"each_word\" (any word matches), \"exact_expression\" (exact phrase match).",
                                                "enum": [
                                                    "all_words",
                                                    "each_word",
                                                    "exact_expression"
                                                ],
                                                "example": "each_word"
                                            }
                                        }
                                    },
                                    "format": {
                                        "type": "string",
                                        "description": "Specifies the format of the returned asset data. Use \"simple\" for standard attribute list format, or \"composed\" for JSON Composed format with recursive data structure and enhanced formatting.",
                                        "enum": [
                                            "simple",
                                            "composed"
                                        ],
                                        "example": "simple"
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "parent_id",
                                    "num_page",
                                    "results_per_page"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/get-asset/by-search/node/": {
            "post": {
                "tags": [
                    "get-asset"
                ],
                "summary": "Search project node assets by filters",
                "description": "## Purpose\n\nReturns project-contextualized assets matching filters with pagination and custom attribute selection.\n\n## Context\n\nSearches within a specific project node tree (catalog, publication) instead of repository.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Asset list by search",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 15,
                                                            "description": "Number of items"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "string",
                                                                        "example": "141560",
                                                                        "description": "Node ID"
                                                                    },
                                                                    "parent_id": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "466175",
                                                                        "description": "Parent node ID"
                                                                    },
                                                                    "version_id": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Version ID"
                                                                    },
                                                                    "path": {
                                                                        "type": "string",
                                                                        "example": "0/1978/141560",
                                                                        "description": "Node path"
                                                                    },
                                                                    "supertype_id": {
                                                                        "type": "integer",
                                                                        "example": 7,
                                                                        "description": "Supertype ID"
                                                                    },
                                                                    "supertype_label": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "Products",
                                                                        "description": "Supertype label"
                                                                    },
                                                                    "type_id": {
                                                                        "type": "string",
                                                                        "example": "291",
                                                                        "description": "Type ID"
                                                                    },
                                                                    "type_label": {
                                                                        "type": "string",
                                                                        "example": "HOUSSES",
                                                                        "description": "Type label"
                                                                    },
                                                                    "workflow_item_id": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "example": null,
                                                                        "description": "Workflow item ID"
                                                                    },
                                                                    "workflow_item_label": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": null,
                                                                        "description": "Workflow item label (step/action)"
                                                                    },
                                                                    "creation_date": {
                                                                        "type": "string",
                                                                        "example": "2018-09-12T00:00:00+02:00",
                                                                        "description": "Creation date (ISO 8601)"
                                                                    },
                                                                    "modification_date": {
                                                                        "type": "string",
                                                                        "example": "2025-07-30T00:00:00+02:00",
                                                                        "description": "Modification date (ISO 8601)"
                                                                    },
                                                                    "status_id": {
                                                                        "type": "string",
                                                                        "example": "1115",
                                                                        "description": "Status ID"
                                                                    },
                                                                    "status_label": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "Validated",
                                                                        "description": "Status label"
                                                                    },
                                                                    "data": {
                                                                        "type": "object",
                                                                        "additionalProperties": true,
                                                                        "example": {
                                                                            "2017": "AAF22DSQ22DQS2",
                                                                            "2018": "2804-AAF22DSQ22DQS2"
                                                                        },
                                                                        "description": "Asset data with attribute values"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "type_id",
                                                                    "type_label",
                                                                    "creation_date",
                                                                    "modification_date",
                                                                    "status_id",
                                                                    "data"
                                                                ]
                                                            },
                                                            "description": "List of nodes"
                                                        },
                                                        "num_page": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 1,
                                                            "description": "Page number"
                                                        },
                                                        "nb_pages": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 15,
                                                            "description": "Number of pages"
                                                        },
                                                        "results_per_page": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 100,
                                                            "description": "Number of results per page"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ],
                                                    "description": "Result list"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = Parameter error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "The parameter \"num_page\" must be a valid integer",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Parent node ID in project. Use POST /api/v3/get-asset/by-search/node to find project nodes.",
                                        "example": 4350
                                    },
                                    "num_page": {
                                        "type": "integer",
                                        "description": "Page number for pagination. Use with results_per_page parameter.",
                                        "example": 3
                                    },
                                    "results_per_page": {
                                        "type": "integer",
                                        "description": "Number of results per page (between 10 and 1000). Must always be provided together with \"num_page\".",
                                        "example": 50
                                    },
                                    "version_id": {
                                        "type": "integer",
                                        "description": "Version ID. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    },
                                    "exclude_inherited_values": {
                                        "type": "boolean",
                                        "description": "If it is true, only the direct values of the asset are exported (excludes values that have not been filled directly in the asset : values inherited from a parent, or from the repository in the case of a contextual asset, or calculated values)",
                                        "example": true
                                    },
                                    "attribute_list": {
                                        "type": "array",
                                        "description": "If specified, the result will contain for each asset only the list of specified attributes (10 maximum). You must use either the \"attribute_list\" parameter or the \"mapping_id\" parameter.",
                                        "example": [
                                            231,
                                            "Selling price",
                                            "type_sales_price"
                                        ],
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "mapping_id": {
                                        "type": "integer",
                                        "description": "Mapping ID. If specified, the result will contain for each asset only the list of attributes used in the mapping. You must use either the \"attribute_list\" parameter or the \"mapping_id\" parameter. Use POST /api/v3/mappings/list/ with class_id to discover available mappings.",
                                        "example": 23
                                    },
                                    "research": {
                                        "type": "array",
                                        "description": "Array of attribute filters. Each filter has attribute_id, operator, value, and optional link. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "attribute_id": 1234,
                                                "operator": "contains",
                                                "value": "Prefix_"
                                            },
                                            {
                                                "link": "or",
                                                "attribute_id": 2465,
                                                "operator": "contains",
                                                "value": "Prefix_"
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute_id": {
                                                    "type": "integer",
                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes.",
                                                    "example": 231
                                                },
                                                "operator": {
                                                    "type": "string",
                                                    "description": "Search operator: equal/notequal (exact match), contains/notcontains (partial), startby/endby (prefix/suffix), isnull/isnotnull (empty check), greater/atleast/lesser/nomore (numeric comparison), between (range with value2), isinlist/isnotinlist (multiple values).",
                                                    "enum": [
                                                        "equal",
                                                        "notequal",
                                                        "contains",
                                                        "notcontains",
                                                        "startby",
                                                        "endby",
                                                        "notstartby",
                                                        "notendby",
                                                        "isnull",
                                                        "isnotnull",
                                                        "greater",
                                                        "atleast",
                                                        "lesser",
                                                        "nomore",
                                                        "between",
                                                        "isinlist",
                                                        "isnotinlist"
                                                    ],
                                                    "example": "between"
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "Value (only if operator is not \"isnull\" and \"isnotnull\") **⚠️ Required when:** `operator` = `equal` | `notequal` | `contains` | `notcontains` | `startby` | `endby` | `notstartby` | `notendby` | `greater` | `atleast` | `lesser` | `nomore` | `between` | `isinlist` | `isnotinlist`",
                                                    "example": "12345",
                                                    "x-conditional-required": {
                                                        "operator": [
                                                            "equal",
                                                            "notequal",
                                                            "contains",
                                                            "notcontains",
                                                            "startby",
                                                            "endby",
                                                            "notstartby",
                                                            "notendby",
                                                            "greater",
                                                            "atleast",
                                                            "lesser",
                                                            "nomore",
                                                            "between",
                                                            "isinlist",
                                                            "isnotinlist"
                                                        ]
                                                    }
                                                },
                                                "value2": {
                                                    "type": "string",
                                                    "description": "Second value for range search. Required only when operator is \"between\" **⚠️ Required when:** `operator` = `between`",
                                                    "example": "12346",
                                                    "x-conditional-required": {
                                                        "operator": [
                                                            "between"
                                                        ]
                                                    }
                                                },
                                                "link": {
                                                    "type": "string",
                                                    "description": "Logical link between filters: \"and\" (all conditions must match) or \"or\" (any condition matches). Default: \"and\".",
                                                    "enum": [
                                                        "and",
                                                        "or"
                                                    ],
                                                    "example": "and"
                                                }
                                            },
                                            "required": [
                                                "attribute_id",
                                                "operator"
                                            ],
                                            "title": "Item"
                                        }
                                    },
                                    "filters": {
                                        "type": "object",
                                        "description": "Filter object with types_id, status_id, creausers, users, workflow_step_id, date filters.",
                                        "example": {
                                            "types_id": [
                                                257,
                                                258
                                            ],
                                            "time": "2024-12-17T10:30:00Z",
                                            "workflow_step_id": 10
                                        },
                                        "properties": {
                                            "types_id": {
                                                "type": "array",
                                                "description": "List of asset type IDs. Use POST /api/v3/types/list with class_id to get available types.",
                                                "example": [
                                                    257,
                                                    258
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "status_id": {
                                                "type": "array",
                                                "description": "List of asset status IDs. Use POST /api/v3/permissions/statuses/list with class_id to get available statuses.",
                                                "example": [
                                                    1287,
                                                    1288
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "creausers": {
                                                "type": "array",
                                                "description": "List of user IDs who created assets. Use POST /api/v3/permissions/groups/list to get user groups.",
                                                "example": [
                                                    1485,
                                                    1535
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "users": {
                                                "type": "array",
                                                "description": "List of user IDs who last modified assets. Use POST /api/v3/permissions/groups/list to get user groups.",
                                                "example": [
                                                    1485,
                                                    1535
                                                ],
                                                "items": {
                                                    "type": "integer"
                                                }
                                            },
                                            "workflow_step_id": {
                                                "type": "integer",
                                                "description": "Workflow step ID. Use POST /api/v3/workflows/list/node/ with project_node_id and class_id to get workflows and their steps.",
                                                "example": 10
                                            },
                                            "creatime": {
                                                "type": "string",
                                                "description": "Minimum creation date of the asset (ISO 8601 format). Used to filter assets created from this date.",
                                                "example": "2024-12-17T10:30:00Z"
                                            },
                                            "creatimeend": {
                                                "type": "string",
                                                "description": "Maximum creation date of the asset (ISO 8601 format). Used to filter assets created up to this date.",
                                                "example": "2024-12-17T23:59:59Z"
                                            },
                                            "time": {
                                                "type": "string",
                                                "description": "Minimum update date of the asset (ISO 8601 format). Used to filter assets updated from this date.",
                                                "example": "2024-12-17T10:30:00Z"
                                            },
                                            "timeend": {
                                                "type": "string",
                                                "description": "Maximum update date of the asset (ISO 8601 format). Used to filter assets updated up to this date.",
                                                "example": "2024-12-17T23:59:59Z"
                                            },
                                            "search_find": {
                                                "type": "string",
                                                "description": "Quick search text. Searches across indexed attributes for matching content.",
                                                "example": "My product label"
                                            },
                                            "split_find": {
                                                "type": "string",
                                                "description": "Fast search mode: \"all_words\" (all words must be present), \"each_word\" (any word matches), \"exact_expression\" (exact phrase match).",
                                                "enum": [
                                                    "all_words",
                                                    "each_word",
                                                    "exact_expression"
                                                ],
                                                "example": "each_word"
                                            },
                                            "alias": {
                                                "type": "string",
                                                "description": "Alias filter: \"only_aliases\" (return only alias nodes), \"except_aliases\" (exclude alias nodes). Default: include all.",
                                                "enum": [
                                                    "only_aliases",
                                                    "except_aliases"
                                                ],
                                                "example": "except_aliases"
                                            }
                                        }
                                    },
                                    "format": {
                                        "type": "string",
                                        "description": "Specifies the format of the returned asset data. Use \"simple\" for standard attribute list format, or \"composed\" for JSON Composed format with recursive data structure and enhanced formatting.",
                                        "enum": [
                                            "simple",
                                            "composed"
                                        ],
                                        "example": "simple"
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "parent_id",
                                    "num_page",
                                    "results_per_page"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/get-asset/by-id/repository/": {
            "post": {
                "tags": [
                    "get-asset"
                ],
                "summary": "Get repository asset by ID",
                "description": "## Purpose\n\nReturns complete repository asset with all attribute values (master data without project overrides).\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Asset data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "string",
                                                            "example": "141560",
                                                            "description": "Asset ID"
                                                        },
                                                        "parent_id": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "466175",
                                                            "description": "Parent asset ID"
                                                        },
                                                        "version_id": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Version ID"
                                                        },
                                                        "path": {
                                                            "type": "string",
                                                            "example": "0/1978/141560",
                                                            "description": "Asset path"
                                                        },
                                                        "supertype_id": {
                                                            "type": "integer",
                                                            "example": 7,
                                                            "description": "Supertype ID"
                                                        },
                                                        "supertype_label": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "Products",
                                                            "description": "Supertype label"
                                                        },
                                                        "type_id": {
                                                            "type": "string",
                                                            "example": "291",
                                                            "description": "Type ID"
                                                        },
                                                        "type_label": {
                                                            "type": "string",
                                                            "example": "HOUSSES",
                                                            "description": "Type label"
                                                        },
                                                        "workflow_item_id": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": null,
                                                            "description": "Workflow item ID"
                                                        },
                                                        "workflow_item_label": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "Pending validation",
                                                            "description": "Workflow item label (step/action)"
                                                        },
                                                        "creation_date": {
                                                            "type": "string",
                                                            "example": "2018-09-12T00:00:00+02:00",
                                                            "description": "Creation date (ISO 8601)"
                                                        },
                                                        "modification_date": {
                                                            "type": "string",
                                                            "example": "2025-07-30T00:00:00+02:00",
                                                            "description": "Modification date (ISO 8601)"
                                                        },
                                                        "status_id": {
                                                            "type": "string",
                                                            "example": "1115",
                                                            "description": "Status ID"
                                                        },
                                                        "status_label": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "Validated",
                                                            "description": "Status label"
                                                        },
                                                        "media": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "/path/to/image.jpg",
                                                            "description": "Asset thumbnail image path (null if no image)"
                                                        },
                                                        "data": {
                                                            "type": "object",
                                                            "additionalProperties": true,
                                                            "example": {
                                                                "2017": "AAF22DSQ22DQS2",
                                                                "2018": "2804-AAF22DSQ22DQS2"
                                                            },
                                                            "description": "Asset data with attribute values"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "type_id",
                                                        "type_label",
                                                        "creation_date",
                                                        "modification_date",
                                                        "status_id",
                                                        "media",
                                                        "data"
                                                    ],
                                                    "description": "Asset object"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = Parameter error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Asset does not exist or has been deleted",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Asset ID. Use POST /api/v3/get-asset/by-search/repository to find assets and get their IDs.",
                                        "example": 50
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "version_id": {
                                        "type": "integer",
                                        "description": "Version ID. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    }
                                },
                                "required": [
                                    "id",
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/get-asset/by-id/node/": {
            "post": {
                "tags": [
                    "get-asset"
                ],
                "summary": "Get project node asset by ID",
                "description": "## Purpose\n\nReturns project-contextualized asset with all attribute values (includes project-specific overrides).\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Asset data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "string",
                                                            "example": "5756",
                                                            "description": "Node ID"
                                                        },
                                                        "parent_id": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "466175",
                                                            "description": "Parent node ID"
                                                        },
                                                        "version_id": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Version ID"
                                                        },
                                                        "path": {
                                                            "type": "string",
                                                            "example": "0/1978/5756",
                                                            "description": "Node path"
                                                        },
                                                        "supertype_id": {
                                                            "type": "integer",
                                                            "example": 7,
                                                            "description": "Supertype ID"
                                                        },
                                                        "supertype_label": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "Products",
                                                            "description": "Supertype label"
                                                        },
                                                        "type_id": {
                                                            "type": "string",
                                                            "example": "291",
                                                            "description": "Type ID"
                                                        },
                                                        "type_label": {
                                                            "type": "string",
                                                            "example": "HOUSSES",
                                                            "description": "Type label"
                                                        },
                                                        "workflow_item_id": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": null,
                                                            "description": "Workflow item ID"
                                                        },
                                                        "workflow_item_label": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "Pending validation",
                                                            "description": "Workflow item label (step/action)"
                                                        },
                                                        "creation_date": {
                                                            "type": "string",
                                                            "example": "2018-09-12T00:00:00+02:00",
                                                            "description": "Creation date (ISO 8601)"
                                                        },
                                                        "modification_date": {
                                                            "type": "string",
                                                            "example": "2025-07-30T00:00:00+02:00",
                                                            "description": "Modification date (ISO 8601)"
                                                        },
                                                        "status_id": {
                                                            "type": "string",
                                                            "example": "1115",
                                                            "description": "Status ID"
                                                        },
                                                        "status_label": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "Validated",
                                                            "description": "Status label"
                                                        },
                                                        "media": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "/path/to/image.jpg",
                                                            "description": "Asset thumbnail image path (null if no image)"
                                                        },
                                                        "data": {
                                                            "type": "object",
                                                            "additionalProperties": true,
                                                            "example": {
                                                                "2017": "AAF22DSQ22DQS2",
                                                                "2018": "2804-AAF22DSQ22DQS2"
                                                            },
                                                            "description": "Asset data with attribute values"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "type_id",
                                                        "type_label",
                                                        "creation_date",
                                                        "modification_date",
                                                        "status_id",
                                                        "media",
                                                        "data"
                                                    ],
                                                    "description": "Asset object"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = Parameter error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Asset does not exist or has been deleted",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Node ID. Use POST /api/v3/get-asset/by-search/node to find nodes and get their IDs.",
                                        "example": 5756
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "version_id": {
                                        "type": "integer",
                                        "description": "Version ID. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    }
                                },
                                "required": [
                                    "id",
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/import/auto/repository/": {
            "post": {
                "tags": [
                    "import"
                ],
                "summary": "Auto-mapped import in repository",
                "description": "## Purpose\n\nImports data from CSV or Excel files into the repository using automatic attribute mapping based on column headers.\n\n## Content-Type\n\nThis endpoint requires `multipart/form-data` content type.\n\n## Supported File Formats\n\nFile type is automatically detected from file extension:\n- **CSV**: Text-based comma/semicolon separated values\n- **XLSX**: Excel 2007+ format (Office Open XML)\n\n## Example with curl\n\n```bash\ncurl -X POST \"https://your-domain/api/v3/import/auto/repository/\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -F \"class_id=4\" \\\n  -F \"file=@/path/to/data.csv\" \\\n  -F \"separator=;\" \\\n  -F \"mode=create_or_update\"\n```\n\n## Auto-Mapping Rules\n\nThe system automatically maps columns to attributes using these rules:\n1. **By uname**: Column header matches attribute uname exactly\n2. **By label**: Column header matches attribute label exactly\n\n## Header Conventions\n\n| Suffix | Meaning | Example |\n|--------|---------|---------|\n| `*` | Key column (used to identify existing assets) | `reference*` |\n| `!` | Associated data (linked entity) | `category!` |\n| `[suffix]` | Cross-reference data | `price[EUR]` |\n\n## Update Modes (Repository)\n\n- `create_only`: Only create new assets, skip existing ones\n- `update_only`: Only update existing assets, skip new ones\n- `create_or_update`: Create new assets or update existing ones (default)\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Import response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "success": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "Import success status"
                                                        },
                                                        "mapping": {
                                                            "type": "object",
                                                            "properties": {
                                                                "resolved": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "column": {
                                                                                "type": "integer",
                                                                                "example": 1,
                                                                                "description": "Column index (1-based)"
                                                                            },
                                                                            "header": {
                                                                                "type": "string",
                                                                                "example": "reference*",
                                                                                "description": "Original column header from file"
                                                                            },
                                                                            "role_id": {
                                                                                "type": "integer",
                                                                                "nullable": true,
                                                                                "example": 145,
                                                                                "description": "Matched attribute ID (ROLE_ID). Null if mapped to a system field."
                                                                            },
                                                                            "system_field": {
                                                                                "type": "string",
                                                                                "nullable": true,
                                                                                "example": "[ID_FICHE]",
                                                                                "description": "System field identifier (e.g., [ID_FICHE], [ID_NODE], [ID_TYPE], [STATUT]). Only present for system field mappings."
                                                                            },
                                                                            "is_key": {
                                                                                "type": "boolean",
                                                                                "example": true,
                                                                                "description": "Whether this column is marked as a key column (header ends with *)"
                                                                            }
                                                                        }
                                                                    },
                                                                    "description": "Columns successfully mapped to attributes or system fields"
                                                                },
                                                                "unresolved": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "column": {
                                                                                "type": "integer",
                                                                                "example": 3,
                                                                                "description": "Column index (1-based)"
                                                                            },
                                                                            "header": {
                                                                                "type": "string",
                                                                                "example": "unknown_column",
                                                                                "description": "Column header that could not be matched to any attribute"
                                                                            }
                                                                        }
                                                                    },
                                                                    "description": "Columns that could not be mapped (no matching uname or label found in the class)"
                                                                }
                                                            },
                                                            "description": "Mapping information"
                                                        },
                                                        "stats": {
                                                            "type": "object",
                                                            "properties": {
                                                                "total_rows": {
                                                                    "type": "integer",
                                                                    "example": 1500,
                                                                    "description": "Total number of data rows processed"
                                                                },
                                                                "created": {
                                                                    "type": "integer",
                                                                    "example": 1200,
                                                                    "description": "Number of assets created"
                                                                },
                                                                "updated": {
                                                                    "type": "integer",
                                                                    "example": 300,
                                                                    "description": "Number of assets updated"
                                                                },
                                                                "excluded": {
                                                                    "type": "integer",
                                                                    "example": 0,
                                                                    "description": "Number of rows excluded (no key value)"
                                                                },
                                                                "errors": {
                                                                    "type": "integer",
                                                                    "example": 0,
                                                                    "description": "Number of rows with errors"
                                                                }
                                                            },
                                                            "required": [
                                                                "total_rows",
                                                                "created",
                                                                "updated",
                                                                "excluded",
                                                                "errors"
                                                            ],
                                                            "description": "Import statistics"
                                                        },
                                                        "errors": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "row": {
                                                                        "type": "integer",
                                                                        "description": "Row number"
                                                                    },
                                                                    "message": {
                                                                        "type": "string",
                                                                        "description": "Error message"
                                                                    }
                                                                }
                                                            },
                                                            "description": "List of row-level errors"
                                                        },
                                                        "history_id": {
                                                            "type": "integer",
                                                            "example": 12345,
                                                            "description": "ID of the import action in the history log. Can be used to track or reference this import operation."
                                                        }
                                                    },
                                                    "required": [
                                                        "success",
                                                        "mapping",
                                                        "stats",
                                                        "errors"
                                                    ],
                                                    "description": "Import result"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = Parameters error, 3 = Import error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Invalid file format",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library identifier (e.g., 4=Products). Use POST /api/v3/administration/classes/list to retrieve available libraries.",
                                        "example": 4
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Parent asset ID in repository. Use POST /api/v3/get-asset/by-search/repository to find assets. Set to 0 for repository root.",
                                        "example": 0
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary",
                                        "description": "The file to import. Must be sent as multipart/form-data with a filename including a valid extension (e.g. products.csv). Supported formats: CSV, XLSX. Sending the file as raw binary without a filename will result in an error.",
                                        "example": "products.csv"
                                    },
                                    "mode": {
                                        "type": "string",
                                        "description": "Import mode: \"create_only\" (new assets only), \"update_only\" (existing assets only), \"create_or_update\" (both).",
                                        "enum": [
                                            "create_only",
                                            "update_only",
                                            "create_or_update"
                                        ],
                                        "example": "create_or_update"
                                    },
                                    "separator": {
                                        "type": "string",
                                        "description": "CSV column separator (default: \";\"). Only used for CSV files",
                                        "example": ";"
                                    },
                                    "header_row": {
                                        "type": "integer",
                                        "description": "Row number containing column headers (default: 1)",
                                        "example": 1
                                    },
                                    "data_start_row": {
                                        "type": "integer",
                                        "description": "Row number where data starts (default: 2)",
                                        "example": 2
                                    },
                                    "type_id": {
                                        "type": "integer",
                                        "description": "Asset type ID for created assets. Use POST /api/v3/types/list with class_id to get available types.",
                                        "example": 257
                                    },
                                    "version_id": {
                                        "type": "integer",
                                        "description": "Version ID for multilingual imports. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "mode"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/import/auto/node/": {
            "post": {
                "tags": [
                    "import"
                ],
                "summary": "Auto-mapped import in node (project context)",
                "description": "## Purpose\n\nImports data from CSV or Excel files into a specific node/project context using automatic attribute mapping based on column headers.\n\n## Content-Type\n\nThis endpoint requires `multipart/form-data` content type.\n\n## Supported File Formats\n\nFile type is automatically detected from file extension:\n- **CSV**: Text-based comma/semicolon separated values\n- **XLSX**: Excel 2007+ format (Office Open XML)\n\n## Example with curl\n\n```bash\ncurl -X POST \"https://your-domain/api/v3/import/auto/node/\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -F \"class_id=4\" \\\n  -F \"parent_id=12345\" \\\n  -F \"file=@/path/to/data.csv\" \\\n  -F \"separator=;\" \\\n  -F \"mode=create_in_context\"\n```\n\n## Auto-Mapping Rules\n\nThe system automatically maps columns to attributes using these rules:\n1. **By uname**: Column header matches attribute uname exactly\n2. **By label**: Column header matches attribute label exactly\n\n## Header Conventions\n\n| Suffix | Meaning | Example |\n|--------|---------|---------|\n| `*` | Key column (used to identify existing assets) | `reference*` |\n| `!` | Associated data (linked entity) | `category!` |\n| `[suffix]` | Cross-reference data | `price[EUR]` |\n\n## Update Modes (Node/Project)\n\n- `create_in_context`: Create assets in the specified node context (default)\n- `update_in_context`: Update existing assets in the context\n- `classify_only`: Only classify assets (no data modification)\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Import response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "success": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "Import success status"
                                                        },
                                                        "mapping": {
                                                            "type": "object",
                                                            "properties": {
                                                                "resolved": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "column": {
                                                                                "type": "integer",
                                                                                "example": 1,
                                                                                "description": "Column index (1-based)"
                                                                            },
                                                                            "header": {
                                                                                "type": "string",
                                                                                "example": "reference*",
                                                                                "description": "Original column header from file"
                                                                            },
                                                                            "role_id": {
                                                                                "type": "integer",
                                                                                "nullable": true,
                                                                                "example": 145,
                                                                                "description": "Matched attribute ID (ROLE_ID). Null if mapped to a system field."
                                                                            },
                                                                            "system_field": {
                                                                                "type": "string",
                                                                                "nullable": true,
                                                                                "example": "[ID_FICHE]",
                                                                                "description": "System field identifier (e.g., [ID_FICHE], [ID_NODE], [ID_TYPE], [STATUT]). Only present for system field mappings."
                                                                            },
                                                                            "is_key": {
                                                                                "type": "boolean",
                                                                                "example": true,
                                                                                "description": "Whether this column is marked as a key column (header ends with *)"
                                                                            }
                                                                        }
                                                                    },
                                                                    "description": "Columns successfully mapped to attributes or system fields"
                                                                },
                                                                "unresolved": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "column": {
                                                                                "type": "integer",
                                                                                "example": 3,
                                                                                "description": "Column index (1-based)"
                                                                            },
                                                                            "header": {
                                                                                "type": "string",
                                                                                "example": "unknown_column",
                                                                                "description": "Column header that could not be matched to any attribute"
                                                                            }
                                                                        }
                                                                    },
                                                                    "description": "Columns that could not be mapped (no matching uname or label found in the class)"
                                                                }
                                                            },
                                                            "description": "Mapping information"
                                                        },
                                                        "stats": {
                                                            "type": "object",
                                                            "properties": {
                                                                "total_rows": {
                                                                    "type": "integer",
                                                                    "example": 1500,
                                                                    "description": "Total number of data rows processed"
                                                                },
                                                                "created": {
                                                                    "type": "integer",
                                                                    "example": 1200,
                                                                    "description": "Number of assets created"
                                                                },
                                                                "updated": {
                                                                    "type": "integer",
                                                                    "example": 300,
                                                                    "description": "Number of assets updated"
                                                                },
                                                                "excluded": {
                                                                    "type": "integer",
                                                                    "example": 0,
                                                                    "description": "Number of rows excluded (no key value)"
                                                                },
                                                                "errors": {
                                                                    "type": "integer",
                                                                    "example": 0,
                                                                    "description": "Number of rows with errors"
                                                                }
                                                            },
                                                            "required": [
                                                                "total_rows",
                                                                "created",
                                                                "updated",
                                                                "excluded",
                                                                "errors"
                                                            ],
                                                            "description": "Import statistics"
                                                        },
                                                        "errors": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "row": {
                                                                        "type": "integer",
                                                                        "description": "Row number"
                                                                    },
                                                                    "message": {
                                                                        "type": "string",
                                                                        "description": "Error message"
                                                                    }
                                                                }
                                                            },
                                                            "description": "List of row-level errors"
                                                        },
                                                        "history_id": {
                                                            "type": "integer",
                                                            "example": 12345,
                                                            "description": "ID of the import action in the history log. Can be used to track or reference this import operation."
                                                        }
                                                    },
                                                    "required": [
                                                        "success",
                                                        "mapping",
                                                        "stats",
                                                        "errors"
                                                    ],
                                                    "description": "Import result"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = Parameters error, 3 = Import error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Invalid file format",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library identifier (e.g., 4=Products). Use POST /api/v3/administration/classes/list to retrieve available libraries.",
                                        "example": 4
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Parent node ID in project. Use POST /api/v3/get-asset/by-search/node to find project nodes.",
                                        "example": 12345
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary",
                                        "description": "The file to import. Must be sent as multipart/form-data with a filename including a valid extension (e.g. products.csv). Supported formats: CSV, XLSX. Sending the file as raw binary without a filename will result in an error.",
                                        "example": "products.csv"
                                    },
                                    "mode": {
                                        "type": "string",
                                        "description": "Import mode: \"create_in_context\" (create nodes in project), \"update_in_context\" (update existing nodes), \"classify_only\" (classify without modification).",
                                        "enum": [
                                            "create_in_context",
                                            "update_in_context",
                                            "classify_only"
                                        ],
                                        "example": "create_in_context"
                                    },
                                    "separator": {
                                        "type": "string",
                                        "description": "CSV column separator (default: \";\"). Only used for CSV files",
                                        "example": ";"
                                    },
                                    "header_row": {
                                        "type": "integer",
                                        "description": "Row number containing column headers (default: 1)",
                                        "example": 1
                                    },
                                    "data_start_row": {
                                        "type": "integer",
                                        "description": "Row number where data starts (default: 2)",
                                        "example": 2
                                    },
                                    "type_id": {
                                        "type": "integer",
                                        "description": "Asset type ID for created assets. Use POST /api/v3/types/list with class_id to get available types.",
                                        "example": 257
                                    },
                                    "version_id": {
                                        "type": "integer",
                                        "description": "Version ID for multilingual imports. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "parent_id",
                                    "mode"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/import/json/repository/": {
            "post": {
                "tags": [
                    "import"
                ],
                "summary": "Import JSON/JSONL data in repository",
                "description": "## Purpose\n\nImports data from JSON or JSONL format into the repository. Supports two input modes:\n1. **Inline data**: Pass JSON data directly via the `data` parameter\n2. **File upload**: Upload a JSON/JSONL file via multipart/form-data\n\n## Content-Type\n\n- For inline data: `application/json`\n- For file upload: `multipart/form-data`\n\n## JSON Schema\n\n### Line Structure (JSONL format)\n\nEach line represents one asset to import:\n\n```jsonl\n{\"key\": {...}, \"type_id\": 257, \"fields\": [...]}\n```\n\n### Asset Identification (`key`)\n\n```jsonl\n// By direct asset_id\n{\"key\": {\"id\": 5845}, \"fields\": [...]}\n\n// By key attribute (code/uname)\n{\"key\": {\"attr\": \"reference\", \"value\": \"ABC123\"}, \"fields\": [...]}\n\n// By key attribute (numeric id)\n{\"key\": {\"attr\": 231, \"value\": \"ABC123\"}, \"fields\": [...]}\n```\n\n### Attribute Resolution (`id` and `attr`)\n\nThe `attr` parameter resolves attributes in this order:\n1. **Numeric ID**: Direct attribute ID (e.g., `231`)\n2. **Uname**: Attribute uname/code (e.g., `\"designationlibelle\"`)\n3. **Label**: Attribute label (e.g., `\"Designation\"`)\n\nUse POST /api/v3/attributes/list to retrieve attribute IDs and unames.\n\n### Attribute Fields (`fields`)\n\n```jsonl\n// Simple attribute by ID\n{\"id\": 231, \"value\": \"Product A\"}\n\n// With language version\n{\"id\": 658, \"value\": \"Red leather\", \"version\": 1}\n\n// By attribute code/uname instead of ID\n{\"attr\": \"designationlabel\", \"value\": \"Text\", \"version\": 2}\n\n// Multiple values (sync required)\n{\"id\": 724, \"value\": [\"Red\", \"Black\"], \"sync\": true}\n\n// Associated data with search key\n{\"id\": 800, \"value\": [\"SKU1\", \"SKU2\"], \"keyassoc\": 231, \"sync\": true}\n```\n\n### Complete JSONL Example\n\n```jsonl\n{\"key\": {\"attr\": \"reference\", \"value\": \"ABC123\"}, \"type_id\": 257, \"fields\": [{\"id\": 231, \"value\": \"3-seater sofa\"}, {\"id\": 658, \"value\": \"Red leather\", \"version\": 1}, {\"id\": 658, \"value\": \"Cuir rouge\", \"version\": 2}, {\"id\": 724, \"value\": [\"Red\", \"Black\"], \"sync\": true}]}\n{\"key\": {\"attr\": \"reference\", \"value\": \"DEF456\"}, \"type_id\": 257, \"fields\": [{\"id\": 231, \"value\": \"Coffee table\"}, {\"id\": 800, \"value\": [\"ABC123\"], \"keyassoc\": 231, \"sync\": false}]}\n```\n\n### Field Parameters\n\n| Parameter | Required | Description |\n|-----------|----------|-------------|\n| `id` or `attr` | Yes | Attribute numeric ID, code/uname, or label |\n| `value` | Yes | Value (string, number, or array for multiples) |\n| `version` | No | Language version ID (default version if absent) |\n| `sync` | **Required if array** | `true` = replace all, `false` = append |\n| `keyassoc` | No | Key attribute ID for associated data |\n\n## Important Notes\n\n- **`type_id` is required when creating assets** (modes `create_only` and `create_or_update`). Without it, rows will fail with an error. It can be set globally via the `type_id` parameter or per line via the `type_id` field in each JSON object.\n\n## Examples with curl\n\n### Mode 1: Inline JSON (data parameter)\n\n```bash\ncurl -X POST \"https://your-domain/api/v3/import/json/repository/\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"class_id\": 4,\n    \"mode\": \"create_or_update\",\n    \"type_id\": 257,\n    \"data\": [\n      {\"key\": {\"attr\": \"reference\", \"value\": \"ABC\"}, \"fields\": [{\"id\": 231, \"value\": \"Product A\"}]},\n      {\"key\": {\"attr\": \"reference\", \"value\": \"DEF\"}, \"fields\": [{\"id\": 231, \"value\": \"Product B\"}]}\n    ]\n  }'\n```\n\n### Mode 2: File upload\n\n```bash\ncurl -X POST \"https://your-domain/api/v3/import/json/repository/\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -F \"class_id=4\" \\\n  -F \"mode=create_or_update\" \\\n  -F \"file=@/path/to/data.jsonl\"\n```\n\n## Update Modes (Repository)\n\n- `create_only`: Only create new assets, skip existing ones\n- `update_only`: Only update existing assets, skip new ones\n- `create_or_update`: Create new assets or update existing ones (default)\n\n## Common Errors\n\n| Error Code | Message | Cause | Solution |\n|------------|---------|-------|----------|\n| 2 | \"No data provided\" | Neither `data` nor `file` parameter | Provide exactly one of `data` or `file` |\n| 2 | \"Cannot use both data and file\" | Both parameters provided | Use only one input mode |\n| 2 | \"Invalid file format\" | File is not .json or .jsonl | Use JSON or JSONL file extension |\n| 2 | \"Parameter data must be an array\" | `data` is not a JSON array | Ensure `data` is an array of objects |\n| 3 | \"JSON parse error on line X\" | Malformed JSON in file | Fix JSON syntax at specified line |\n| 3 | \"Import error\" | Processing failed | Check attribute IDs and data format |\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "JSON Import response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "success": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "Import success status"
                                                        },
                                                        "stats": {
                                                            "type": "object",
                                                            "properties": {
                                                                "total_rows": {
                                                                    "type": "integer",
                                                                    "example": 2,
                                                                    "description": "Total number of data rows processed"
                                                                },
                                                                "created": {
                                                                    "type": "integer",
                                                                    "example": 1,
                                                                    "description": "Number of assets created"
                                                                },
                                                                "updated": {
                                                                    "type": "integer",
                                                                    "example": 1,
                                                                    "description": "Number of assets updated"
                                                                },
                                                                "excluded": {
                                                                    "type": "integer",
                                                                    "example": 0,
                                                                    "description": "Number of rows excluded (no key value)"
                                                                },
                                                                "errors": {
                                                                    "type": "integer",
                                                                    "example": 0,
                                                                    "description": "Number of rows with errors"
                                                                }
                                                            },
                                                            "required": [
                                                                "total_rows",
                                                                "created",
                                                                "updated",
                                                                "excluded",
                                                                "errors"
                                                            ],
                                                            "description": "Import statistics"
                                                        },
                                                        "errors": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "row": {
                                                                        "type": "integer",
                                                                        "example": 3,
                                                                        "description": "Row number where error occurred"
                                                                    },
                                                                    "message": {
                                                                        "type": "string",
                                                                        "example": "Invalid attribute ID: 999",
                                                                        "description": "Error message describing the issue"
                                                                    }
                                                                }
                                                            },
                                                            "example": [
                                                                {
                                                                    "row": 3,
                                                                    "message": "Invalid attribute ID: 999"
                                                                }
                                                            ],
                                                            "description": "List of row-level errors encountered during import"
                                                        },
                                                        "history_id": {
                                                            "type": "integer",
                                                            "example": 12345,
                                                            "description": "ID of the import action in the history log"
                                                        }
                                                    },
                                                    "required": [
                                                        "success",
                                                        "stats",
                                                        "errors"
                                                    ],
                                                    "description": "Import result"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = Parameters error, 3 = Import error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "No data provided. Use either \"data\" parameter (JSON body) or \"file\" parameter (multipart upload)",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library identifier (e.g., 4=Products). Use POST /api/v3/administration/classes/list to retrieve available libraries.",
                                        "example": 4
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Parent asset ID in repository. Use POST /api/v3/get-asset/by-search/repository to find assets. Set to 0 for repository root (default).",
                                        "example": 0
                                    },
                                    "mode": {
                                        "type": "string",
                                        "description": "Import mode: \"create_only\" (new assets only), \"update_only\" (existing assets only), \"create_or_update\" (both).",
                                        "enum": [
                                            "create_only",
                                            "update_only",
                                            "create_or_update"
                                        ],
                                        "example": "create_or_update"
                                    },
                                    "data": {
                                        "type": "array",
                                        "description": "**MUTUALLY EXCLUSIVE with `file`** - Array of JSON objects to import (inline mode). Each object must contain `key` (asset identification), optionally `type_id`, and `fields` array. Exactly one of `data` or `file` must be provided.",
                                        "example": "[{\"key\": {\"attr\": \"reference\", \"value\": \"ABC123\"}, \"type_id\": 257, \"fields\": [{\"id\": 231, \"value\": \"Product A\"}]}]",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary",
                                        "description": "**MUTUALLY EXCLUSIVE with `data`** - JSON (.json) or JSONL (.jsonl) file to import. Must be sent as multipart/form-data with a filename including a valid extension (e.g. products.jsonl). Sending the file as raw binary without a filename will result in an error. Exactly one of `data` or `file` must be provided.",
                                        "example": "products.jsonl"
                                    },
                                    "type_id": {
                                        "type": "integer",
                                        "description": "Asset type ID for created assets. **Required when creating assets** (without it, creation will fail). Can be overridden per line with type_id field. Use POST /api/v3/types/list with class_id to get available types.",
                                        "example": 257
                                    },
                                    "version_id": {
                                        "type": "integer",
                                        "description": "Default version ID for multilingual imports (can be overridden per field with version). Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "mode"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/import/json/node/": {
            "post": {
                "tags": [
                    "import"
                ],
                "summary": "Import JSON/JSONL data in node (project context)",
                "description": "## Purpose\n\nImports data from JSON or JSONL format into a specific node/project context. Supports two input modes:\n1. **Inline data**: Pass JSON data directly via the `data` parameter\n2. **File upload**: Upload a JSON/JSONL file via multipart/form-data\n\n## Content-Type\n\n- For inline data: `application/json`\n- For file upload: `multipart/form-data`\n\n## JSON Schema\n\n### Line Structure (JSONL format)\n\nEach line represents one asset to import:\n\n```jsonl\n{\"key\": {...}, \"type_id\": 257, \"fields\": [...]}\n```\n\n### Asset Identification (`key`)\n\n```jsonl\n// By direct asset_id\n{\"key\": {\"id\": 5845}, \"fields\": [...]}\n\n// By key attribute (code/uname)\n{\"key\": {\"attr\": \"reference\", \"value\": \"ABC123\"}, \"fields\": [...]}\n\n// By key attribute (numeric id)\n{\"key\": {\"attr\": 231, \"value\": \"ABC123\"}, \"fields\": [...]}\n```\n\n### Attribute Resolution (`id` and `attr`)\n\nThe `attr` parameter resolves attributes in this order:\n1. **Numeric ID**: Direct attribute ID (e.g., `231`)\n2. **Uname**: Attribute uname/code (e.g., `\"designationlibelle\"`)\n3. **Label**: Attribute label (e.g., `\"Designation\"`)\n\nUse POST /api/v3/attributes/list to retrieve attribute IDs and unames.\n\n### Attribute Fields (`fields`)\n\n```jsonl\n// Simple attribute by ID\n{\"id\": 231, \"value\": \"Product A\"}\n\n// With language version\n{\"id\": 658, \"value\": \"Red leather\", \"version\": 1}\n\n// By attribute code/uname instead of ID\n{\"attr\": \"designationlabel\", \"value\": \"Text\", \"version\": 2}\n\n// Multiple values (sync required)\n{\"id\": 724, \"value\": [\"Red\", \"Black\"], \"sync\": true}\n\n// Associated data with search key\n{\"id\": 800, \"value\": [\"SKU1\", \"SKU2\"], \"keyassoc\": 231, \"sync\": true}\n```\n\n### Field Parameters\n\n| Parameter | Required | Description |\n|-----------|----------|-------------|\n| `id` or `attr` | Yes | Attribute numeric ID, code/uname, or label |\n| `value` | Yes | Value (string, number, or array for multiples) |\n| `version` | No | Language version ID (default version if absent) |\n| `sync` | **Required if array** | `true` = replace all, `false` = append |\n| `keyassoc` | No | Key attribute ID for associated data |\n\n## Important Notes\n\n- **`type_id` is required when creating assets** (modes `create_in_context`). Without it, rows will fail with an error. It can be set globally via the `type_id` parameter or per line via the `type_id` field in each JSON object.\n\n## Examples with curl\n\n### Mode 1: Inline JSON (data parameter)\n\n```bash\ncurl -X POST \"https://your-domain/api/v3/import/json/node/\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"class_id\": 4,\n    \"parent_id\": 12345,\n    \"mode\": \"create_in_context\",\n    \"type_id\": 257,\n    \"data\": [\n      {\"key\": {\"attr\": \"reference\", \"value\": \"ABC\"}, \"fields\": [{\"id\": 231, \"value\": \"Product A\"}]},\n      {\"key\": {\"attr\": \"reference\", \"value\": \"DEF\"}, \"fields\": [{\"id\": 231, \"value\": \"Product B\"}]}\n    ]\n  }'\n```\n\n### Mode 2: File upload\n\n```bash\ncurl -X POST \"https://your-domain/api/v3/import/json/node/\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -F \"class_id=4\" \\\n  -F \"parent_id=12345\" \\\n  -F \"mode=create_in_context\" \\\n  -F \"file=@/path/to/data.jsonl\"\n```\n\n## Update Modes (Node/Project)\n\n- `create_in_context`: Create assets in the specified node context (default)\n- `update_in_context`: Update existing assets in the context\n- `classify_only`: Only classify assets (no data modification)\n\n## Common Errors\n\n| Error Code | Message | Cause | Solution |\n|------------|---------|-------|----------|\n| 2 | \"No data provided\" | Neither `data` nor `file` parameter | Provide exactly one of `data` or `file` |\n| 2 | \"Cannot use both data and file\" | Both parameters provided | Use only one input mode |\n| 2 | \"Parent node does not exist\" | Invalid parent_id | Use valid node ID from project |\n| 2 | \"Invalid file format\" | File is not .json or .jsonl | Use JSON or JSONL file extension |\n| 3 | \"JSON parse error on line X\" | Malformed JSON in file | Fix JSON syntax at specified line |\n| 3 | \"Not allowed operation\" | No permission on project | Check user project permissions |\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "JSON Import response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "success": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "Import success status"
                                                        },
                                                        "stats": {
                                                            "type": "object",
                                                            "properties": {
                                                                "total_rows": {
                                                                    "type": "integer",
                                                                    "example": 2,
                                                                    "description": "Total number of data rows processed"
                                                                },
                                                                "created": {
                                                                    "type": "integer",
                                                                    "example": 1,
                                                                    "description": "Number of assets created"
                                                                },
                                                                "updated": {
                                                                    "type": "integer",
                                                                    "example": 1,
                                                                    "description": "Number of assets updated"
                                                                },
                                                                "excluded": {
                                                                    "type": "integer",
                                                                    "example": 0,
                                                                    "description": "Number of rows excluded (no key value)"
                                                                },
                                                                "errors": {
                                                                    "type": "integer",
                                                                    "example": 0,
                                                                    "description": "Number of rows with errors"
                                                                }
                                                            },
                                                            "required": [
                                                                "total_rows",
                                                                "created",
                                                                "updated",
                                                                "excluded",
                                                                "errors"
                                                            ],
                                                            "description": "Import statistics"
                                                        },
                                                        "errors": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "row": {
                                                                        "type": "integer",
                                                                        "example": 3,
                                                                        "description": "Row number where error occurred"
                                                                    },
                                                                    "message": {
                                                                        "type": "string",
                                                                        "example": "Invalid attribute ID: 999",
                                                                        "description": "Error message describing the issue"
                                                                    }
                                                                }
                                                            },
                                                            "example": [
                                                                {
                                                                    "row": 3,
                                                                    "message": "Invalid attribute ID: 999"
                                                                }
                                                            ],
                                                            "description": "List of row-level errors encountered during import"
                                                        },
                                                        "history_id": {
                                                            "type": "integer",
                                                            "example": 12345,
                                                            "description": "ID of the import action in the history log"
                                                        }
                                                    },
                                                    "required": [
                                                        "success",
                                                        "stats",
                                                        "errors"
                                                    ],
                                                    "description": "Import result"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = Parameters error, 3 = Import error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "No data provided. Use either \"data\" parameter (JSON body) or \"file\" parameter (multipart upload)",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library identifier (e.g., 4=Products). Use POST /api/v3/administration/classes/list to retrieve available libraries.",
                                        "example": 4
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Parent node ID in project. Use POST /api/v3/get-asset/by-search/node to find project nodes.",
                                        "example": 12345
                                    },
                                    "mode": {
                                        "type": "string",
                                        "description": "Import mode: \"create_in_context\" (create nodes in project), \"update_in_context\" (update existing nodes), \"classify_only\" (classify without modification).",
                                        "enum": [
                                            "create_in_context",
                                            "update_in_context",
                                            "classify_only"
                                        ],
                                        "example": "create_in_context"
                                    },
                                    "data": {
                                        "type": "array",
                                        "description": "**MUTUALLY EXCLUSIVE with `file`** - Array of JSON objects to import (inline mode). Each object must contain `key` (asset identification), optionally `type_id`, and `fields` array. Exactly one of `data` or `file` must be provided.",
                                        "example": "[{\"key\": {\"attr\": \"reference\", \"value\": \"ABC123\"}, \"type_id\": 257, \"fields\": [{\"id\": 231, \"value\": \"Product A\"}]}]",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary",
                                        "description": "**MUTUALLY EXCLUSIVE with `data`** - JSON (.json) or JSONL (.jsonl) file to import. Must be sent as multipart/form-data with a filename including a valid extension (e.g. products.jsonl). Sending the file as raw binary without a filename will result in an error. Exactly one of `data` or `file` must be provided.",
                                        "example": "products.jsonl"
                                    },
                                    "type_id": {
                                        "type": "integer",
                                        "description": "Asset type ID for created assets. **Required when creating assets** (without it, creation will fail). Can be overridden per line with type_id field. Use POST /api/v3/types/list with class_id to get available types.",
                                        "example": 257
                                    },
                                    "version_id": {
                                        "type": "integer",
                                        "description": "Default version ID for multilingual imports (can be overridden per field with version). Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "parent_id",
                                    "mode"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/listvalues/full/": {
            "post": {
                "tags": [
                    "listvalues"
                ],
                "summary": "Get list values for dropdowns",
                "description": "## Purpose\n\nReturns all dropdown options configured for a class with full details (options, linked attributes, versions).\n\n## Use Cases\n\n- Populate select fields with available choices\n- Validate user input against allowed values\n- Build dynamic forms based on list configuration\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List values list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Total number of list values found"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 45,
                                                                        "description": "List value ID"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Class ID"
                                                                    },
                                                                    "code": {
                                                                        "type": "string",
                                                                        "example": "code_list",
                                                                        "description": "List value code"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Colors",
                                                                        "description": "List value label"
                                                                    },
                                                                    "linked_attributes": {
                                                                        "type": "object",
                                                                        "additionalProperties": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": {
                                                                            "125": "Color attribute",
                                                                            "126": "Main color"
                                                                        },
                                                                        "description": "Map of attribute IDs to labels that use this list value"
                                                                    },
                                                                    "tags": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [
                                                                            "tag1",
                                                                            "tag2"
                                                                        ],
                                                                        "description": "Array of tags (can be empty)"
                                                                    },
                                                                    "options": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "id": {
                                                                                    "type": "integer",
                                                                                    "example": 1001,
                                                                                    "description": "Option ID"
                                                                                },
                                                                                "value_code": {
                                                                                    "type": "string",
                                                                                    "example": "RED",
                                                                                    "description": "Option value code"
                                                                                },
                                                                                "order": {
                                                                                    "type": "integer",
                                                                                    "example": 1,
                                                                                    "description": "Display order"
                                                                                },
                                                                                "afs": {
                                                                                    "type": "string",
                                                                                    "example": "#123#",
                                                                                    "description": "AFS value"
                                                                                },
                                                                                "versions": {
                                                                                    "type": "array",
                                                                                    "items": {
                                                                                        "type": "object"
                                                                                    },
                                                                                    "example": {
                                                                                        "1": {
                                                                                            "data_value": "No",
                                                                                            "real_value": "No"
                                                                                        },
                                                                                        "2": {
                                                                                            "data_value": "No",
                                                                                            "real_value": "No"
                                                                                        }
                                                                                    },
                                                                                    "description": "Associated versions"
                                                                                },
                                                                                "asset_types": {
                                                                                    "type": "array",
                                                                                    "items": {
                                                                                        "type": "string"
                                                                                    },
                                                                                    "example": [
                                                                                        "all"
                                                                                    ],
                                                                                    "description": "Associated asset types (can be 'all' or specific type labels)"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "id",
                                                                                "value_code",
                                                                                "order",
                                                                                "afs",
                                                                                "versions",
                                                                                "asset_types"
                                                                            ]
                                                                        },
                                                                        "description": "Array of options"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "class_id",
                                                                    "code",
                                                                    "label",
                                                                    "tags",
                                                                    "linked_attributes",
                                                                    "options"
                                                                ]
                                                            },
                                                            "description": "Array of list values"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ],
                                                    "description": "List values with total count"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = class not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Class not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/listvalues/list/": {
            "post": {
                "tags": [
                    "listvalues"
                ],
                "summary": "List dropdown configurations",
                "description": "## Purpose\n\nReturns simplified list values for a class (id, code, label, tags only).\n\n## Comparison\n\nUse `listvalues/full` for complete details including options and linked attributes.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List values list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Total number of list values found"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 45,
                                                                        "description": "List value ID"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Class ID"
                                                                    },
                                                                    "code": {
                                                                        "type": "string",
                                                                        "example": "code_list",
                                                                        "description": "List value code"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Colors",
                                                                        "description": "List value label"
                                                                    },
                                                                    "tags": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [
                                                                            "tag1",
                                                                            "tag2"
                                                                        ],
                                                                        "description": "Array of tags (can be empty)"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "class_id",
                                                                    "code",
                                                                    "label",
                                                                    "tags"
                                                                ]
                                                            },
                                                            "description": "Array of list values"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ],
                                                    "description": "List values with total count"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = class not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Class not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/listvalues/get/": {
            "post": {
                "tags": [
                    "listvalues"
                ],
                "summary": "Get list value details",
                "description": "## Purpose\n\nReturns complete information for a single list value including all options, linked attributes, and version data.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List value information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 45,
                                                            "description": "List value ID"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Class ID"
                                                        },
                                                        "code": {
                                                            "type": "string",
                                                            "example": "code_list",
                                                            "description": "List value code"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Colors",
                                                            "description": "List value label"
                                                        },
                                                        "tags": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": [
                                                                "tag1",
                                                                "tag2"
                                                            ],
                                                            "description": "Array of tags (can be empty)"
                                                        },
                                                        "linked_attributes": {
                                                            "type": "object",
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "example": {
                                                                "125": "Color attribute",
                                                                "126": "Main color"
                                                            },
                                                            "description": "Map of attribute IDs to labels that use this list value"
                                                        },
                                                        "options": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 1001,
                                                                        "description": "Option ID"
                                                                    },
                                                                    "value_code": {
                                                                        "type": "string",
                                                                        "example": "RED",
                                                                        "description": "Option value code"
                                                                    },
                                                                    "order": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Display order"
                                                                    },
                                                                    "afs": {
                                                                        "type": "string",
                                                                        "example": "#123#",
                                                                        "description": "AFS value"
                                                                    },
                                                                    "versions": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object"
                                                                        },
                                                                        "example": {
                                                                            "1": {
                                                                                "data_value": "No",
                                                                                "real_value": "No"
                                                                            },
                                                                            "2": {
                                                                                "data_value": "No",
                                                                                "real_value": "No"
                                                                            }
                                                                        },
                                                                        "description": "Associated versions"
                                                                    },
                                                                    "asset_types": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [
                                                                            "all"
                                                                        ],
                                                                        "description": "Associated asset types (can be 'all' or specific type labels)"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "value_code",
                                                                    "order",
                                                                    "afs",
                                                                    "versions",
                                                                    "asset_types"
                                                                ]
                                                            },
                                                            "description": "Array of options"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "class_id",
                                                        "code",
                                                        "label",
                                                        "tags",
                                                        "linked_attributes",
                                                        "options"
                                                    ],
                                                    "description": "List value information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "List value \"20\" does not exist",
                                                    "description": "Error message with list value ID"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "List value ID. Use POST /api/v3/listvalues/list with class_id to get available list values.",
                                        "example": 20
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/listvalues/create/": {
            "post": {
                "tags": [
                    "listvalues"
                ],
                "summary": "Create a new dropdown list",
                "description": "## Purpose\n\nCreates a new dropdown list (list value) in a library, optionally with initial options (values).\n\n## Idempotent Behavior\n\nIf a list with the same label already exists in the library, returns the existing list with `created: false` and adds any new values provided.\n\n## Use Cases\n\n- Create dropdown lists for product attributes (colors, sizes, categories)\n- Pre-populate lists with initial values and translations\n- Automate list creation during platform setup\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Create list value response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "List created successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 127,
                                                            "description": "List value ID"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Library ID"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Colors",
                                                            "description": "List label"
                                                        },
                                                        "created": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "true if newly created, false if already existed"
                                                        },
                                                        "values_added": {
                                                            "type": "integer",
                                                            "example": 3,
                                                            "description": "Number of option values added"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "class_id",
                                                        "label",
                                                        "created",
                                                        "values_added"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Label cannot be empty",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "label": {
                                        "type": "string",
                                        "description": "Name of the dropdown list. Must be unique within the library for creation (idempotent if duplicate).",
                                        "example": "Colors"
                                    },
                                    "values": {
                                        "type": "array",
                                        "description": "Array of option objects to add to the list. Empty labels are ignored. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "label": "Rouge",
                                                "code": "RED",
                                                "translations": {
                                                    "2": "Red",
                                                    "3": "Rojo"
                                                },
                                                "type_ids": [
                                                    100,
                                                    102
                                                ],
                                                "afs": "#123#"
                                            },
                                            {
                                                "label": "Bleu",
                                                "code": "BLU"
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "label": {
                                                    "type": "string",
                                                    "description": "Display label in the default language.",
                                                    "example": "Rouge"
                                                },
                                                "code": {
                                                    "type": "string",
                                                    "description": "Option code. Auto-generated as \"id_<ID>\" if omitted.",
                                                    "example": "RED"
                                                },
                                                "translations": {
                                                    "type": "object",
                                                    "description": "Translated labels by version_id. Keys are version IDs (as strings), values are translated labels. Use POST /api/v3/listvalues/full to see available version IDs.",
                                                    "additionalProperties": {
                                                        "type": "string"
                                                    },
                                                    "example": {
                                                        "2": "Red",
                                                        "3": "Rojo"
                                                    }
                                                },
                                                "type_ids": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "integer"
                                                    },
                                                    "description": "Asset type IDs to restrict this option to. If omitted, option is available for all types. Use POST /api/v3/types/list to get available type IDs.",
                                                    "example": [
                                                        100,
                                                        102
                                                    ]
                                                },
                                                "afs": {
                                                    "type": "string",
                                                    "description": "AFS condition using Smarty/hashtag syntax (e.g. \"#123#\", \"{if #153#}1{/if}\"). Syntax is validated before creation.",
                                                    "example": "#123#"
                                                }
                                            },
                                            "required": [
                                                "label"
                                            ]
                                        }
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "label"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/listvalues/update/": {
            "post": {
                "tags": [
                    "listvalues"
                ],
                "summary": "Update a dropdown list with full options synchronization",
                "description": "## Purpose\n\nUpdates an existing dropdown list: its label and/or its options. When `values` is provided, the endpoint performs a **full synchronization** of the list options.\n\n## What can be updated\n\n- `label`: Display name of the list\n- `values`: Complete list of options (exhaustive synchronization)\n\n## What cannot be updated\n\n- `class_id` (immutable — the list belongs to a specific library)\n\n## Recommended workflow\n\n1. Call `POST /api/v3/listvalues/get` with the list ID to retrieve all existing options and their IDs\n2. Modify the returned options array as needed (add, remove, or edit entries)\n3. Send the modified array as the `values` parameter to this endpoint\n\nThis read-modify-write pattern ensures you don't accidentally delete existing options by sending a partial list.\n\n## Options synchronization (`values` parameter)\n\nWhen `values` is provided, it must contain the **complete and exhaustive** list of options for this dropdown. The endpoint compares the provided options with the existing ones in database and performs:\n\n### 1. Matching logic (by priority)\n- **By `id`**: if an option has an `id` field, it is matched to the existing option with that `id_asset`\n- **By `code`**: if no `id` but a `code` is provided, it is matched to the existing option with that `code_valeur`\n- **No match**: the option is treated as new and will be created\n\n### 2. ADD — Options present in `values` but not in database\n- Creates the option element (asset) in the list\n- Sets translations for each provided `version_id`\n- Creates type associations if `type_ids` is provided\n\n### 3. UPDATE — Options matched between `values` and database\nFor each matched option, only fields that actually differ are updated:\n- `label` (translations): compared per version_id, only changed versions are written\n- `code`: updated if different from current `code_valeur`\n- `afs`: updated if different from current `asset_afs` (syntax validated before update)\n- `type_ids`: diff computed with `array_diff()` — types to add and types to remove are processed separately\n\n### 4. DELETE — Options in database but NOT in `values`\n**⚠️ DESTRUCTIVE**: options present in the database but absent from the `values` array will be **permanently deleted**. This includes:\n- The option element (asset) itself (soft-delete: `deleted=1`)\n- All type associations for this option (`links_element_list_values_type` rows)\n- All references in library link tables (`links_XXX_list_values`)\n\n### 5. No `values` parameter\nIf `values` is omitted, only the `label` is updated (if provided). Existing options are left untouched.\n\n## Important\n\n- If neither `label` nor `values` is provided, the endpoint returns success with empty sync counts.\n- All option validations (translations version_ids, type_ids, AFS syntax) are performed **before any write operation**. If any validation fails, the entire update is aborted.\n\n## Common Errors\n\n| status_code | Cause | Example message |\n|-------------|-------|-----------------|\n| 2 | Invalid or non-existent id | \"List not found with id 99999\" |\n| 2 | Empty label after trim | \"Label cannot be empty\" |\n| 2 | Invalid version_id in translations | \"Invalid version_id \\\"99\\\" in values[0].translations\" |\n| 2 | Invalid type_id | \"Invalid type_id \\\"999\\\" in values[0].type_ids\" |\n| 2 | AFS syntax error | \"AFS syntax error in values[0].afs: ...\" |\n| 997 | User is not sadmin | \"Not allowed operation\" |\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List update response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "List updated successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 127,
                                                            "description": "List ID"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Library ID"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Colors",
                                                            "description": "Current list label (after update)"
                                                        },
                                                        "updated_fields": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": [
                                                                "label"
                                                            ],
                                                            "description": "List-level fields that were actually modified"
                                                        },
                                                        "options_added": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Number of new options created"
                                                        },
                                                        "options_updated": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Number of existing options modified"
                                                        },
                                                        "options_deleted": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Number of options permanently removed from the list"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "class_id",
                                                        "label",
                                                        "updated_fields",
                                                        "options_added",
                                                        "options_updated",
                                                        "options_deleted"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "enum": [
                                                        2,
                                                        997
                                                    ],
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 997 = insufficient permissions)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "List not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "List value ID to update. Use POST /api/v3/listvalues/list with class_id to get available lists and their IDs.",
                                        "example": 127
                                    },
                                    "label": {
                                        "type": "string",
                                        "description": "New list label (display name). Maximum 255 characters. Empty strings are not allowed.",
                                        "example": "Colors"
                                    },
                                    "values": {
                                        "type": "array",
                                        "description": "Complete and exhaustive array of options for this list. This triggers a full synchronization: options not in this array will be DELETED from the database. Omit this parameter entirely to leave existing options untouched. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "id": 456,
                                                "label": "Rouge",
                                                "code": "RED",
                                                "translations": {
                                                    "2": "Red",
                                                    "3": "Rojo"
                                                },
                                                "type_ids": [
                                                    100,
                                                    102
                                                ]
                                            },
                                            {
                                                "label": "Vert",
                                                "code": "GRN",
                                                "translations": {
                                                    "2": "Green"
                                                }
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "description": "Existing option ID (id_asset). If provided, the option is matched by ID for update. Use POST /api/v3/listvalues/get to retrieve existing option IDs.",
                                                    "example": 456
                                                },
                                                "label": {
                                                    "type": "string",
                                                    "description": "Display label in the default language.",
                                                    "example": "Rouge"
                                                },
                                                "code": {
                                                    "type": "string",
                                                    "description": "Option code. Used as matching key if no `id` is provided. Auto-generated as \"id_<ID>\" if omitted on new options.",
                                                    "example": "RED"
                                                },
                                                "translations": {
                                                    "type": "object",
                                                    "description": "Translated labels by version_id. Keys are version IDs (as strings), values are translated labels. Use POST /api/v3/listvalues/full to see available version IDs.",
                                                    "additionalProperties": {
                                                        "type": "string"
                                                    },
                                                    "example": {
                                                        "2": "Red",
                                                        "3": "Rojo"
                                                    }
                                                },
                                                "type_ids": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "integer"
                                                    },
                                                    "description": "Asset type IDs to restrict this option to. If omitted on new options, option is available for all types. On update: if provided, types are synchronized (missing types added, extra types removed). If omitted entirely on an existing option, its current type restrictions are left unchanged.",
                                                    "example": [
                                                        100,
                                                        102
                                                    ]
                                                },
                                                "afs": {
                                                    "type": "string",
                                                    "description": "AFS condition using Smarty/hashtag syntax (e.g. \"#123#\", \"{if #153#}1{/if}\"). Syntax is validated before update.",
                                                    "example": "#123#"
                                                }
                                            },
                                            "required": [
                                                "label"
                                            ]
                                        }
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/listvalues/add-option/": {
            "post": {
                "tags": [
                    "listvalues"
                ],
                "summary": "Add option to list value",
                "description": "## Purpose\n\nAdds a new option (choice) to an existing dropdown list.\n\n## Use Cases\n\n- Extend available choices for a dropdown field\n- Add new values to existing list configurations\n- Automate list value population via API\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Add option response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Option added successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "list_id": {
                                                            "type": "integer",
                                                            "example": 50,
                                                            "description": "ID of the list value"
                                                        },
                                                        "option_id": {
                                                            "type": "integer",
                                                            "example": 205,
                                                            "description": "ID of the newly created option"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Nouvelle Couleur",
                                                            "description": "Display label for the new list option. Must be unique within the list"
                                                        },
                                                        "code": {
                                                            "type": "string",
                                                            "example": "NEW_COLOR",
                                                            "description": "Code of the new option"
                                                        }
                                                    },
                                                    "required": [
                                                        "list_id",
                                                        "option_id",
                                                        "label",
                                                        "code"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = list not found, 3 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "List value \"50\" does not exist",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "list_id": {
                                        "type": "integer",
                                        "description": "List value ID. Use POST /api/v3/listvalues/list with class_id to get available list values.",
                                        "example": 50
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "Display label for the new list option. Must be unique within the list",
                                        "example": "Nouvelle Couleur"
                                    },
                                    "code": {
                                        "type": "string",
                                        "description": "Optional code for the option (auto-generated if not provided)",
                                        "example": "NEW_COLOR"
                                    }
                                },
                                "required": [
                                    "list_id",
                                    "value"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/mappings/full/": {
            "post": {
                "tags": [
                    "mappings"
                ],
                "summary": "Get all mappings for a class",
                "description": "## Purpose\n\nReturns all mappings for a class grouped by type (export, import, asset_view, search_view, dynamic_grouped_view).\n\n## Response Details\n\nEach mapping includes metadata (creation/modification dates, users, permissions) and full configuration data.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Mappings information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "type": {
                                                                "type": "string",
                                                                "example": "export",
                                                                "description": "Mapping type"
                                                            },
                                                            "results_total": {
                                                                "type": "integer",
                                                                "example": 5,
                                                                "description": "Total number of mappings returned for this mapping type"
                                                            },
                                                            "items": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "id": {
                                                                            "type": "integer",
                                                                            "example": 1415,
                                                                            "description": "ID"
                                                                        },
                                                                        "code": {
                                                                            "type": "string",
                                                                            "example": "export_products_csv",
                                                                            "description": "Mapping code"
                                                                        },
                                                                        "label": {
                                                                            "type": "string",
                                                                            "example": "My Mapping",
                                                                            "description": "Label"
                                                                        },
                                                                        "tags": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            },
                                                                            "example": [
                                                                                "tag1",
                                                                                "tag2"
                                                                            ],
                                                                            "description": "Array of tags (can be empty)"
                                                                        },
                                                                        "class_id": {
                                                                            "type": "integer",
                                                                            "example": 4,
                                                                            "description": "Class ID"
                                                                        },
                                                                        "permissions": {
                                                                            "type": "string",
                                                                            "example": "Group 1 | Group 2",
                                                                            "description": "Permissions"
                                                                        },
                                                                        "creation_date": {
                                                                            "type": "string",
                                                                            "nullable": true,
                                                                            "example": "2016-02-17T00:00:00+01:00",
                                                                            "description": "Creation date (ISO 8601 format)"
                                                                        },
                                                                        "creation_user": {
                                                                            "type": "string",
                                                                            "nullable": true,
                                                                            "example": "creation_user@company.com",
                                                                            "description": "Creation user"
                                                                        },
                                                                        "modification_date": {
                                                                            "type": "string",
                                                                            "nullable": true,
                                                                            "example": "2018-02-17T00:00:00+01:00",
                                                                            "description": "Modification date (ISO 8601 format)"
                                                                        },
                                                                        "modification_user": {
                                                                            "type": "string",
                                                                            "nullable": true,
                                                                            "example": "modification_user@company.com",
                                                                            "description": "Modification user"
                                                                        },
                                                                        "last_use_date": {
                                                                            "type": "string",
                                                                            "nullable": true,
                                                                            "example": "2019-02-17T00:00:00+01:00",
                                                                            "description": "Last use date (ISO 8601 format)"
                                                                        },
                                                                        "last_use_user": {
                                                                            "type": "string",
                                                                            "nullable": true,
                                                                            "example": "last_use_user@company.com",
                                                                            "description": "Last use user"
                                                                        },
                                                                        "hash": {
                                                                            "type": "string",
                                                                            "example": "a84ef1b35017a6ce27eaca962d291124afaf005dc301656ef9b7492e29cc3d4d",
                                                                            "description": "Hash"
                                                                        },
                                                                        "data": {
                                                                            "type": "object",
                                                                            "nullable": true,
                                                                            "description": "Data",
                                                                            "additionalProperties": true
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "id",
                                                                        "code",
                                                                        "label",
                                                                        "tags",
                                                                        "class_id",
                                                                        "hash"
                                                                    ],
                                                                    "description": "Mapping information"
                                                                }
                                                            }
                                                        },
                                                        "required": [
                                                            "type",
                                                            "items"
                                                        ],
                                                        "description": "List of mappings for the mapping type"
                                                    }
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 997,
                                                    "description": "Status code (997 = action not allowed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "You don't have the rights to do this action",
                                                    "description": "Error message because no rights"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/mappings/list/": {
            "post": {
                "tags": [
                    "mappings"
                ],
                "summary": "List mappings by class and type",
                "description": "## Purpose\n\nReturns simplified mapping list for a specific class and type.\n\n## Mapping Types\n\n- `export`: Data export configurations\n- `import`: Data import configurations\n- `asset_view`: Asset display views\n- `search_view`: Search result views\n- `dynamic_grouped_view`: Grouped display views\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Mappings information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Total number of mappings found"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 1415,
                                                                        "description": "Mapping ID"
                                                                    },
                                                                    "code": {
                                                                        "type": "string",
                                                                        "example": "export_products_csv",
                                                                        "description": "Mapping code"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "My Mapping",
                                                                        "description": "Mapping label"
                                                                    },
                                                                    "tags": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [
                                                                            "tag1",
                                                                            "tag2"
                                                                        ],
                                                                        "description": "Array of tags (can be empty)"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Class ID"
                                                                    },
                                                                    "type": {
                                                                        "type": "string",
                                                                        "example": "export",
                                                                        "description": "Mapping type"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "code",
                                                                    "label",
                                                                    "tags",
                                                                    "class_id",
                                                                    "type"
                                                                ]
                                                            },
                                                            "description": "Array of mapping objects"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ],
                                                    "description": "Mappings with total count"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 997,
                                                    "description": "Status code (997 = action not allowed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "You don't have the rights to do this action",
                                                    "description": "Error message because no rights"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "type": {
                                        "type": "string",
                                        "description": "Mapping type: \"export\" (data export), \"import\" (data import), \"asset_view\" (asset display), \"search_view\" (search results), \"dynamic_grouped_view\" (grouped display).",
                                        "enum": [
                                            "asset_view",
                                            "dynamic_grouped_view",
                                            "export",
                                            "import",
                                            "search_view"
                                        ],
                                        "example": "export"
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "type"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/mappings/get/": {
            "post": {
                "tags": [
                    "mappings"
                ],
                "summary": "Get mapping details",
                "description": "## Purpose\n\nReturns complete mapping configuration including metadata, permissions, and full data structure.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Mapping information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 1415,
                                                            "description": "ID"
                                                        },
                                                        "code": {
                                                            "type": "string",
                                                            "example": "export_products_csv",
                                                            "description": "Mapping code"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "My Mapping",
                                                            "description": "Label"
                                                        },
                                                        "tags": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": [
                                                                "tag1",
                                                                "tag2"
                                                            ],
                                                            "description": "Array of tags (can be empty)"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Class ID"
                                                        },
                                                        "type": {
                                                            "type": "string",
                                                            "example": "export",
                                                            "description": "Mapping type"
                                                        },
                                                        "permissions": {
                                                            "type": "string",
                                                            "example": "Group 1 | Group 2",
                                                            "description": "Permissions"
                                                        },
                                                        "creation_date": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "2016-02-17T00:00:00+01:00",
                                                            "description": "Creation date (ISO 8601 format)"
                                                        },
                                                        "creation_user": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "creation_user@company.com",
                                                            "description": "Creation user"
                                                        },
                                                        "modification_date": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "2018-02-17T00:00:00+01:00",
                                                            "description": "Modification date (ISO 8601 format)"
                                                        },
                                                        "modification_user": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "modification_user@company.com",
                                                            "description": "Modification user"
                                                        },
                                                        "last_use_date": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "2019-02-17T00:00:00+01:00",
                                                            "description": "Last use date (ISO 8601 format)"
                                                        },
                                                        "last_use_user": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "last_use_user@company.com",
                                                            "description": "Last use user"
                                                        },
                                                        "hash": {
                                                            "type": "string",
                                                            "example": "a84ef1b35017a6ce27eaca962d291124afaf005dc301656ef9b7492e29cc3d4d",
                                                            "description": "Hash"
                                                        },
                                                        "data": {
                                                            "type": "object",
                                                            "nullable": true,
                                                            "description": "Data",
                                                            "additionalProperties": true
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "code",
                                                        "label",
                                                        "tags",
                                                        "class_id",
                                                        "type",
                                                        "hash"
                                                    ],
                                                    "description": "Mapping information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 997,
                                                    "description": "Status code (997 = action not allowed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "You don't have the rights to do this action",
                                                    "description": "Error message because no rights"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Mapping ID. Use POST /api/v3/mappings/list with class_id to get available mappings.",
                                        "example": 140
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/permissions/groups/list/": {
            "post": {
                "tags": [
                    "permissions"
                ],
                "summary": "List user groups (simplified)",
                "description": "## Purpose\n\nReturns simplified user group list (id, label) for dropdowns and selectors.",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Simplified user groups list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Total number of user groups returned"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 15,
                                                                        "description": "Group ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "My group",
                                                                        "description": "Group label"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "label"
                                                                ]
                                                            },
                                                            "description": "Array of simplified user groups objects"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 997,
                                                    "description": "Status code (997 = action not allowed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "You don't have the rights to do this action",
                                                    "description": "Error message because no rights"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/permissions/groups/full/": {
            "post": {
                "tags": [
                    "permissions"
                ],
                "summary": "Get full user group permissions",
                "description": "## Purpose\n\nReturns complete permissions configuration for all user groups (profiles, statuses, languages, display masks, overloads).\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Full user group permissions information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Total number of user groups returned"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 15,
                                                                        "description": "Group ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "My group",
                                                                        "description": "Group label"
                                                                    },
                                                                    "parent_id": {
                                                                        "type": "integer",
                                                                        "example": 1511,
                                                                        "description": "Parent group ID"
                                                                    },
                                                                    "parent_label": {
                                                                        "type": "string",
                                                                        "example": "My group parent",
                                                                        "description": "Parent group label"
                                                                    },
                                                                    "configuration": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "langs": {
                                                                                "type": "object",
                                                                                "additionalProperties": true,
                                                                                "example": {
                                                                                    "all_versions": true
                                                                                },
                                                                                "description": "Multilingual"
                                                                            },
                                                                            "default_display_mask": {
                                                                                "type": "object",
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "nullable": true,
                                                                                "example": {
                                                                                    "1025": "A mask"
                                                                                },
                                                                                "description": "Default display mask"
                                                                            },
                                                                            "profiles": {
                                                                                "type": "object",
                                                                                "properties": {
                                                                                    "asset": {
                                                                                        "type": "object",
                                                                                        "additionalProperties": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "nullable": true,
                                                                                        "example": {
                                                                                            "25": "Full rights"
                                                                                        },
                                                                                        "description": "Asset profile"
                                                                                    },
                                                                                    "general": {
                                                                                        "type": "object",
                                                                                        "additionalProperties": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "nullable": true,
                                                                                        "example": {
                                                                                            "28": "Full rights"
                                                                                        },
                                                                                        "description": "General profile"
                                                                                    },
                                                                                    "project": {
                                                                                        "type": "object",
                                                                                        "additionalProperties": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "nullable": true,
                                                                                        "example": {
                                                                                            "35": "Full rights"
                                                                                        },
                                                                                        "description": "Project profile"
                                                                                    }
                                                                                }
                                                                            },
                                                                            "status": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "class_id": {
                                                                                            "type": "integer",
                                                                                            "example": 2,
                                                                                            "description": "Class ID"
                                                                                        },
                                                                                        "class_label": {
                                                                                            "type": "string",
                                                                                            "example": "DAM",
                                                                                            "description": "Class label"
                                                                                        },
                                                                                        "items": {
                                                                                            "type": "object",
                                                                                            "additionalProperties": {
                                                                                                "type": "string"
                                                                                            },
                                                                                            "example": {
                                                                                                "1093": "Active",
                                                                                                "1096": "Inactive",
                                                                                                "1114": "Archive"
                                                                                            },
                                                                                            "description": "Status list by id (key = ID, value = label)"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "class_id",
                                                                                        "class_label",
                                                                                        "items"
                                                                                    ]
                                                                                },
                                                                                "description": "Status list"
                                                                            },
                                                                            "overload_by_status": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "class_id": {
                                                                                            "type": "integer",
                                                                                            "example": 2,
                                                                                            "description": "Class ID"
                                                                                        },
                                                                                        "class_label": {
                                                                                            "type": "string",
                                                                                            "example": "DAM",
                                                                                            "description": "Class label"
                                                                                        },
                                                                                        "items": {
                                                                                            "type": "object",
                                                                                            "properties": {
                                                                                                "status_id": {
                                                                                                    "type": "integer",
                                                                                                    "example": 1111,
                                                                                                    "description": "Status id"
                                                                                                },
                                                                                                "status_label": {
                                                                                                    "type": "string",
                                                                                                    "example": "Proposed",
                                                                                                    "description": "Status label"
                                                                                                },
                                                                                                "profile_asset": {
                                                                                                    "oneOf": [
                                                                                                        {
                                                                                                            "type": "array",
                                                                                                            "items": {
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "example": [
                                                                                                                "Default"
                                                                                                            ]
                                                                                                        },
                                                                                                        {
                                                                                                            "type": "object",
                                                                                                            "additionalProperties": {
                                                                                                                "type": "string"
                                                                                                            },
                                                                                                            "example": {
                                                                                                                "53": "Profile test"
                                                                                                            }
                                                                                                        }
                                                                                                    ],
                                                                                                    "description": "Asset profile"
                                                                                                },
                                                                                                "mask": {
                                                                                                    "type": "object",
                                                                                                    "additionalProperties": {
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "example": {
                                                                                                        "1064": "Full display mask"
                                                                                                    },
                                                                                                    "description": "Display mask"
                                                                                                }
                                                                                            },
                                                                                            "required": [
                                                                                                "status_id",
                                                                                                "status_label"
                                                                                            ]
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "class_id",
                                                                                        "class_label",
                                                                                        "items"
                                                                                    ]
                                                                                },
                                                                                "description": "Overloaded by status"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "langs",
                                                                            "default_display_mask",
                                                                            "profiles",
                                                                            "status",
                                                                            "overload_by_status"
                                                                        ],
                                                                        "description": "Group configuration (langs, default display mask, profiles, statuses and overload by status)"
                                                                    },
                                                                    "users": {
                                                                        "type": "object",
                                                                        "additionalProperties": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": {
                                                                            "2187": "login@company.com"
                                                                        },
                                                                        "description": "Users in group"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "label",
                                                                    "parent_id",
                                                                    "parent_label",
                                                                    "configuration",
                                                                    "users"
                                                                ]
                                                            },
                                                            "description": "Array of user groups objects"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 997,
                                                    "description": "Status code (997 = action not allowed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "You don't have the rights to do this action",
                                                    "description": "Error message because no rights"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/permissions/groups/get/": {
            "post": {
                "tags": [
                    "permissions"
                ],
                "summary": "Get user group details",
                "description": "## Purpose\n\nReturns complete configuration for a specific user group by ID.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "User group information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 15,
                                                            "description": "Group ID"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "My group",
                                                            "description": "Group label"
                                                        },
                                                        "parent_id": {
                                                            "type": "integer",
                                                            "example": 1511,
                                                            "description": "Parent group ID"
                                                        },
                                                        "parent_label": {
                                                            "type": "string",
                                                            "example": "My group parent",
                                                            "description": "Parent group label"
                                                        },
                                                        "configuration": {
                                                            "type": "object",
                                                            "properties": {
                                                                "langs": {
                                                                    "type": "object",
                                                                    "additionalProperties": true,
                                                                    "example": {
                                                                        "all_versions": true
                                                                    },
                                                                    "description": "Multilingual"
                                                                },
                                                                "default_display_mask": {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "string"
                                                                    },
                                                                    "nullable": true,
                                                                    "example": {
                                                                        "1025": "A mask"
                                                                    },
                                                                    "description": "Default display mask"
                                                                },
                                                                "profiles": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "asset": {
                                                                            "type": "object",
                                                                            "additionalProperties": {
                                                                                "type": "string"
                                                                            },
                                                                            "nullable": true,
                                                                            "example": {
                                                                                "25": "Full rights"
                                                                            },
                                                                            "description": "Asset profile"
                                                                        },
                                                                        "general": {
                                                                            "type": "object",
                                                                            "additionalProperties": {
                                                                                "type": "string"
                                                                            },
                                                                            "nullable": true,
                                                                            "example": {
                                                                                "28": "Full rights"
                                                                            },
                                                                            "description": "General profile"
                                                                        },
                                                                        "project": {
                                                                            "type": "object",
                                                                            "additionalProperties": {
                                                                                "type": "string"
                                                                            },
                                                                            "nullable": true,
                                                                            "example": {
                                                                                "35": "Full rights"
                                                                            },
                                                                            "description": "Project profile"
                                                                        }
                                                                    }
                                                                },
                                                                "status": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "class_id": {
                                                                                "type": "integer",
                                                                                "example": 2,
                                                                                "description": "Class ID"
                                                                            },
                                                                            "class_label": {
                                                                                "type": "string",
                                                                                "example": "DAM",
                                                                                "description": "Class label"
                                                                            },
                                                                            "items": {
                                                                                "type": "object",
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "example": {
                                                                                    "1093": "Active",
                                                                                    "1096": "Inactive",
                                                                                    "1114": "Archive"
                                                                                },
                                                                                "description": "Status list by id (key = ID, value = label)"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "class_id",
                                                                            "class_label",
                                                                            "items"
                                                                        ]
                                                                    },
                                                                    "description": "Status list"
                                                                },
                                                                "overload_by_status": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "class_id": {
                                                                                "type": "integer",
                                                                                "example": 2,
                                                                                "description": "Class ID"
                                                                            },
                                                                            "class_label": {
                                                                                "type": "string",
                                                                                "example": "DAM",
                                                                                "description": "Class label"
                                                                            },
                                                                            "items": {
                                                                                "type": "object",
                                                                                "properties": {
                                                                                    "status_id": {
                                                                                        "type": "integer",
                                                                                        "example": 1111,
                                                                                        "description": "Status id"
                                                                                    },
                                                                                    "status_label": {
                                                                                        "type": "string",
                                                                                        "example": "Proposed",
                                                                                        "description": "Status label"
                                                                                    },
                                                                                    "profile_asset": {
                                                                                        "oneOf": [
                                                                                            {
                                                                                                "type": "array",
                                                                                                "items": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "example": [
                                                                                                    "Default"
                                                                                                ]
                                                                                            },
                                                                                            {
                                                                                                "type": "object",
                                                                                                "additionalProperties": {
                                                                                                    "type": "string"
                                                                                                },
                                                                                                "example": {
                                                                                                    "53": "Profile test"
                                                                                                }
                                                                                            }
                                                                                        ],
                                                                                        "description": "Asset profile"
                                                                                    },
                                                                                    "mask": {
                                                                                        "type": "object",
                                                                                        "additionalProperties": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "example": {
                                                                                            "1064": "Full display mask"
                                                                                        },
                                                                                        "description": "Display mask"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "status_id",
                                                                                    "status_label"
                                                                                ]
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "class_id",
                                                                            "class_label",
                                                                            "items"
                                                                        ]
                                                                    },
                                                                    "description": "Overloaded by status"
                                                                }
                                                            },
                                                            "required": [
                                                                "langs",
                                                                "default_display_mask",
                                                                "profiles",
                                                                "status",
                                                                "overload_by_status"
                                                            ],
                                                            "description": "Group configuration (langs, default display mask, profiles, statuses and overload by status)"
                                                        },
                                                        "users": {
                                                            "type": "object",
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "example": {
                                                                "2187": "login@company.com"
                                                            },
                                                            "description": "Users in group"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "label",
                                                        "parent_id",
                                                        "parent_label",
                                                        "configuration",
                                                        "users"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = not found, 997 = action not allowed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Group not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Group ID. Use POST /api/v3/permissions/groups/list to get available user groups.",
                                        "example": 15
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/permissions/statuses/list/": {
            "post": {
                "tags": [
                    "permissions"
                ],
                "summary": "List statuses (simplified)",
                "description": "## Purpose\n\nReturns simplified status list (id, label, class) for a specific class.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Simplified statuses list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Total number of statuses for this class"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 1093,
                                                                        "description": "Status ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Active",
                                                                        "description": "Status label"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 2,
                                                                        "description": "Class ID"
                                                                    },
                                                                    "class_label": {
                                                                        "type": "string",
                                                                        "example": "DAM",
                                                                        "description": "Class label"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "label",
                                                                    "class_id",
                                                                    "class_label"
                                                                ]
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = not found, 997 = action not allowed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "No statuses found for this class",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library identifier (e.g., 4=Products). Use POST /api/v3/administration/classes/list to retrieve available libraries.",
                                        "example": 2
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/permissions/statuses/full/": {
            "post": {
                "tags": [
                    "permissions"
                ],
                "summary": "Get all statuses with details",
                "description": "## Purpose\n\nReturns workflow statuses for a class with full details (default flag, color configuration).\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Statuses information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Total number of statuses for this class"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 1093,
                                                                        "description": "Status ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Active",
                                                                        "description": "Status label"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 2,
                                                                        "description": "Class ID"
                                                                    },
                                                                    "class_label": {
                                                                        "type": "string",
                                                                        "example": "DAM",
                                                                        "description": "Class label"
                                                                    },
                                                                    "default": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether this is the default status (only for one status by class)"
                                                                    },
                                                                    "color": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "#00FF00",
                                                                        "description": "Status color"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "label",
                                                                    "class_id",
                                                                    "class_label",
                                                                    "default",
                                                                    "color"
                                                                ]
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = not found, 997 = action not allowed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "No statuses found for this class",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library identifier (e.g., 4=Products). Use POST /api/v3/administration/classes/list to retrieve available libraries.",
                                        "example": 2
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/permissions/statuses/get/": {
            "post": {
                "tags": [
                    "permissions"
                ],
                "summary": "Get status details",
                "description": "## Purpose\n\nReturns complete status configuration by ID (label, class, default flag, color).\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Status information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 1093,
                                                            "description": "Status ID"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Active",
                                                            "description": "Status label"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Class ID"
                                                        },
                                                        "class_label": {
                                                            "type": "string",
                                                            "example": "DAM",
                                                            "description": "Class label"
                                                        },
                                                        "default": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "Whether this is the default status"
                                                        },
                                                        "color": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "#00FF00",
                                                            "description": "Status color"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "label",
                                                        "class_id",
                                                        "class_label",
                                                        "default"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = not found, 997 = action not allowed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Status not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Status ID. Use POST /api/v3/permissions/statuses/list to get available statuses.",
                                        "example": 1093
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/permissions/profiles/list/": {
            "post": {
                "tags": [
                    "permissions"
                ],
                "summary": "List profiles (simplified)",
                "description": "## Purpose\n\nReturns simplified profile list (id, label, type) grouped by profile type (general, project, asset).\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Simplified profiles list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "type": {
                                                                "type": "string",
                                                                "example": "general",
                                                                "description": "Profile type: general, project or asset"
                                                            },
                                                            "results_total": {
                                                                "type": "integer",
                                                                "example": 5,
                                                                "description": "Total number of profiles for this type"
                                                            },
                                                            "items": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "id": {
                                                                            "type": "integer",
                                                                            "example": 1415,
                                                                            "description": "Profile ID"
                                                                        },
                                                                        "label": {
                                                                            "type": "string",
                                                                            "example": "My profile",
                                                                            "description": "Profile label"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "id",
                                                                        "label"
                                                                    ]
                                                                }
                                                            }
                                                        },
                                                        "required": [
                                                            "type",
                                                            "results_total",
                                                            "items"
                                                        ]
                                                    }
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 997,
                                                    "description": "Status code (997 = action not allowed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "You don't have the rights to do this action",
                                                    "description": "Error message because no rights"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/permissions/profiles/full/": {
            "post": {
                "tags": [
                    "permissions"
                ],
                "summary": "Get full profile permissions",
                "description": "## Purpose\n\nReturns all profiles with complete permissions configuration (module access, universes, mount points, statuses).\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Profile permissions information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "type": {
                                                                "type": "string",
                                                                "example": "general",
                                                                "description": "Profile type label : general, project or asset"
                                                            },
                                                            "results_total": {
                                                                "type": "integer",
                                                                "example": 5,
                                                                "description": "Total number of profiles returned for this profile type"
                                                            },
                                                            "items": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "id": {
                                                                            "type": "integer",
                                                                            "example": 1415,
                                                                            "description": "Profile ID"
                                                                        },
                                                                        "label": {
                                                                            "type": "string",
                                                                            "example": "My profile",
                                                                            "description": "Profile label"
                                                                        },
                                                                        "permissions": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "object",
                                                                                "properties": {
                                                                                    "group": {
                                                                                        "type": "string",
                                                                                        "example": "Access to modules",
                                                                                        "description": "Group name"
                                                                                    },
                                                                                    "items": {
                                                                                        "type": "object",
                                                                                        "additionalProperties": true,
                                                                                        "example": {
                                                                                            "Workflow": true,
                                                                                            "FrontCatalog": false
                                                                                        },
                                                                                        "description": "Dynamic keys : permission name => value (true or false)"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "group",
                                                                                    "items"
                                                                                ]
                                                                            },
                                                                            "description": "Permissions"
                                                                        },
                                                                        "managed_universe": {
                                                                            "type": "object",
                                                                            "additionalProperties": true,
                                                                            "nullable": true,
                                                                            "example": {
                                                                                "5": 5
                                                                            },
                                                                            "description": "Universe list"
                                                                        },
                                                                        "user_mount_points": {
                                                                            "type": "object",
                                                                            "additionalProperties": true,
                                                                            "nullable": true,
                                                                            "example": {
                                                                                "5": 5
                                                                            },
                                                                            "description": "User mount points"
                                                                        },
                                                                        "other_statuses_available": {
                                                                            "type": "object",
                                                                            "additionalProperties": {
                                                                                "type": "string"
                                                                            },
                                                                            "nullable": true,
                                                                            "example": {
                                                                                "1093": "Active",
                                                                                "1096": "Inactive"
                                                                            },
                                                                            "description": "Statuses to manage"
                                                                        },
                                                                        "assignable_labels": {
                                                                            "type": "object",
                                                                            "additionalProperties": true,
                                                                            "nullable": true,
                                                                            "example": {
                                                                                "11": 11,
                                                                                "22": 22
                                                                            },
                                                                            "description": "Labels to manage"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "id",
                                                                        "label",
                                                                        "permissions"
                                                                    ],
                                                                    "description": "Profile information"
                                                                }
                                                            }
                                                        },
                                                        "required": [
                                                            "type",
                                                            "results_total",
                                                            "items"
                                                        ],
                                                        "description": "List of profiles for the profile type"
                                                    }
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 997,
                                                    "description": "Status code (997 = action not allowed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "You don't have the rights to do this action",
                                                    "description": "Error message because no rights"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/permissions/profiles/get/": {
            "post": {
                "tags": [
                    "permissions"
                ],
                "summary": "Get profile details",
                "description": "## Purpose\n\nReturns complete permissions configuration for a specific profile by ID.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Profile information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 1415,
                                                            "description": "Profile ID"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "My profile",
                                                            "description": "Profile label"
                                                        },
                                                        "type": {
                                                            "type": "string",
                                                            "example": "general",
                                                            "description": "Profile type: general, project or asset"
                                                        },
                                                        "permissions": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "group": {
                                                                        "type": "string",
                                                                        "example": "Access to modules",
                                                                        "description": "Group name"
                                                                    },
                                                                    "items": {
                                                                        "type": "object",
                                                                        "additionalProperties": true,
                                                                        "example": {
                                                                            "Workflow": true,
                                                                            "FrontCatalog": false
                                                                        },
                                                                        "description": "Dynamic keys : permission name => value (true or false)"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "group",
                                                                    "items"
                                                                ]
                                                            },
                                                            "description": "Permissions"
                                                        },
                                                        "managed_universe": {
                                                            "type": "object",
                                                            "additionalProperties": true,
                                                            "nullable": true,
                                                            "example": {
                                                                "5": 5
                                                            },
                                                            "description": "Universe list"
                                                        },
                                                        "user_mount_points": {
                                                            "type": "object",
                                                            "additionalProperties": true,
                                                            "nullable": true,
                                                            "example": {
                                                                "5": 5
                                                            },
                                                            "description": "User mount points"
                                                        },
                                                        "other_statuses_available": {
                                                            "type": "object",
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "nullable": true,
                                                            "example": {
                                                                "1093": "Active",
                                                                "1096": "Inactive"
                                                            },
                                                            "description": "Statuses to manage"
                                                        },
                                                        "assignable_labels": {
                                                            "type": "object",
                                                            "additionalProperties": true,
                                                            "nullable": true,
                                                            "example": {
                                                                "11": 11,
                                                                "22": 22
                                                            },
                                                            "description": "Labels to manage"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "label",
                                                        "type",
                                                        "permissions"
                                                    ],
                                                    "description": "Profile information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = not found, 997 = action not allowed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Profile not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Profile ID. Use POST /api/v3/permissions/profiles/list to get available profiles.",
                                        "example": 1415
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/permissions/masks/list/": {
            "post": {
                "tags": [
                    "permissions"
                ],
                "summary": "List display masks (simplified)",
                "description": "## Purpose\n\nReturns simplified display mask list (id, label) for dropdowns and selectors.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Simplified display masks list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 10,
                                                            "description": "Total number of display masks returned"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 1025,
                                                                        "description": "Mask ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Standard mask",
                                                                        "description": "Mask label"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "label"
                                                                ]
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 997,
                                                    "description": "Status code (997 = action not allowed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "You don't have the rights to do this action",
                                                    "description": "Error message because no rights"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/permissions/masks/full/": {
            "post": {
                "tags": [
                    "permissions"
                ],
                "summary": "Get all display masks with details",
                "description": "## Purpose\n\nReturns all display masks for a class with attribute-level read/write/hidden permissions.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Display masks information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 10,
                                                            "description": "Total number of display masks returned"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 1025,
                                                                        "description": "Mask ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Standard mask",
                                                                        "description": "Mask label"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 2,
                                                                        "description": "Class ID"
                                                                    },
                                                                    "class_label": {
                                                                        "type": "string",
                                                                        "example": "DAM",
                                                                        "description": "Class label"
                                                                    },
                                                                    "attributes": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "id": {
                                                                                    "type": "integer",
                                                                                    "example": 123,
                                                                                    "description": "Attribute ID"
                                                                                },
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "example": "Product name",
                                                                                    "description": "Attribute label"
                                                                                },
                                                                                "hidden": {
                                                                                    "type": "boolean",
                                                                                    "example": false,
                                                                                    "description": "Whether attribute is hidden"
                                                                                },
                                                                                "read": {
                                                                                    "type": "boolean",
                                                                                    "example": true,
                                                                                    "description": "Whether attribute is readable"
                                                                                },
                                                                                "write": {
                                                                                    "type": "boolean",
                                                                                    "example": true,
                                                                                    "description": "Whether attribute is writable"
                                                                                },
                                                                                "locally_editable": {
                                                                                    "type": "boolean",
                                                                                    "example": false,
                                                                                    "description": "Whether attribute is locally editable (asset share)"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "id",
                                                                                "label",
                                                                                "hidden",
                                                                                "read",
                                                                                "write",
                                                                                "locally_editable"
                                                                            ]
                                                                        },
                                                                        "description": "Attributes configuration for the class"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "label",
                                                                    "class_id",
                                                                    "class_label",
                                                                    "attributes"
                                                                ]
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 997,
                                                    "description": "Status code (997 = action not allowed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "You don't have the rights to do this action",
                                                    "description": "Error message because no rights"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library identifier (e.g., 4=Products). Use POST /api/v3/administration/classes/list to retrieve available libraries.",
                                        "example": 2
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/permissions/masks/get/": {
            "post": {
                "tags": [
                    "permissions"
                ],
                "summary": "Get display mask details",
                "description": "## Purpose\n\nReturns complete mask configuration with attribute-level permissions (read/write/hidden) for a specific class.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Display mask information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 1025,
                                                            "description": "Mask ID"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Standard mask",
                                                            "description": "Mask label"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Class ID"
                                                        },
                                                        "class_label": {
                                                            "type": "string",
                                                            "example": "DAM",
                                                            "description": "Class label"
                                                        },
                                                        "attributes": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 123,
                                                                        "description": "Attribute ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Product name",
                                                                        "description": "Attribute label"
                                                                    },
                                                                    "hidden": {
                                                                        "type": "boolean",
                                                                        "example": false,
                                                                        "description": "Whether attribute is hidden"
                                                                    },
                                                                    "read": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether attribute is readable"
                                                                    },
                                                                    "write": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether attribute is writable"
                                                                    },
                                                                    "locally_editable": {
                                                                        "type": "boolean",
                                                                        "example": false,
                                                                        "description": "Whether attribute is locally editable (asset share)"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "label",
                                                                    "hidden",
                                                                    "read",
                                                                    "write",
                                                                    "locally_editable"
                                                                ]
                                                            },
                                                            "description": "Attributes configuration for the class"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "label",
                                                        "class_id",
                                                        "class_label",
                                                        "attributes"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = not found, 997 = action not allowed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Mask not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Mask ID. Use POST /api/v3/permissions/masks/list to get available display masks.",
                                        "example": 1025
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library identifier (e.g., 4=Products). Use POST /api/v3/administration/classes/list to retrieve available libraries.",
                                        "example": 2
                                    }
                                },
                                "required": [
                                    "id",
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/preferences/full/": {
            "post": {
                "tags": [
                    "preferences"
                ],
                "summary": "Get all preferences with details",
                "description": "## Purpose\n\nReturns all user preferences for a class with complete configuration (context, type/node assignments, attributes).\n\n## Contexts\n\n- `general`: Global preferences\n- `type`: Per asset-type preferences\n- `node`: Per node preferences\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Preference list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer",
                                                                "example": 1,
                                                                "description": "Preference ID"
                                                            },
                                                            "code": {
                                                                "type": "string",
                                                                "example": "my_preference_code",
                                                                "description": "Preference code"
                                                            },
                                                            "label": {
                                                                "type": "string",
                                                                "example": "Display in list",
                                                                "description": "Preference label"
                                                            },
                                                            "tags": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "example": [
                                                                    "tag1",
                                                                    "tag2"
                                                                ],
                                                                "description": "Array of tags (can be empty)"
                                                            },
                                                            "context": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "general",
                                                                        "type",
                                                                        "node"
                                                                    ]
                                                                },
                                                                "example": [
                                                                    "general",
                                                                    "type"
                                                                ],
                                                                "description": "Array of applicable contexts. Possible values: general, type, node"
                                                            },
                                                            "results_total": {
                                                                "type": "integer",
                                                                "example": 2,
                                                                "description": "Total number of items for this preference"
                                                            },
                                                            "items": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "type_id": {
                                                                            "type": "integer",
                                                                            "example": 5,
                                                                            "description": "Asset type ID (0 for global)"
                                                                        },
                                                                        "type_label": {
                                                                            "type": "string",
                                                                            "example": "Product",
                                                                            "description": "Asset type label (empty for global)"
                                                                        },
                                                                        "node_id": {
                                                                            "type": "integer",
                                                                            "example": 0,
                                                                            "description": "Node ID (0 for global)"
                                                                        },
                                                                        "attributes": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "object",
                                                                                "properties": {
                                                                                    "id": {
                                                                                        "type": "integer",
                                                                                        "example": 125,
                                                                                        "description": "Attribute ID"
                                                                                    },
                                                                                    "label": {
                                                                                        "type": "string",
                                                                                        "example": "Name",
                                                                                        "description": "Attribute label"
                                                                                    },
                                                                                    "order": {
                                                                                        "type": "integer",
                                                                                        "example": 1,
                                                                                        "description": "Display order"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "id",
                                                                                    "label",
                                                                                    "order"
                                                                                ]
                                                                            },
                                                                            "description": "Array of attributes for this type/node combination"
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "type_id",
                                                                        "type_label",
                                                                        "node_id",
                                                                        "attributes"
                                                                    ]
                                                                },
                                                                "description": "Array of preference configurations by type and node"
                                                            }
                                                        },
                                                        "required": [
                                                            "id",
                                                            "code",
                                                            "label",
                                                            "tags",
                                                            "context",
                                                            "results_total",
                                                            "items"
                                                        ]
                                                    },
                                                    "description": "Array of preferences with their configurations"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = class not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Class not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/preferences/list/": {
            "post": {
                "tags": [
                    "preferences"
                ],
                "summary": "List preferences (simplified)",
                "description": "## Purpose\n\nReturns simplified preference list (id, code, label, tags, context) without attribute details.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Preference list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer",
                                                                "example": 1,
                                                                "description": "Preference ID"
                                                            },
                                                            "code": {
                                                                "type": "string",
                                                                "example": "my_preference_code",
                                                                "description": "Preference code"
                                                            },
                                                            "label": {
                                                                "type": "string",
                                                                "example": "Display in list",
                                                                "description": "Preference label"
                                                            },
                                                            "tags": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "example": [
                                                                    "tag1",
                                                                    "tag2"
                                                                ],
                                                                "description": "Array of tags (can be empty)"
                                                            },
                                                            "context": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string",
                                                                    "enum": [
                                                                        "general",
                                                                        "type",
                                                                        "node"
                                                                    ]
                                                                },
                                                                "example": [
                                                                    "general",
                                                                    "type"
                                                                ],
                                                                "description": "Array of applicable contexts. Possible values: general, type, node"
                                                            }
                                                        },
                                                        "required": [
                                                            "id",
                                                            "code",
                                                            "label",
                                                            "tags",
                                                            "context"
                                                        ]
                                                    },
                                                    "description": "Array of preferences with id and label"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = class not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Class not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/preferences/get/": {
            "post": {
                "tags": [
                    "preferences"
                ],
                "summary": "Get preference by context",
                "description": "## Purpose\n\nReturns preference configuration for a specific context (general, type, or node).\n\n## Context Usage\n\n- `general`: No context_id needed\n- `type`: Provide type_id as context_id\n- `node`: Provide node_id as context_id\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Preference details response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Preference ID"
                                                        },
                                                        "code": {
                                                            "type": "string",
                                                            "example": "my_preference_code",
                                                            "description": "Preference code"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Display in list",
                                                            "description": "Preference label"
                                                        },
                                                        "tags": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": [
                                                                "tag1",
                                                                "tag2"
                                                            ],
                                                            "description": "Array of tags (can be empty)"
                                                        },
                                                        "context": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "general",
                                                                    "type",
                                                                    "node"
                                                                ]
                                                            },
                                                            "example": [
                                                                "general",
                                                                "type"
                                                            ],
                                                            "description": "Array of applicable contexts. Possible values: general, type, node"
                                                        },
                                                        "type_id": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Asset type ID (0 for global)"
                                                        },
                                                        "type_label": {
                                                            "type": "string",
                                                            "example": "Product",
                                                            "description": "Asset type label (empty for global)"
                                                        },
                                                        "node_id": {
                                                            "type": "integer",
                                                            "example": 0,
                                                            "description": "Node ID (0 for global)"
                                                        },
                                                        "attributes": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 125,
                                                                        "description": "Attribute ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Name",
                                                                        "description": "Attribute label"
                                                                    },
                                                                    "order": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Display order"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "label",
                                                                    "order"
                                                                ]
                                                            },
                                                            "description": "Array of attributes"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "code",
                                                        "label",
                                                        "tags",
                                                        "context",
                                                        "type_id",
                                                        "type_label",
                                                        "node_id",
                                                        "attributes"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Preference not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "id": {
                                        "type": "integer",
                                        "description": "Preference ID. Use POST /api/v3/preferences/list to get available preferences.",
                                        "example": 1
                                    },
                                    "context": {
                                        "type": "string",
                                        "description": "Context filter: \"general\" (global), \"type\" (per asset-type), or \"node\" (per node).",
                                        "enum": [
                                            "general",
                                            "type",
                                            "node"
                                        ],
                                        "example": "type"
                                    },
                                    "context_id": {
                                        "type": "integer",
                                        "description": "Context-dependent ID. If context=\"type\": provide type_id (use POST /api/v3/types/list with class_id to get type IDs). If context=\"node\": provide project node_id (use POST /api/v3/projects/list with class_id to get project node IDs). Not required if context=\"general\".",
                                        "example": 5
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "id",
                                    "context"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/preferences/update/": {
            "post": {
                "tags": [
                    "preferences"
                ],
                "summary": "Update preference attributes",
                "description": "## Purpose\n\nUpdates the list of attributes assigned to a preference for a given context (general, type, or node).\n\n## Behavior\n\nThis is a **complete replacement** operation: the provided `attribute_ids` array replaces all existing attributes for the specified preference and context. To remove all attributes, pass an empty array.\n\n## Context Usage\n\n- `general`: Updates global preference (no context_id needed, type_id=0, node_id=0)\n- `type`: Updates preference for a specific asset type (provide context_id = type_id)\n- `node`: Updates preference for a specific tree node (provide context_id = node_id)\n\n## Important\n\n- The preference must support the requested context (check its `application` code via preferences/get or preferences/list)\n- Attribute IDs must be valid role IDs from the library. Use POST /api/v3/attributes/list to get available attributes.\n- Order of attributes is preserved as provided in the array.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Preference update response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Preference updated successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Preference ID"
                                                        },
                                                        "context": {
                                                            "type": "string",
                                                            "example": "general",
                                                            "description": "Context that was updated"
                                                        },
                                                        "context_id": {
                                                            "type": "integer",
                                                            "example": 0,
                                                            "description": "Context ID (0 for general)"
                                                        },
                                                        "attributes_count": {
                                                            "type": "integer",
                                                            "example": 3,
                                                            "description": "Number of attributes assigned"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "context",
                                                        "context_id",
                                                        "attributes_count"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 3 = not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Preference not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "id": {
                                        "type": "integer",
                                        "description": "Preference ID to update. Use POST /api/v3/preferences/list to get available preferences.",
                                        "example": 1
                                    },
                                    "context": {
                                        "type": "string",
                                        "description": "Context level: \"general\" (library-wide), \"type\" (per asset-type), or \"node\" (per tree node).",
                                        "enum": [
                                            "general",
                                            "type",
                                            "node"
                                        ],
                                        "example": "general"
                                    },
                                    "context_id": {
                                        "type": "integer",
                                        "description": "Context-dependent ID. Required when context=\"type\" (provide type_id, use POST /api/v3/types/list) or context=\"node\" (provide node_id, use POST /api/v3/projects/list). Defaults to 0 when omitted (general context).",
                                        "example": 5
                                    },
                                    "attribute_ids": {
                                        "type": "array",
                                        "description": "Array of attribute/role IDs to assign to this preference. Replaces all existing attributes. Pass empty array [] to clear. Use POST /api/v3/attributes/list to get available attribute IDs.",
                                        "example": [
                                            101,
                                            102,
                                            103
                                        ],
                                        "items": {
                                            "type": "integer"
                                        }
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "id",
                                    "context",
                                    "attribute_ids"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/processes/execute/": {
            "post": {
                "tags": [
                    "processes"
                ],
                "summary": "Execute automated process",
                "description": "## Purpose\n\nLaunches an automation and returns identification key for progress tracking.\n\n## Use Cases\n\n- Execute exports, imports, workflows\n- Trigger scheduled tasks\n- Run bulk operations\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Process execution response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "identification_key": {
                                                            "type": "string",
                                                            "example": "89141ccc93665f1463c845ccc7d57559",
                                                            "description": "Unique identification key for tracking the process execution"
                                                        }
                                                    },
                                                    "required": [
                                                        "identification_key"
                                                    ],
                                                    "description": "Process execution details"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = process not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Process not found or execution failed",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Process ID. Use POST /api/v3/processes/list with class_id to get available processes.",
                                        "example": 125
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 54
                                    },
                                    "current_node": {
                                        "type": "integer",
                                        "description": "Specify the current node to be used by actions that are configured with a \"current node\" option. Use POST /api/v3/get-asset/by-search/node to find project nodes, or POST /api/v3/publishing/list to find publication project nodes. Affected actions include: \"Change the status\", \"Export\", \"Exporting deleted records\", \"Import\", \"Multiple actions and rules\", and \"Publish to EasyCatalog\".",
                                        "example": 11450
                                    },
                                    "variables": {
                                        "type": "object",
                                        "description": "Process variables as key-value pairs. Variable names are defined in the process configuration. Use POST /api/v3/processes/get with process id to see available variables.",
                                        "example": {
                                            "OUTPUT_FORMAT": "csv",
                                            "EXPORT_PATH": "/exports/daily"
                                        }
                                    }
                                },
                                "required": [
                                    "id",
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/processes/get/": {
            "post": {
                "tags": [
                    "processes"
                ],
                "summary": "Get process configuration",
                "description": "## Purpose\n\nReturns complete process definition including actions, parameters, triggers, availability settings, and which processes call this one.\n\n## When to Use\n\n- Use after POST /api/v3/processes/list to get full details of a specific process before executing it\n- Check `variables` to know which runtime parameters the process accepts (pass them to `execute`)\n- Check `actions` to understand what the process will do (export, import, status change, etc.)\n- Check `applicable_to_*` fields to verify if the process can be applied to specific users/types/statuses\n- Check `trigger_type` to know if the process is manual or workflow-triggered\n- Check `used_by` to find which other processes call this one (reverse dependency)\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Process information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 686,
                                                            "description": "Process ID"
                                                        },
                                                        "code": {
                                                            "type": "string",
                                                            "example": "export_products_xml",
                                                            "description": "Process code"
                                                        },
                                                        "tags": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": [
                                                                "export",
                                                                "products"
                                                            ],
                                                            "description": "Array of tags (can be empty)"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Class ID"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "My process",
                                                            "description": "Process label"
                                                        },
                                                        "active": {
                                                            "type": "boolean",
                                                            "nullable": true,
                                                            "example": true,
                                                            "description": "Whether the process is active"
                                                        },
                                                        "description": {
                                                            "type": "string",
                                                            "example": "Description of the process",
                                                            "description": "Process description"
                                                        },
                                                        "user_description": {
                                                            "type": "string",
                                                            "example": "User description of the process",
                                                            "description": "Process user description"
                                                        },
                                                        "order": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 1,
                                                            "description": "Display order"
                                                        },
                                                        "parent_group_id": {
                                                            "type": "integer",
                                                            "example": 26,
                                                            "description": "Process parent group ID"
                                                        },
                                                        "parent_group_label": {
                                                            "type": "string",
                                                            "example": "Label of parent group 26",
                                                            "description": "Process parent group label"
                                                        },
                                                        "applicable_to_users": {
                                                            "oneOf": [
                                                                {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    },
                                                                    "example": [
                                                                        "all"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "string"
                                                                    },
                                                                    "example": {
                                                                        "1555": "Admin test",
                                                                        "1645": "Product Manager"
                                                                    }
                                                                }
                                                            ],
                                                            "nullable": true,
                                                            "description": "Permissions to apply the process to users. Can be 'all', 'admin', or a map of user IDs to labels"
                                                        },
                                                        "applicable_to_asset_types": {
                                                            "oneOf": [
                                                                {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    },
                                                                    "example": [
                                                                        "all"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "string"
                                                                    },
                                                                    "example": {
                                                                        "195": "Article"
                                                                    }
                                                                }
                                                            ],
                                                            "nullable": true,
                                                            "description": "Permissions to apply the process to asset types. Can be 'all' or a map of type IDs to labels"
                                                        },
                                                        "applicable_to_asset_status": {
                                                            "oneOf": [
                                                                {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    },
                                                                    "example": [
                                                                        "all"
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "object",
                                                                    "additionalProperties": {
                                                                        "type": "string"
                                                                    },
                                                                    "example": {
                                                                        "1111": "Proposed"
                                                                    }
                                                                }
                                                            ],
                                                            "nullable": true,
                                                            "description": "Permissions to apply the process to asset status. Can be 'all' or a map of status IDs to labels"
                                                        },
                                                        "variables": {
                                                            "type": "object",
                                                            "nullable": true,
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "example": {
                                                                "MY_VARIABLE": "test"
                                                            },
                                                            "description": "Process variables"
                                                        },
                                                        "trigger_type": {
                                                            "type": "string",
                                                            "enum": [
                                                                "manual",
                                                                "workflow"
                                                            ],
                                                            "example": "manual",
                                                            "description": "How the process can be triggered: \"manual\" (by user action) or \"workflow\" (automatically on workflow step change)"
                                                        },
                                                        "availability": {
                                                            "type": "object",
                                                            "properties": {
                                                                "in_actions_panel": {
                                                                    "type": "boolean",
                                                                    "example": true,
                                                                    "description": "Available in the global \"Actions\" interface listing all manual processes"
                                                                },
                                                                "on_asset": {
                                                                    "type": "boolean",
                                                                    "example": false,
                                                                    "description": "Available from an asset detail view (executable directly on a fiche)"
                                                                }
                                                            },
                                                            "description": "Where the process is available in the UI (only relevant for manual processes)"
                                                        },
                                                        "is_scheduled": {
                                                            "type": "boolean",
                                                            "example": false,
                                                            "description": "Whether this process is scheduled (added to a scheduler for automated execution at specific times)"
                                                        },
                                                        "image": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "/design/default/processus/processus.png",
                                                            "description": "Image path"
                                                        },
                                                        "image_http": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "https://my-afineo.com/design/default/processus/processus.png",
                                                            "description": "Image URL"
                                                        },
                                                        "actions": {
                                                            "type": "array",
                                                            "nullable": true,
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 54,
                                                                        "description": "Process action ID"
                                                                    },
                                                                    "process_linked_id": {
                                                                        "type": "integer",
                                                                        "example": 687,
                                                                        "description": "Process linked ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Export",
                                                                        "description": "Action label"
                                                                    },
                                                                    "label_custom": {
                                                                        "type": "string",
                                                                        "example": "Export custom",
                                                                        "description": "Action label custom"
                                                                    },
                                                                    "form": {
                                                                        "type": "string",
                                                                        "example": "export_configuration",
                                                                        "description": "Action form"
                                                                    },
                                                                    "type": {
                                                                        "type": "string",
                                                                        "example": "action",
                                                                        "description": "Action type functional : action or process"
                                                                    },
                                                                    "type_action": {
                                                                        "type": "string",
                                                                        "example": "action",
                                                                        "description": "Action type technical : Export a configuration, Import, etc."
                                                                    },
                                                                    "order": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Display order"
                                                                    },
                                                                    "parameters": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "object"
                                                                                }
                                                                            },
                                                                            {
                                                                                "type": "object"
                                                                            }
                                                                        ],
                                                                        "example": {
                                                                            "assetcl": "4",
                                                                            "label_action": "",
                                                                            "description_action": "",
                                                                            "loadMap": "1173",
                                                                            "mapping_id": "1173",
                                                                            "id_action": "21_2578"
                                                                        },
                                                                        "description": "Action parameters"
                                                                    },
                                                                    "mapping_id": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "string",
                                                                                "example": "1234"
                                                                            },
                                                                            {
                                                                                "type": "integer",
                                                                                "example": 1234
                                                                            }
                                                                        ],
                                                                        "description": "Mapping ID : empty string if no value"
                                                                    },
                                                                    "image": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "/UPLOADS/processus/actions/image.png",
                                                                        "description": "Image path"
                                                                    },
                                                                    "image_http": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "https://my-afineo.com/gallery/global/UPLOADS/processus/actions/image.png",
                                                                        "description": "Image URL"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "process_linked_id",
                                                                    "label",
                                                                    "label_custom",
                                                                    "form",
                                                                    "type",
                                                                    "type_action",
                                                                    "order",
                                                                    "parameters",
                                                                    "mapping_id"
                                                                ]
                                                            },
                                                            "description": "List of actions for the process"
                                                        },
                                                        "schedulers": {
                                                            "type": "object",
                                                            "nullable": true,
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "example": {
                                                                "15": "Scheduler label"
                                                            },
                                                            "description": "Map of scheduler IDs to labels"
                                                        },
                                                        "used_by": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "process_id": {
                                                                        "type": "integer",
                                                                        "example": 45,
                                                                        "description": "ID of the calling process"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Import Global",
                                                                        "description": "Label of the calling process"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Class ID of the calling process"
                                                                    },
                                                                    "call_type": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "sub_process",
                                                                            "others_processus_action"
                                                                        ],
                                                                        "example": "sub_process",
                                                                        "description": "How this process is called: \"sub_process\" (direct sub-process via regle_lie) or \"others_processus_action\" (cross-library call)"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "process_id",
                                                                    "label",
                                                                    "class_id",
                                                                    "call_type"
                                                                ]
                                                            },
                                                            "description": "List of processes that call this process (reverse lookup). Empty array if no callers found."
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "code",
                                                        "tags",
                                                        "class_id",
                                                        "label",
                                                        "description",
                                                        "user_description",
                                                        "parent_group_id",
                                                        "parent_group_label"
                                                    ],
                                                    "description": "Process information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = process not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Process not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Process ID. Use POST /api/v3/processes/list with class_id to get available processes.",
                                        "example": 125
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/processes/get-logs/": {
            "post": {
                "tags": [
                    "processes"
                ],
                "summary": "Get process execution logs",
                "description": "## Purpose\n\nReturns execution history with status details for troubleshooting and auditing.\n\n## Date Filtering\n\nUse either `one_day` OR `start_date` + `end_date` together.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Process logs response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "raw_data": {
                                                            "type": "boolean",
                                                            "example": false,
                                                            "description": "Raw data flag"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "process_id": {
                                                                        "type": "integer",
                                                                        "example": 686,
                                                                        "description": "Process ID"
                                                                    },
                                                                    "process_label": {
                                                                        "type": "string",
                                                                        "example": "My process",
                                                                        "description": "Process label"
                                                                    },
                                                                    "user_id": {
                                                                        "type": "integer",
                                                                        "example": 1687,
                                                                        "description": "User ID execution process"
                                                                    },
                                                                    "process_start_date": {
                                                                        "type": "string",
                                                                        "example": "2025-08-29T09:55:52+02:00",
                                                                        "description": "Process start date (ISO 8601 format)"
                                                                    },
                                                                    "process_end_date": {
                                                                        "type": "string",
                                                                        "example": "2025-08-29T09:55:55+02:00",
                                                                        "description": "Process end date (ISO 8601 format)"
                                                                    },
                                                                    "state": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "Completed",
                                                                        "description": "Process state"
                                                                    },
                                                                    "actions": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "action_id": {
                                                                                    "type": "string",
                                                                                    "example": "---",
                                                                                    "description": "Action ID"
                                                                                },
                                                                                "action_label": {
                                                                                    "type": "string",
                                                                                    "example": "Export a configuration",
                                                                                    "description": "Action label"
                                                                                },
                                                                                "action_start_date": {
                                                                                    "type": "string",
                                                                                    "example": "2025-08-29T09:55:52+02:00",
                                                                                    "description": "Action start date (ISO 8601 format)"
                                                                                },
                                                                                "action_end_date": {
                                                                                    "type": "string",
                                                                                    "example": "2025-08-29T09:55:55+02:00",
                                                                                    "description": "Action end date (ISO 8601 format)"
                                                                                },
                                                                                "action_details": {
                                                                                    "type": "string",
                                                                                    "example": "Executing rule: XML export",
                                                                                    "description": "Action details"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "action_id",
                                                                                "action_label",
                                                                                "action_start_date",
                                                                                "action_end_date",
                                                                                "action_details"
                                                                            ],
                                                                            "description": "Action information"
                                                                        }
                                                                    }
                                                                },
                                                                "required": [
                                                                    "process_id",
                                                                    "process_label",
                                                                    "user_id",
                                                                    "process_start_date",
                                                                    "process_end_date",
                                                                    "state",
                                                                    "actions"
                                                                ],
                                                                "description": "Process logs item"
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "raw_data",
                                                        "items"
                                                    ],
                                                    "description": "Process logs data"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 2 = parameters configuration error, 0 = process not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "The parameter \"start_date\" must be anterior to the parameter \"end_date\"",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Process ID. Use POST /api/v3/processes/list with class_id to get available processes.",
                                        "example": 125
                                    },
                                    "start_date": {
                                        "type": "string",
                                        "description": "Start date (ISO 8601 format). The \"start_date\" and \"end_date\" parameters are to be used together.",
                                        "example": "2025-10-25T08:10:00Z"
                                    },
                                    "end_date": {
                                        "type": "string",
                                        "description": "End date (ISO 8601 format). The \"start_date\" and \"end_date\" parameters are to be used together.",
                                        "example": "2025-10-26T10:52:00Z"
                                    },
                                    "one_day": {
                                        "type": "string",
                                        "description": "Date of a given day (Format YYYY-MM-DD). You must either use the \"one_day\" parameter or use the \"start_date\" and \"end_date\" parameters.",
                                        "example": "2025-07-10"
                                    },
                                    "response_type": {
                                        "type": "string",
                                        "description": "Response format : \"html\", \"plainText\", \"xml\", \"json\"",
                                        "enum": [
                                            "html",
                                            "plainText",
                                            "xml",
                                            "json"
                                        ],
                                        "example": "json"
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/processes/get-instance-state/": {
            "post": {
                "tags": [
                    "processes"
                ],
                "summary": "Check process execution status",
                "description": "## Purpose\n\nReturns real-time execution state and available files using identification_key from execute endpoint.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Process instance state response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "No files to return",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "start_date": {
                                                            "type": "string",
                                                            "example": "2025-08-29T09:55:52+02:00",
                                                            "description": "Process execution start date (ISO 8601 format)"
                                                        },
                                                        "end_date": {
                                                            "type": "string",
                                                            "example": "2025-08-29T09:55:55+02:00",
                                                            "description": "Process execution end date (ISO 8601 format)"
                                                        },
                                                        "state": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "Finished",
                                                            "description": "Process execution state"
                                                        },
                                                        "notification": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "",
                                                            "description": "Notification message if error"
                                                        },
                                                        "completed": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "Whether the process execution is completed"
                                                        },
                                                        "available_files": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": [
                                                                "myfile.csv"
                                                            ],
                                                            "description": "List of available files"
                                                        },
                                                        "unavailable_files": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": [
                                                                "myfile2.csv"
                                                            ],
                                                            "description": "List of unavailable files"
                                                        }
                                                    },
                                                    "required": [
                                                        "start_date",
                                                        "end_date",
                                                        "completed",
                                                        "available_files",
                                                        "unavailable_files"
                                                    ],
                                                    "description": "Process instance state information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = process not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "identification_key": {
                                        "type": "string",
                                        "description": "Identification key (returned by endpoint \"execute\")",
                                        "example": "89141ccc93665f1463c845ccc7d57559"
                                    }
                                },
                                "required": [
                                    "identification_key"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/processes/get-file/": {
            "post": {
                "tags": [
                    "processes"
                ],
                "summary": "Download process-generated file",
                "description": "## Purpose\n\nDownloads file generated by a completed process using identification_key and file_key.\n\n## Workflow\n\n1. Call `execute` to get identification_key\n2. Call `get-instance-state` to get available_files list\n3. Call this endpoint to download each file\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Process file content response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "raw_data": {
                                                            "type": "boolean",
                                                            "example": false,
                                                            "description": "Raw data flag"
                                                        },
                                                        "items": {
                                                            "type": "string",
                                                            "example": "...",
                                                            "description": "File content"
                                                        }
                                                    },
                                                    "required": [
                                                        "raw_data",
                                                        "items"
                                                    ],
                                                    "description": "Generated file content"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = file not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "No files to return",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "identification_key": {
                                        "type": "string",
                                        "description": "Identification key (returned by endpoint \"execute\")",
                                        "example": "89141ccc93665f1463c845ccc7d57559"
                                    },
                                    "file_key": {
                                        "type": "string",
                                        "description": "File key returned in the 'available_files' array of POST /api/v3/processes/get-instance-state response. Each file generated by the process has a unique key.",
                                        "example": "Global_SOLO_EXPORT"
                                    }
                                },
                                "required": [
                                    "identification_key",
                                    "file_key"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/processes/full/": {
            "post": {
                "tags": [
                    "processes"
                ],
                "summary": "List processes (full details)",
                "description": "## Purpose\n\nReturns all processes for a class with complete configuration (actions, permissions, triggers, schedulers, callers).\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Process list information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Total number of processes found"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 686,
                                                                        "description": "Process ID"
                                                                    },
                                                                    "code": {
                                                                        "type": "string",
                                                                        "example": "my_process_code",
                                                                        "description": "Process code"
                                                                    },
                                                                    "tags": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [
                                                                            "tag1",
                                                                            "tag2"
                                                                        ],
                                                                        "description": "Array of tags (can be empty)"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Class ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "My process",
                                                                        "description": "Process label"
                                                                    },
                                                                    "active": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether the process is active"
                                                                    },
                                                                    "description": {
                                                                        "type": "string",
                                                                        "example": "Description of the process",
                                                                        "description": "Process description"
                                                                    },
                                                                    "user_description": {
                                                                        "type": "string",
                                                                        "example": "User description of the process",
                                                                        "description": "Process user description"
                                                                    },
                                                                    "order": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Display order"
                                                                    },
                                                                    "parent_group_id": {
                                                                        "type": "integer",
                                                                        "example": 26,
                                                                        "description": "Process parent group ID"
                                                                    },
                                                                    "parent_group_label": {
                                                                        "type": "string",
                                                                        "example": "Label of parent group 26",
                                                                        "description": "Process parent group label"
                                                                    },
                                                                    "applicable_to_users": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "example": [
                                                                                    "all"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "type": "object",
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "example": {
                                                                                    "1555": "Admin test",
                                                                                    "1645": "Product Manager"
                                                                                }
                                                                            }
                                                                        ],
                                                                        "description": "Permissions to apply the process to users. Can be 'all', 'admin', or a map of user IDs to labels"
                                                                    },
                                                                    "applicable_to_asset_types": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "example": [
                                                                                    "all"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "type": "object",
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "example": {
                                                                                    "195": "Article"
                                                                                }
                                                                            }
                                                                        ],
                                                                        "description": "Permissions to apply the process to asset types. Can be 'all' or a map of type IDs to labels"
                                                                    },
                                                                    "applicable_to_asset_status": {
                                                                        "oneOf": [
                                                                            {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "example": [
                                                                                    "all"
                                                                                ]
                                                                            },
                                                                            {
                                                                                "type": "object",
                                                                                "additionalProperties": {
                                                                                    "type": "string"
                                                                                },
                                                                                "example": {
                                                                                    "1111": "Proposed"
                                                                                }
                                                                            }
                                                                        ],
                                                                        "description": "Permissions to apply the process to asset status. Can be 'all' or a map of status IDs to labels"
                                                                    },
                                                                    "variables": {
                                                                        "type": "object",
                                                                        "additionalProperties": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": {
                                                                            "MY_VARIABLE": "test"
                                                                        },
                                                                        "description": "Process variables"
                                                                    },
                                                                    "trigger_type": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "manual",
                                                                            "workflow"
                                                                        ],
                                                                        "example": "manual",
                                                                        "description": "How the process can be triggered: \"manual\" (by user action) or \"workflow\" (automatically on workflow step change)"
                                                                    },
                                                                    "availability": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "in_actions_panel": {
                                                                                "type": "boolean",
                                                                                "example": true,
                                                                                "description": "Available in the global \"Actions\" interface listing all manual processes"
                                                                            },
                                                                            "on_asset": {
                                                                                "type": "boolean",
                                                                                "example": false,
                                                                                "description": "Available from an asset detail view (executable directly on a fiche)"
                                                                            }
                                                                        },
                                                                        "description": "Where the process is available in the UI (only relevant for manual processes)"
                                                                    },
                                                                    "is_scheduled": {
                                                                        "type": "boolean",
                                                                        "example": false,
                                                                        "description": "Whether this process is scheduled (added to a scheduler for automated execution at specific times)"
                                                                    },
                                                                    "image": {
                                                                        "type": "string",
                                                                        "example": "/design/default/processus/processus.png",
                                                                        "description": "Image path"
                                                                    },
                                                                    "image_http": {
                                                                        "type": "string",
                                                                        "example": "https://my-afineo.com/design/default/processus/processus.png",
                                                                        "description": "Image URL"
                                                                    },
                                                                    "actions": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "id": {
                                                                                    "type": "integer",
                                                                                    "example": 54,
                                                                                    "description": "Process action ID"
                                                                                },
                                                                                "process_linked_id": {
                                                                                    "type": "integer",
                                                                                    "example": 687,
                                                                                    "description": "Process linked ID"
                                                                                },
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "example": "Export",
                                                                                    "description": "Action label"
                                                                                },
                                                                                "label_custom": {
                                                                                    "type": "string",
                                                                                    "example": "Export custom",
                                                                                    "description": "Action label custom"
                                                                                },
                                                                                "form": {
                                                                                    "type": "string",
                                                                                    "example": "export_configuration",
                                                                                    "description": "Action form"
                                                                                },
                                                                                "type": {
                                                                                    "type": "string",
                                                                                    "example": "action",
                                                                                    "description": "Action type functional : action or process"
                                                                                },
                                                                                "type_action": {
                                                                                    "type": "string",
                                                                                    "example": "action",
                                                                                    "description": "Action type technical : Export a configuration, Import, etc."
                                                                                },
                                                                                "order": {
                                                                                    "type": "integer",
                                                                                    "example": 1,
                                                                                    "description": "Display order"
                                                                                },
                                                                                "parameters": {
                                                                                    "oneOf": [
                                                                                        {
                                                                                            "type": "array",
                                                                                            "items": {
                                                                                                "type": "object"
                                                                                            }
                                                                                        },
                                                                                        {
                                                                                            "type": "object"
                                                                                        }
                                                                                    ],
                                                                                    "example": {
                                                                                        "assetcl": "4",
                                                                                        "label_action": "",
                                                                                        "description_action": "",
                                                                                        "loadMap": "1173",
                                                                                        "mapping_id": "1173",
                                                                                        "id_action": "21_2578"
                                                                                    },
                                                                                    "description": "Action parameters"
                                                                                },
                                                                                "mapping_id": {
                                                                                    "oneOf": [
                                                                                        {
                                                                                            "type": "string",
                                                                                            "example": "1234"
                                                                                        },
                                                                                        {
                                                                                            "type": "integer",
                                                                                            "example": 1234
                                                                                        }
                                                                                    ],
                                                                                    "description": "Mapping ID : empty string if no value"
                                                                                },
                                                                                "image": {
                                                                                    "type": "string",
                                                                                    "nullable": true,
                                                                                    "example": "/UPLOADS/processus/actions/image.png",
                                                                                    "description": "Image path"
                                                                                },
                                                                                "image_http": {
                                                                                    "type": "string",
                                                                                    "nullable": true,
                                                                                    "example": "https://my-afineo.com/gallery/global/UPLOADS/processus/actions/image.png",
                                                                                    "description": "Image URL"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "id",
                                                                                "process_linked_id",
                                                                                "label",
                                                                                "label_custom",
                                                                                "form",
                                                                                "type",
                                                                                "type_action",
                                                                                "order",
                                                                                "parameters",
                                                                                "mapping_id"
                                                                            ]
                                                                        },
                                                                        "description": "List of actions for the process"
                                                                    },
                                                                    "schedulers": {
                                                                        "type": "object",
                                                                        "additionalProperties": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": {
                                                                            "15": "Scheduler label"
                                                                        },
                                                                        "description": "Map of scheduler IDs to labels"
                                                                    },
                                                                    "used_by": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "process_id": {
                                                                                    "type": "integer",
                                                                                    "example": 45,
                                                                                    "description": "ID of the calling process"
                                                                                },
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "example": "Import Global",
                                                                                    "description": "Label of the calling process"
                                                                                },
                                                                                "class_id": {
                                                                                    "type": "integer",
                                                                                    "example": 4,
                                                                                    "description": "Class ID of the calling process"
                                                                                },
                                                                                "call_type": {
                                                                                    "type": "string",
                                                                                    "enum": [
                                                                                        "sub_process",
                                                                                        "others_processus_action"
                                                                                    ],
                                                                                    "example": "sub_process",
                                                                                    "description": "How this process is called: \"sub_process\" (direct sub-process via regle_lie) or \"others_processus_action\" (cross-library call)"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "process_id",
                                                                                "label",
                                                                                "class_id",
                                                                                "call_type"
                                                                            ]
                                                                        },
                                                                        "description": "List of processes that call this process (reverse lookup). Empty array if no callers found."
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "code",
                                                                    "tags",
                                                                    "class_id",
                                                                    "label",
                                                                    "active",
                                                                    "description",
                                                                    "user_description",
                                                                    "order",
                                                                    "parent_group_id",
                                                                    "parent_group_label",
                                                                    "applicable_to_users",
                                                                    "applicable_to_asset_types",
                                                                    "applicable_to_asset_status",
                                                                    "variables",
                                                                    "trigger_type",
                                                                    "availability",
                                                                    "is_scheduled",
                                                                    "image",
                                                                    "image_http",
                                                                    "actions",
                                                                    "schedulers",
                                                                    "used_by"
                                                                ]
                                                            },
                                                            "description": "Array of processes"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ],
                                                    "description": "Process list with total count"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = class not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Class not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/processes/list/": {
            "post": {
                "tags": [
                    "processes"
                ],
                "summary": "List processes (simplified)",
                "description": "## Purpose\n\nReturns simplified process list for a library (id, code, label, tags, trigger type, availability, scheduling status).\n\n## What is a Process?\n\nA process is an automated workflow that executes one or more actions sequentially (exports, imports, status changes, bulk operations, etc.). Processes are configured per library and can be triggered manually by a user or automatically via workflow step changes.\n\n## When to Use\n\n- Use `list` to discover available processes and their IDs for a library\n- Use POST /api/v3/processes/get with a process ID to get complete configuration (actions, variables, permissions)\n- Use POST /api/v3/processes/execute with a process ID and class_id to run a process\n\n## Key Fields\n\n- `trigger_type`: \"manual\" (user-triggered from UI) or \"workflow\" (auto-triggered on workflow step change)\n- `is_scheduled`: true if the process is attached to a scheduler for timed execution\n- `availability`: where the process appears in the UI (actions panel and/or asset detail view)\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Process list information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Total number of processes found"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 686,
                                                                        "description": "Process ID"
                                                                    },
                                                                    "code": {
                                                                        "type": "string",
                                                                        "example": "my_process_code",
                                                                        "description": "Process code"
                                                                    },
                                                                    "tags": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [
                                                                            "tag1",
                                                                            "tag2"
                                                                        ],
                                                                        "description": "Array of tags (can be empty)"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Class ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "My process",
                                                                        "description": "Process label"
                                                                    },
                                                                    "active": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": true,
                                                                        "description": "Whether the process is active"
                                                                    },
                                                                    "description": {
                                                                        "type": "string",
                                                                        "example": "Description of the process",
                                                                        "description": "Process description"
                                                                    },
                                                                    "user_description": {
                                                                        "type": "string",
                                                                        "example": "User description of the process",
                                                                        "description": "Process user description"
                                                                    },
                                                                    "parent_group_id": {
                                                                        "type": "integer",
                                                                        "example": 26,
                                                                        "description": "Process parent group ID"
                                                                    },
                                                                    "parent_group_label": {
                                                                        "type": "string",
                                                                        "example": "Label of parent group 26",
                                                                        "description": "Process parent group label"
                                                                    },
                                                                    "trigger_type": {
                                                                        "type": "string",
                                                                        "enum": [
                                                                            "manual",
                                                                            "workflow"
                                                                        ],
                                                                        "example": "workflow",
                                                                        "description": "How the process can be triggered: \"manual\" (by user action) or \"workflow\" (automatically on workflow step change)"
                                                                    },
                                                                    "availability": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "in_actions_panel": {
                                                                                "type": "boolean",
                                                                                "example": false,
                                                                                "description": "Available in the global \"Actions\" interface listing all manual processes"
                                                                            },
                                                                            "on_asset": {
                                                                                "type": "boolean",
                                                                                "example": false,
                                                                                "description": "Available from an asset detail view (executable directly on a fiche)"
                                                                            }
                                                                        },
                                                                        "description": "Where the process is available in the UI (only relevant for manual processes)"
                                                                    },
                                                                    "is_scheduled": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether this process is scheduled (added to a scheduler for automated execution at specific times)"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "code",
                                                                    "tags",
                                                                    "class_id",
                                                                    "label",
                                                                    "description",
                                                                    "user_description",
                                                                    "parent_group_id",
                                                                    "parent_group_label",
                                                                    "trigger_type",
                                                                    "availability",
                                                                    "is_scheduled"
                                                                ]
                                                            },
                                                            "description": "Array of processes"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ],
                                                    "description": "Process list with total count"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = class not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Class not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/processes/schedulers/": {
            "post": {
                "tags": [
                    "processes"
                ],
                "summary": "List scheduled processes",
                "description": "## Purpose\n\nReturns schedulers with next execution dates and recurrence configuration for a library.\n\n## What is a Scheduler?\n\nA scheduler is a timed automation that executes one or more processes at configured intervals. Schedulers can run at fixed times (e.g., daily at 10:00) or at intervals within a time range (e.g., every hour from 06:00 to 20:00). They can also monitor watch folders for file changes.\n\n## When to Use\n\n- Use to discover scheduled automations for a library\n- Use to check next execution dates, recurrence patterns, and active/disabled status\n- Each scheduler contains a `processes` array listing which processes it will execute\n- Use POST /api/v3/processes/execute with a process ID from the scheduler to manually trigger it\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Scheduler list information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Total number of schedulers found"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 15,
                                                                        "description": "Scheduler ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "My Scheduler",
                                                                        "description": "Scheduler label"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Class ID"
                                                                    },
                                                                    "active": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether the scheduler is active"
                                                                    },
                                                                    "description": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "Description of the scheduler",
                                                                        "description": "Scheduler description"
                                                                    },
                                                                    "next_date": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "2025-11-06T13:00:00+01:00",
                                                                        "description": "Next execution date (ISO 8601 format)"
                                                                    },
                                                                    "parameters": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "schedule": {
                                                                                "type": "object",
                                                                                "properties": {
                                                                                    "type": {
                                                                                        "type": "string",
                                                                                        "enum": [
                                                                                            "specific_date",
                                                                                            "recurrence"
                                                                                        ],
                                                                                        "example": "recurrence",
                                                                                        "description": "Schedule type : specific_date for one-time execution, recurrence for recurring execution"
                                                                                    },
                                                                                    "date": {
                                                                                        "type": "string",
                                                                                        "nullable": true,
                                                                                        "example": "2025-11-01",
                                                                                        "description": "Specific date (only for type=specific_date), format YYYY-MM-DD"
                                                                                    },
                                                                                    "time": {
                                                                                        "type": "string",
                                                                                        "nullable": true,
                                                                                        "example": "10:00",
                                                                                        "description": "Specific time (only for type=specific_date), format HH:MM"
                                                                                    },
                                                                                    "days_summary": {
                                                                                        "type": "string",
                                                                                        "example": "Weekdays (Monday to Friday)",
                                                                                        "description": "Human-readable summary of active days (only for type=recurrence)"
                                                                                    },
                                                                                    "active_days": {
                                                                                        "type": "array",
                                                                                        "items": {
                                                                                            "type": "string",
                                                                                            "enum": [
                                                                                                "Sunday",
                                                                                                "Monday",
                                                                                                "Tuesday",
                                                                                                "Wednesday",
                                                                                                "Thursday",
                                                                                                "Friday",
                                                                                                "Saturday"
                                                                                            ]
                                                                                        },
                                                                                        "example": [
                                                                                            "Monday",
                                                                                            "Tuesday",
                                                                                            "Wednesday",
                                                                                            "Thursday",
                                                                                            "Friday"
                                                                                        ],
                                                                                        "description": "List of active days (only for type=recurrence)"
                                                                                    },
                                                                                    "frequency": {
                                                                                        "type": "object",
                                                                                        "properties": {
                                                                                            "mode": {
                                                                                                "type": "string",
                                                                                                "enum": [
                                                                                                    "fixed_time",
                                                                                                    "interval_between_time_range"
                                                                                                ],
                                                                                                "example": "interval_between_time_range",
                                                                                                "description": "Frequency mode: fixed_time for execution at specific time, interval_between_time_range for recurring execution within a time range"
                                                                                            },
                                                                                            "time": {
                                                                                                "type": "string",
                                                                                                "nullable": true,
                                                                                                "example": "10:00",
                                                                                                "description": "Fixed execution time (only for mode=fixed_time), format HH:MM"
                                                                                            },
                                                                                            "interval": {
                                                                                                "type": "integer",
                                                                                                "nullable": true,
                                                                                                "example": 1,
                                                                                                "description": "Interval value (only for mode=interval_between_time_range)"
                                                                                            },
                                                                                            "unit": {
                                                                                                "type": "string",
                                                                                                "nullable": true,
                                                                                                "enum": [
                                                                                                    "hours",
                                                                                                    "minutes"
                                                                                                ],
                                                                                                "example": "hours",
                                                                                                "description": "Interval unit (only for mode=interval_between_time_range)"
                                                                                            },
                                                                                            "from_time": {
                                                                                                "type": "string",
                                                                                                "nullable": true,
                                                                                                "example": "06:00",
                                                                                                "description": "Start time of the time range (only for mode=interval_between_time_range), format HH:MM"
                                                                                            },
                                                                                            "to_time": {
                                                                                                "type": "string",
                                                                                                "nullable": true,
                                                                                                "example": "20:00",
                                                                                                "description": "End time of the time range (only for mode=interval_between_time_range), format HH:MM"
                                                                                            }
                                                                                        },
                                                                                        "description": "Frequency configuration (only for type=recurrence)"
                                                                                    },
                                                                                    "cron_expression": {
                                                                                        "type": "string",
                                                                                        "example": "0 6-20/1 * * 1,2,3,4,5",
                                                                                        "description": "Standard cron expression (minute hour day month weekday)"
                                                                                    },
                                                                                    "description": {
                                                                                        "type": "string",
                                                                                        "example": "Weekdays (Monday to Friday), every 1 hour between 06:00 and 20:00",
                                                                                        "description": "Human-readable description of the complete schedule"
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "type",
                                                                                    "cron_expression"
                                                                                ],
                                                                                "description": "Schedule configuration"
                                                                            },
                                                                            "run_as_user": {
                                                                                "type": "object",
                                                                                "nullable": true,
                                                                                "properties": {
                                                                                    "id": {
                                                                                        "type": "integer",
                                                                                        "example": 1687,
                                                                                        "description": "User ID that will run the scheduler"
                                                                                    },
                                                                                    "label": {
                                                                                        "type": "string",
                                                                                        "example": "John Doe",
                                                                                        "description": "User label"
                                                                                    }
                                                                                },
                                                                                "description": "User that will execute the scheduler (null if default user)"
                                                                            },
                                                                            "alert_users": {
                                                                                "type": "array",
                                                                                "nullable": true,
                                                                                "items": {
                                                                                    "type": "string"
                                                                                },
                                                                                "example": [
                                                                                    "user@company.com",
                                                                                    "user2@company.com"
                                                                                ],
                                                                                "description": "List of email addresses to alert (null if no alerts configured)"
                                                                            },
                                                                            "watch_folder": {
                                                                                "type": "object",
                                                                                "nullable": true,
                                                                                "properties": {
                                                                                    "path": {
                                                                                        "type": "string",
                                                                                        "example": "/ftp/Datas/afineo/produits/*.csv",
                                                                                        "description": "Path to monitor for file changes"
                                                                                    }
                                                                                },
                                                                                "description": "Folder monitoring configuration (null if not enabled)"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "schedule",
                                                                            "run_as_user",
                                                                            "alert_users",
                                                                            "watch_folder"
                                                                        ],
                                                                        "description": "Scheduler parameters with schedule configuration"
                                                                    },
                                                                    "disabled_by_error": {
                                                                        "type": "boolean",
                                                                        "example": false,
                                                                        "description": "Whether the scheduler is disabled by error"
                                                                    },
                                                                    "processes": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "id": {
                                                                                    "type": "integer",
                                                                                    "example": 686,
                                                                                    "description": "Process ID"
                                                                                },
                                                                                "code": {
                                                                                    "type": "string",
                                                                                    "example": "my_process_code",
                                                                                    "description": "Process code"
                                                                                },
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "example": "My process",
                                                                                    "description": "Process label"
                                                                                },
                                                                                "node_id": {
                                                                                    "type": "integer",
                                                                                    "example": 123,
                                                                                    "description": "Node ID"
                                                                                },
                                                                                "parameters": {
                                                                                    "type": "object",
                                                                                    "example": {
                                                                                        "variable1": "value1"
                                                                                    },
                                                                                    "description": "Process parameters (overload label and description)"
                                                                                },
                                                                                "image": {
                                                                                    "type": "string",
                                                                                    "example": "/design/default/processus/processus.png",
                                                                                    "description": "Image path"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "id",
                                                                                "code",
                                                                                "label",
                                                                                "node_id",
                                                                                "parameters",
                                                                                "image"
                                                                            ]
                                                                        },
                                                                        "description": "List of processes associated with this scheduler"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "label",
                                                                    "class_id",
                                                                    "active",
                                                                    "description",
                                                                    "next_date",
                                                                    "parameters",
                                                                    "disabled_by_error",
                                                                    "processes"
                                                                ]
                                                            },
                                                            "description": "Array of schedulers"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ],
                                                    "description": "Scheduler list with total count"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = class not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Class not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/processes/connections/": {
            "post": {
                "tags": [
                    "processes"
                ],
                "summary": "List external connections",
                "description": "## Purpose\n\nReturns configured external connections (integrations) available for use in process actions.\n\n## What is a Connection?\n\nA connection is a configured link to an external system (FTP server, SFTP, HTTP API, database, ERP, etc.). Connections are created by administrators and referenced by process actions that need to interact with external systems (e.g., export files to FTP, import data from an API, sync with an ERP).\n\n## When to Use\n\n- Use to discover available external connections and their configuration\n- Connection IDs are referenced in process action parameters (visible via POST /api/v3/processes/get)\n- No parameters required - returns all configured connections across all libraries\n\n## Connection Types\n\nCommon types: `ftp`, `sftp`, `http`, `database`, `erp`. The `configuration` object structure varies by type (host, port, credentials, path, etc.).\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Connection list information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Total number of connections found"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Connection ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "My FTP Connection",
                                                                        "description": "Connection label"
                                                                    },
                                                                    "type": {
                                                                        "type": "string",
                                                                        "example": "ftp",
                                                                        "description": "Connection type (ftp, sftp, http, etc.)"
                                                                    },
                                                                    "configuration": {
                                                                        "type": "object",
                                                                        "additionalProperties": true,
                                                                        "example": {
                                                                            "host": "ftp.example.com",
                                                                            "port": "21",
                                                                            "username": "user",
                                                                            "password": "******",
                                                                            "path": "/uploads"
                                                                        },
                                                                        "description": "Connection configuration (structure depends on connection type)"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "label",
                                                                    "type",
                                                                    "configuration"
                                                                ]
                                                            },
                                                            "description": "Array of connections"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ],
                                                    "description": "Connection list with total count"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/projects/full/": {
            "post": {
                "tags": [
                    "projects"
                ],
                "summary": "Get all projects with full details",
                "description": "## Purpose\n\nReturns all workspaces and projects for a class with complete configuration (dates, versions, groups, permissions).\n\n## Project Types\n\n- `directory_project`: Directory-based project\n- `document_holder`: Document holder project\n- `publication`: Publication project\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Projects list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "workspace": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Workspace node ID"
                                                                    },
                                                                    "node_id": {
                                                                        "type": "integer",
                                                                        "example": 1982,
                                                                        "description": "Workspace node ID"
                                                                    },
                                                                    "start_date": {
                                                                        "type": "string",
                                                                        "example": "2016-02-17T00:00:00+01:00",
                                                                        "description": "Start date"
                                                                    },
                                                                    "end_date": {
                                                                        "type": "string",
                                                                        "example": "2016-02-17T00:00:00+01:00",
                                                                        "description": "End date"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Workspace 1",
                                                                        "description": "Workspace label"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Class ID"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "node_id",
                                                                    "start_date",
                                                                    "end_date",
                                                                    "label",
                                                                    "class_id"
                                                                ],
                                                                "description": "Workspace information"
                                                            },
                                                            "projects": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 213855,
                                                                        "description": "Project node ID"
                                                                    },
                                                                    "node_id": {
                                                                        "type": "integer",
                                                                        "example": 213855,
                                                                        "description": "Project node ID"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Associated class ID"
                                                                    },
                                                                    "asset_id": {
                                                                        "type": "integer",
                                                                        "example": 285279,
                                                                        "description": "Associated asset ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "VDM PRINT",
                                                                        "description": "Project label/name"
                                                                    },
                                                                    "active": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Project active status"
                                                                    },
                                                                    "project_type": {
                                                                        "type": "string",
                                                                        "example": "publication",
                                                                        "description": "Project type"
                                                                    },
                                                                    "project_type_description": {
                                                                        "type": "string",
                                                                        "example": "Publication - Brief",
                                                                        "description": "Human-readable project type"
                                                                    },
                                                                    "start_date": {
                                                                        "type": "string",
                                                                        "example": "2019-03-28T00:00:00+01:00",
                                                                        "description": "Project start date (ISO 8601 format)"
                                                                    },
                                                                    "end_date": {
                                                                        "type": "string",
                                                                        "example": "2019-04-28T00:00:00Z",
                                                                        "description": "Project end date (ISO 8601 format)"
                                                                    },
                                                                    "manager_user_id": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Manager user ID"
                                                                    },
                                                                    "manager_user_label": {
                                                                        "type": "string",
                                                                        "example": "user@afineo.com",
                                                                        "description": "Manager user label"
                                                                    },
                                                                    "default_version": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Default version ID"
                                                                    },
                                                                    "all_version": {
                                                                        "type": "array",
                                                                        "nullable": true,
                                                                        "items": {
                                                                            "type": "integer"
                                                                        },
                                                                        "example": [
                                                                            1
                                                                        ],
                                                                        "description": "Available versions for the project"
                                                                    },
                                                                    "display_all_version": {
                                                                        "type": "boolean",
                                                                        "example": false,
                                                                        "description": "Whether to display all versions"
                                                                    },
                                                                    "generate_previews_for_publication": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether to generate publication previews"
                                                                    },
                                                                    "default_display": {
                                                                        "type": "string",
                                                                        "example": "virtual",
                                                                        "description": "Default display mode"
                                                                    },
                                                                    "easycatalog_export_mapping_id": {
                                                                        "type": "integer",
                                                                        "example": 1782,
                                                                        "description": "EasyCatalog export mapping ID"
                                                                    },
                                                                    "new_version_of_project_id": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "example": null,
                                                                        "description": "New version of project ID (null if not applicable)"
                                                                    },
                                                                    "groups": {
                                                                        "type": "object",
                                                                        "nullable": true,
                                                                        "properties": {
                                                                            "id": {
                                                                                "type": "integer",
                                                                                "example": 10,
                                                                                "description": "Group ID"
                                                                            },
                                                                            "workflow_id": {
                                                                                "type": "integer",
                                                                                "example": 0,
                                                                                "description": "Workflow ID"
                                                                            },
                                                                            "status": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "object"
                                                                                },
                                                                                "example": [
                                                                                    {
                                                                                        "id": 1639,
                                                                                        "label": "User label 1"
                                                                                    },
                                                                                    {
                                                                                        "id": 1640,
                                                                                        "label": "User label 2"
                                                                                    }
                                                                                ],
                                                                                "description": "Status array"
                                                                            },
                                                                            "status_config": {
                                                                                "oneOf": [
                                                                                    {
                                                                                        "type": "object",
                                                                                        "additionalProperties": {
                                                                                            "type": "boolean"
                                                                                        }
                                                                                    },
                                                                                    {
                                                                                        "type": "array",
                                                                                        "items": {
                                                                                            "type": "object"
                                                                                        }
                                                                                    }
                                                                                ],
                                                                                "example": {
                                                                                    "option_key": true,
                                                                                    "another_option": false
                                                                                },
                                                                                "description": "Status configuration options (object with boolean properties, or empty array when not configured)"
                                                                            }
                                                                        },
                                                                        "description": "Project groups configuration"
                                                                    },
                                                                    "tab_options": {
                                                                        "type": "object",
                                                                        "nullable": true,
                                                                        "example": {
                                                                            "without_brief": 0
                                                                        },
                                                                        "description": "Tab options configuration"
                                                                    },
                                                                    "lca": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object"
                                                                        },
                                                                        "example": [],
                                                                        "description": "LCA array"
                                                                    },
                                                                    "icon": {
                                                                        "type": "string",
                                                                        "example": "<span style=';padding: 0;padding-bottom: 3px;'><span><i class='fa-solid fa-book img-type' style='font-size: 16px;color:#004196; '></i></span></span>",
                                                                        "description": "Project icon HTML"
                                                                    },
                                                                    "path": {
                                                                        "type": "string",
                                                                        "example": "0/1978/1982/213855",
                                                                        "description": "Project path in hierarchy"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "node_id",
                                                                    "class_id",
                                                                    "asset_id",
                                                                    "label",
                                                                    "active",
                                                                    "project_type",
                                                                    "project_type_description",
                                                                    "start_date",
                                                                    "end_date",
                                                                    "manager_user_id",
                                                                    "manager_user_label",
                                                                    "default_version",
                                                                    "display_all_version",
                                                                    "generate_previews_for_publication",
                                                                    "default_display",
                                                                    "easycatalog_export_mapping_id",
                                                                    "icon",
                                                                    "path"
                                                                ],
                                                                "description": "Project information"
                                                            }
                                                        }
                                                    },
                                                    "description": "List of workspaces and its projects for the specified class"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = class not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Class not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "include_inactive": {
                                        "type": "boolean",
                                        "description": "Include inactive projects. By default, inactive projects are excluded.",
                                        "example": true
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/projects/list/": {
            "post": {
                "tags": [
                    "projects"
                ],
                "summary": "List projects (simplified)",
                "description": "## Purpose\n\nReturns simplified project list grouped by workspace for a library.\n\n## Afineo Project Hierarchy\n\n- **Library** (class): Top-level container for assets\n- **Workspace**: Organizational group within a library (e.g., \"Season 2025\", \"Region Europe\")\n- **Project**: Working space within a workspace where assets are managed with specific configurations (versions, workflows, permissions)\n\n## When to Use\n\n- Use to discover projects and their workspace hierarchy for a library\n- Use POST /api/v3/projects/get with a project node_id to get complete project configuration (versions, groups, permissions)\n- The `node_id` returned is used as `project_node_id` in other endpoints (recordAsset, publishing, workflows, etc.)\n\n## Response Structure\n\nResults are grouped as `[{workspace: {...}, projects: {...}}, ...]`. Each workspace contains its child projects.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Projects list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "workspace": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Workspace node ID"
                                                                    },
                                                                    "node_id": {
                                                                        "type": "integer",
                                                                        "example": 1982,
                                                                        "description": "Workspace node ID"
                                                                    },
                                                                    "start_date": {
                                                                        "type": "string",
                                                                        "example": "2016-02-17T00:00:00+01:00",
                                                                        "description": "Start date"
                                                                    },
                                                                    "end_date": {
                                                                        "type": "string",
                                                                        "example": "2016-02-17T00:00:00+01:00",
                                                                        "description": "End date"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Workspace 1",
                                                                        "description": "Workspace label"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Class ID"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "node_id",
                                                                    "start_date",
                                                                    "end_date",
                                                                    "label",
                                                                    "class_id"
                                                                ],
                                                                "description": "Workspace information"
                                                            },
                                                            "projects": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 213855,
                                                                        "description": "Project node ID"
                                                                    },
                                                                    "node_id": {
                                                                        "type": "integer",
                                                                        "example": 213855,
                                                                        "description": "Project node ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Christmas 2025",
                                                                        "description": "Project label"
                                                                    },
                                                                    "description": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": null,
                                                                        "description": "Project description"
                                                                    },
                                                                    "active": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether the project is active"
                                                                    },
                                                                    "project_type": {
                                                                        "type": "string",
                                                                        "example": "publication",
                                                                        "description": "Project type"
                                                                    },
                                                                    "project_type_description": {
                                                                        "type": "string",
                                                                        "example": "Publication",
                                                                        "description": "Human-readable project type"
                                                                    },
                                                                    "path": {
                                                                        "type": "string",
                                                                        "example": "0/1978/1982/213855",
                                                                        "description": "Project path in hierarchy"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Associated class ID"
                                                                    },
                                                                    "start_date": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "2021-07-15T00:00:00+02:00",
                                                                        "description": "Project start date"
                                                                    },
                                                                    "end_date": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "2021-08-15T00:00:00+02:00",
                                                                        "description": "Project end date"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "node_id",
                                                                    "label",
                                                                    "active",
                                                                    "project_type",
                                                                    "project_type_description",
                                                                    "path",
                                                                    "class_id"
                                                                ],
                                                                "description": "Project information"
                                                            }
                                                        }
                                                    },
                                                    "description": "List of workspaces and its projects for the specified class"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = class not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Class not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "include_inactive": {
                                        "type": "boolean",
                                        "description": "Include inactive projects. By default, inactive projects are excluded. The filter will only be applied if the user is an admin or project manager.",
                                        "example": true
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/projects/create/": {
            "post": {
                "tags": [
                    "projects"
                ],
                "summary": "Create new project",
                "description": "## Purpose\n\nCreates a new project under a parent workspace with specified type and configuration.\n\n## Project Types\n\n- `directory_project`: Directory-based project\n- `document_holder`: Document holder for publications\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Project creation response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message (empty string for success)"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 956408,
                                                            "description": "Node ID of the created project"
                                                        },
                                                        "node_id": {
                                                            "type": "integer",
                                                            "example": 956408,
                                                            "description": "Node ID of the created project"
                                                        },
                                                        "asset_id": {
                                                            "type": "integer",
                                                            "example": 24923,
                                                            "description": "Asset ID of the created project"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "node_id",
                                                        "asset_id"
                                                    ],
                                                    "description": "Created project information - simplified structure"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "enum": [
                                                        2,
                                                        3
                                                    ],
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error/business logic error, 3 = system error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "The parameter \"template_id\" must be a valid integer",
                                                        "There is an issue with the data sent in the parameter \"versions_id\" : one of the items in the array is not a valid integer.",
                                                        "There is an issue with the data sent in the parameter \"start_date\" : the value is invalid, expected ISO 8601 date format (2025-11-06T10:00:00Z or 2025-11-06T10:00:00Z+02:00).",
                                                        "There is an issue with the data sent in the parameter \"end_date\" : the value is invalid, expected ISO 8601 date format (2025-11-06T10:00:00Z or 2025-11-06T10:00:00Z+02:00).",
                                                        "Parent workspace does not exist",
                                                        "Project could not be created"
                                                    ],
                                                    "example": "The parameter \"template_id\" must be a valid integer",
                                                    "description": "Specific error message describing the validation or business logic failure"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "workspace_node_id": {
                                        "type": "integer",
                                        "description": "Workspace node ID (project group). Use POST /api/v3/projects/list with class_id to find workspace nodes (entries with project_type=\"workspace\").",
                                        "example": 6726
                                    },
                                    "label": {
                                        "type": "string",
                                        "description": "Label/name for the new project. Must be unique unless disabled.",
                                        "example": "Christmas 2025"
                                    },
                                    "project_type": {
                                        "type": "string",
                                        "description": "Project type: \"directory_project\" (directory-based) or \"document_holder\" (document holder).",
                                        "enum": [
                                            "directory_project",
                                            "document_holder"
                                        ],
                                        "example": "document_holder"
                                    },
                                    "template_id": {
                                        "type": "integer",
                                        "description": "Project template ID. Optional. Templates are pre-configured by administrators. Omit to create a blank project with default settings.",
                                        "example": 25
                                    },
                                    "default_version_id": {
                                        "type": "integer",
                                        "description": "Default version ID for the project. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    },
                                    "versions_id": {
                                        "type": "array",
                                        "description": "List of version IDs available for the project. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": [
                                            1,
                                            2,
                                            3
                                        ],
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "tree_default_display": {
                                        "type": "string",
                                        "description": "Default tree to display : \"dynamic\" or \"virtual\"",
                                        "enum": [
                                            "dynamic",
                                            "virtual"
                                        ],
                                        "example": "virtual"
                                    },
                                    "start_date": {
                                        "type": "string",
                                        "description": "Project start date in ISO 8601 format (e.g., 2025-01-01T00:00:00Z).",
                                        "example": "2025-01-01T00:00:00Z"
                                    },
                                    "end_date": {
                                        "type": "string",
                                        "description": "Project end date in ISO 8601 format (e.g., 2025-12-31T23:59:59Z).",
                                        "example": "2025-12-31T23:59:59Z"
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "workspace_node_id",
                                    "label",
                                    "project_type"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/projects/get/": {
            "post": {
                "tags": [
                    "projects"
                ],
                "summary": "Get project details",
                "description": "## Purpose\n\nReturns complete project configuration including type, dates, versions, groups, display settings, and permissions.\n\n## When to Use\n\n- Use after POST /api/v3/projects/list to get full details of a specific project\n- Check `project_type` to determine capabilities: \"directory_project\" (standard) or \"document_holder\" (publication)\n- Check `all_version` and `default_version` for version configuration\n- Check `groups` for workflow step configurations and contributor assignments\n- The `node_id` is used as `project_node_id` in other endpoints (recordAsset, publishing, workflows, etc.)\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Project information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message (empty string for success)"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 395204,
                                                            "description": "Project node ID"
                                                        },
                                                        "node_id": {
                                                            "type": "integer",
                                                            "example": 395204,
                                                            "description": "Project node ID"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Associated class ID"
                                                        },
                                                        "asset_id": {
                                                            "type": "integer",
                                                            "example": 285279,
                                                            "description": "Associated asset ID"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "VDM PRINT",
                                                            "description": "Project label/name"
                                                        },
                                                        "active": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "Project active status"
                                                        },
                                                        "project_type": {
                                                            "type": "string",
                                                            "example": "publication",
                                                            "description": "Project type"
                                                        },
                                                        "project_type_description": {
                                                            "type": "string",
                                                            "example": "Publication",
                                                            "description": "Human-readable project type"
                                                        },
                                                        "start_date": {
                                                            "type": "string",
                                                            "example": "2019-03-28T00:00:00+01:00",
                                                            "description": "Project start date (ISO 8601 format)"
                                                        },
                                                        "end_date": {
                                                            "type": "string",
                                                            "example": "2019-04-28T00:00:00Z",
                                                            "description": "Project end date (ISO 8601 format)"
                                                        },
                                                        "manager_user_id": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Manager user ID"
                                                        },
                                                        "manager_user_label": {
                                                            "type": "string",
                                                            "example": "user@afineo.com",
                                                            "description": "Manager user label"
                                                        },
                                                        "default_version": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Default version ID"
                                                        },
                                                        "all_version": {
                                                            "type": "array",
                                                            "nullable": true,
                                                            "items": {
                                                                "type": "integer"
                                                            },
                                                            "example": [
                                                                1
                                                            ],
                                                            "description": "Available versions for the project"
                                                        },
                                                        "display_all_version": {
                                                            "type": "boolean",
                                                            "example": false,
                                                            "description": "Whether to display all versions"
                                                        },
                                                        "generate_previews_for_publication": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "Whether to generate publication previews"
                                                        },
                                                        "default_display": {
                                                            "type": "string",
                                                            "example": "virtual",
                                                            "description": "Default display mode"
                                                        },
                                                        "easycatalog_export_mapping_id": {
                                                            "type": "integer",
                                                            "example": 1782,
                                                            "description": "EasyCatalog export mapping ID"
                                                        },
                                                        "new_version_of_project_id": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": null,
                                                            "description": "New version of project ID (null if not applicable)"
                                                        },
                                                        "groups": {
                                                            "type": "object",
                                                            "nullable": true,
                                                            "properties": {
                                                                "id": {
                                                                    "type": "integer",
                                                                    "example": 10,
                                                                    "description": "Group ID"
                                                                },
                                                                "workflow_id": {
                                                                    "type": "integer",
                                                                    "example": 0,
                                                                    "description": "Workflow ID"
                                                                },
                                                                "status": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "object"
                                                                    },
                                                                    "example": [
                                                                        {
                                                                            "id": 1639,
                                                                            "label": "User label 1"
                                                                        },
                                                                        {
                                                                            "id": 1640,
                                                                            "label": "User label 2"
                                                                        }
                                                                    ],
                                                                    "description": "Status array"
                                                                },
                                                                "status_config": {
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "object",
                                                                            "additionalProperties": {
                                                                                "type": "boolean"
                                                                            }
                                                                        },
                                                                        {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "object"
                                                                            }
                                                                        }
                                                                    ],
                                                                    "example": {
                                                                        "option_key": true,
                                                                        "another_option": false
                                                                    },
                                                                    "description": "Status configuration options (object with boolean properties, or empty array when not configured)"
                                                                }
                                                            },
                                                            "description": "Project groups configuration"
                                                        },
                                                        "tab_options": {
                                                            "type": "object",
                                                            "nullable": true,
                                                            "example": {
                                                                "without_brief": 0
                                                            },
                                                            "description": "Tab options configuration"
                                                        },
                                                        "lca": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object"
                                                            },
                                                            "example": [],
                                                            "description": "LCA array"
                                                        },
                                                        "icon": {
                                                            "type": "string",
                                                            "example": "<span style=';padding: 0;padding-bottom: 3px;'><span><i class='fa-solid fa-book img-type' style='font-size: 16px;color:#004196; '></i></span></span>",
                                                            "description": "Project icon HTML"
                                                        },
                                                        "path": {
                                                            "type": "string",
                                                            "example": "0/1978/1982/213855",
                                                            "description": "Project path in hierarchy"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "node_id",
                                                        "class_id",
                                                        "asset_id",
                                                        "label",
                                                        "active",
                                                        "project_type",
                                                        "project_type_description",
                                                        "start_date",
                                                        "end_date",
                                                        "manager_user_id",
                                                        "manager_user_label",
                                                        "default_version",
                                                        "display_all_version",
                                                        "generate_previews_for_publication",
                                                        "default_display",
                                                        "easycatalog_export_mapping_id",
                                                        "icon",
                                                        "path"
                                                    ],
                                                    "description": "Complete project information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = project not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Project not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Project node ID. Use POST /api/v3/projects/list with class_id to get available projects.",
                                        "example": 54
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/list/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "List publication projects",
                "description": "## Purpose\n\nReturns publication projects grouped by workspace.\n\n## When to Use\n\n- Use this endpoint first to discover available publication projects and their node_id values\n- The returned node_id is used as project_node_id in all other publishing endpoints\n- The returned workspace_id values can be used as workspace_node_id when creating new projects with POST /api/v3/publishing/create\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publications list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Total number of publications"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 213855,
                                                                        "description": "Publication node ID"
                                                                    },
                                                                    "node_id": {
                                                                        "type": "integer",
                                                                        "example": 213855,
                                                                        "description": "Publication node ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Christmas Catalog 2025",
                                                                        "description": "Publication label"
                                                                    },
                                                                    "workspace_id": {
                                                                        "type": "integer",
                                                                        "example": 1982,
                                                                        "description": "Parent workspace node ID"
                                                                    },
                                                                    "workspace_label": {
                                                                        "type": "string",
                                                                        "example": "Catalogs 2025",
                                                                        "description": "Parent workspace label"
                                                                    },
                                                                    "description": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": null,
                                                                        "description": "Publication description"
                                                                    },
                                                                    "active": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether the publication is active"
                                                                    },
                                                                    "project_type": {
                                                                        "type": "string",
                                                                        "example": "publication",
                                                                        "description": "Project type (always \"publication\" or \"catalog_with_pagination\")"
                                                                    },
                                                                    "project_type_description": {
                                                                        "type": "string",
                                                                        "example": "Publication - Brief",
                                                                        "description": "Human-readable project type"
                                                                    },
                                                                    "path": {
                                                                        "type": "string",
                                                                        "example": "0/1978/1982/213855",
                                                                        "description": "Publication path in hierarchy"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Associated library ID"
                                                                    },
                                                                    "start_date": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "2025-01-01T00:00:00+01:00",
                                                                        "description": "Publication start date"
                                                                    },
                                                                    "end_date": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "2025-12-31T23:59:59+01:00",
                                                                        "description": "Publication end date"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "node_id",
                                                                    "label",
                                                                    "workspace_id",
                                                                    "workspace_label",
                                                                    "active",
                                                                    "project_type",
                                                                    "project_type_description",
                                                                    "path",
                                                                    "class_id"
                                                                ]
                                                            },
                                                            "description": "List of publications"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "No publications found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "include_inactive": {
                                        "type": "boolean",
                                        "description": "Include inactive publications. By default, inactive publications are excluded.",
                                        "example": false
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/add-themes-to-pages/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Associate themes to pages",
                "description": "## Purpose\n\nAssigns thematic categories to publication pages. Use for organizing print catalog content by themes (seasonal, product families, promotional sections).\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication themes addition response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "OK - but 4 unauthorized pages (2, 3)",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "nb_pages_modified": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Number of pages that were modified"
                                                        },
                                                        "themes_not_exist": {
                                                            "type": "array",
                                                            "nullable": true,
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": [
                                                                "Music",
                                                                "Board games"
                                                            ],
                                                            "description": "List of themes that do not exist (optional)"
                                                        },
                                                        "pages_not_exist": {
                                                            "type": "array",
                                                            "nullable": true,
                                                            "items": {
                                                                "type": "integer"
                                                            },
                                                            "example": [
                                                                2,
                                                                3
                                                            ],
                                                            "description": "List of page numbers that do not exist (optional)"
                                                        },
                                                        "pages_unauthorized": {
                                                            "type": "array",
                                                            "nullable": true,
                                                            "items": {
                                                                "type": "integer"
                                                            },
                                                            "example": [
                                                                2,
                                                                3
                                                            ],
                                                            "description": "List of page numbers that are not allowed (optional)"
                                                        }
                                                    },
                                                    "required": [
                                                        "nb_pages_modified"
                                                    ],
                                                    "description": "Theme addition result with statistics"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = validation failed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Project not found or invalid parameters",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "pages": {
                                        "type": "array",
                                        "description": "List of pages with theme names. A page can contain multiple themes. Format : array(array(\"page_num\" => 1, \"themes\" => array(theme_name_1, theme_name_2)), ...) (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "page_num": 4,
                                                "themes": [
                                                    "Music"
                                                ]
                                            },
                                            {
                                                "page_num": 6,
                                                "themes": [
                                                    "Music",
                                                    "Board games"
                                                ]
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "page_num": {
                                                    "type": "integer",
                                                    "description": "Page number (1-based index). First page is 1"
                                                },
                                                "themes": {
                                                    "type": "array",
                                                    "description": "List of theme names. Themes are configured at publication level",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                }
                                            },
                                            "required": [
                                                "page_num",
                                                "themes"
                                            ],
                                            "title": "Item"
                                        }
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "pages"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/add-theme-to-page/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Associate a single theme to a single page",
                "description": "## Purpose\n\nAssigns a single theme to a specific publication page. Simplified alternative to add-themes-to-pages for single operations.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Single theme to page association response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Theme associated successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "page_num": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Page number where the theme was added"
                                                        },
                                                        "theme": {
                                                            "type": "string",
                                                            "example": "Music",
                                                            "description": "Theme name that was associated"
                                                        }
                                                    },
                                                    "required": [
                                                        "page_num",
                                                        "theme"
                                                    ],
                                                    "description": "Theme association result"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 3 = system error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Page does not exist",
                                                        "Theme does not exist",
                                                        "Theme is already associated to this page",
                                                        "Not authorized to modify this page"
                                                    ],
                                                    "example": "Page does not exist",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "page_num": {
                                        "type": "integer",
                                        "description": "Page number (1-based). Use POST /api/v3/publishing/pages to list available pages.",
                                        "example": 4
                                    },
                                    "theme": {
                                        "type": "string",
                                        "description": "Theme name to associate. Themes are configured at publication level.",
                                        "example": "Music"
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "page_num",
                                    "theme"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/add-block-to-page/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Add a single content block to a page",
                "description": "## Purpose\n\nAdds a single content block to a specific publication page. Simplified alternative to add-blocks-to-pages for single block operations.\n\n## Important\n\n`product_block` type creates a block with a template and optional form data, but does NOT assign a product. To assign a product to a block, use POST /api/v3/publishing/place-product-in-page/.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Single block addition response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Block created successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "block_id": {
                                                            "type": "integer",
                                                            "example": 12345,
                                                            "description": "ID of the created block"
                                                        },
                                                        "page_num": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Page number where the block was added"
                                                        }
                                                    },
                                                    "required": [
                                                        "block_id",
                                                        "page_num"
                                                    ],
                                                    "description": "Created block information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 3 = system error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Page does not exist",
                                                        "Block already exists at this position",
                                                        "Not authorized to modify this page",
                                                        "Block could not be created"
                                                    ],
                                                    "example": "Page does not exist",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "page_num": {
                                        "type": "integer",
                                        "description": "Page number (1-based). Use POST /api/v3/publishing/pages to list available pages.",
                                        "example": 1
                                    },
                                    "block": {
                                        "type": "object",
                                        "description": "Block information object with type, position, dimensions. product_block creates a block with template/form but no product — use place-product-in-page to assign a product afterwards.",
                                        "example": {
                                            "type": "product_block",
                                            "x_position": 10,
                                            "y_position": 20,
                                            "width": 60,
                                            "height": 40,
                                            "asset_template_id": 22,
                                            "rank": 3,
                                            "form_datas": {
                                                "123": "Cuisine",
                                                "456": "Promo",
                                                "789": "P1"
                                            }
                                        },
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "description": "Block type. product_block creates a block with a template and optional form data (no product assignment — use place-product-in-page for that). Other types: empty_block, text_block, image_block, or notepad types.",
                                                "enum": [
                                                    "product_block",
                                                    "empty_block",
                                                    "text_block",
                                                    "image_block",
                                                    "image_note",
                                                    "square_note",
                                                    "text_note",
                                                    "attention_pin_note",
                                                    "question_pin_note",
                                                    "information_pin_note",
                                                    "simple_note"
                                                ]
                                            },
                                            "x_position": {
                                                "type": "integer",
                                                "description": "Block X position in mm from the left edge of the page"
                                            },
                                            "y_position": {
                                                "type": "integer",
                                                "description": "Block Y position in mm from the top edge of the page"
                                            },
                                            "width": {
                                                "type": "integer",
                                                "description": "Block width in mm. Must be a positive value"
                                            },
                                            "height": {
                                                "type": "integer",
                                                "description": "Block height in mm. Must be a positive value"
                                            },
                                            "rank": {
                                                "type": "integer",
                                                "description": "Block z-index position for layering. Higher values display on top of lower values. Default: 0."
                                            },
                                            "html_content": {
                                                "type": "string",
                                                "description": "HTML content (required for text_block and notepad types) **⚠️ Required when:** `type` = `text_block` | `image_note` | `square_note` | `text_note` | `attention_pin_note` | `question_pin_note` | `information_pin_note` | `simple_note`",
                                                "x-conditional-required": {
                                                    "type": [
                                                        "text_block",
                                                        "image_note",
                                                        "square_note",
                                                        "text_note",
                                                        "attention_pin_note",
                                                        "question_pin_note",
                                                        "information_pin_note",
                                                        "simple_note"
                                                    ]
                                                }
                                            },
                                            "asset_template_id": {
                                                "type": "integer",
                                                "description": "Product template ID for rendering (applicable to product_block type). If omitted, uses the publication default, then the library default. There is no dedicated API endpoint to list templates; inspect existing blocks via POST /api/v3/publishing/page-details (profil_id and profil_label fields)."
                                            },
                                            "section_id": {
                                                "type": "integer",
                                                "description": "Section ID for text categorization (applicable to text_block type). Sections are configured at library administration level. There is no API endpoint to list sections; contact your administrator."
                                            },
                                            "form_datas": {
                                                "type": "object",
                                                "description": "Form data as {attribute_id: \"value\"} pairs (applicable to product_block type). All values must be strings. Use POST /api/v3/attributes/list with class_id to get available attribute IDs."
                                            }
                                        },
                                        "required": [
                                            "type",
                                            "x_position",
                                            "y_position",
                                            "width",
                                            "height"
                                        ]
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "page_num",
                                    "block"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/add-blocks-to-pages/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Add content blocks to pages",
                "description": "## Purpose\n\nDefines page layout by adding content blocks to publication pages. Configure block positioning and content for print catalog production.\n\n## Important\n\n`product_block` type creates a block with a template and optional form data, but does NOT assign a product. To assign a product to a block, use POST /api/v3/publishing/place-product-in-page/ or POST /api/v3/publishing/place-products-in-pages/.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication blocks addition response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "OK - but 2 existing blocks",
                                                    "description": "Status message (empty string for success)"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "nb_pages_modified": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Number of pages that were modified"
                                                        },
                                                        "nb_blocks_created": {
                                                            "type": "integer",
                                                            "example": 3,
                                                            "description": "Number of new blocks created"
                                                        },
                                                        "nb_blocks_updated": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Number of existing blocks updated via attribute_key UPSERT"
                                                        },
                                                        "created_blocks": {
                                                            "type": "array",
                                                            "nullable": true,
                                                            "items": {
                                                                "type": "integer"
                                                            },
                                                            "example": [
                                                                12345,
                                                                12346
                                                            ],
                                                            "description": "List of created block IDs (only present if blocks were created). Use these IDs with place-product-in-page block_id parameter."
                                                        },
                                                        "updated_blocks": {
                                                            "type": "array",
                                                            "nullable": true,
                                                            "items": {
                                                                "type": "integer"
                                                            },
                                                            "example": [
                                                                456
                                                            ],
                                                            "description": "List of updated block IDs (only present if blocks were updated via UPSERT)"
                                                        },
                                                        "pages_not_exist": {
                                                            "type": "array",
                                                            "nullable": true,
                                                            "items": {
                                                                "type": "integer"
                                                            },
                                                            "example": [
                                                                2,
                                                                3
                                                            ],
                                                            "description": "List of page numbers that do not exist (optional)"
                                                        },
                                                        "existing_blocks": {
                                                            "type": "array",
                                                            "nullable": true,
                                                            "items": {
                                                                "type": "object"
                                                            },
                                                            "example": [],
                                                            "description": "List of blocks that already exist at the same position (optional)"
                                                        },
                                                        "pages_unauthorized": {
                                                            "type": "array",
                                                            "nullable": true,
                                                            "items": {
                                                                "type": "integer"
                                                            },
                                                            "example": [
                                                                4
                                                            ],
                                                            "description": "List of page numbers where user is not authorized (optional)"
                                                        }
                                                    },
                                                    "required": [
                                                        "nb_pages_modified",
                                                        "nb_blocks_created",
                                                        "nb_blocks_updated"
                                                    ],
                                                    "description": "Block addition result with statistics"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = validation failed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Invalid block type or missing required parameters",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "pages": {
                                        "type": "array",
                                        "description": "List of pages with blocks. A page can contain multiple blocks. Each block requires: \"type\" (use enum values: empty_block, text_block, image_block, or notepad types), \"x_position\", \"y_position\", \"width\", \"height\". Additional fields by type: text_block supports \"html_content\" and \"section_id\"; notepad types support \"html_content\". For product blocks, use POST /api/v3/publishing/place-product-in-page/ or place-products-in-pages/ instead. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "page_num": 1,
                                                "blocks": [
                                                    {
                                                        "type": "empty_block",
                                                        "x_position": 10,
                                                        "y_position": 20,
                                                        "width": 60,
                                                        "height": 40,
                                                        "rank": 2
                                                    },
                                                    {
                                                        "type": "text_block",
                                                        "x_position": 16,
                                                        "y_position": 178,
                                                        "width": 60,
                                                        "height": 40,
                                                        "html_content": "Advertising block",
                                                        "section_id": 10
                                                    },
                                                    {
                                                        "type": "product_block",
                                                        "x_position": 10,
                                                        "y_position": 80,
                                                        "width": 60,
                                                        "height": 40,
                                                        "asset_template_id": 22,
                                                        "rank": 3,
                                                        "form_datas": {
                                                            "123": "Cuisine",
                                                            "456": "Promo",
                                                            "789": "P1"
                                                        }
                                                    }
                                                ]
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "page_num": {
                                                    "type": "integer",
                                                    "description": "Page number (1-based index). First page is 1"
                                                },
                                                "blocks": {
                                                    "type": "array",
                                                    "description": "List of blocks on the page with their properties and positions. (Array of objects - see example for structure)",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "type": {
                                                                "type": "string",
                                                                "description": "Block type. product_block creates a block with a template and optional form data (no product assignment — use place-product-in-page for that). Other types: empty_block, text_block, image_block, or notepad types.",
                                                                "enum": [
                                                                    "product_block",
                                                                    "empty_block",
                                                                    "text_block",
                                                                    "image_block",
                                                                    "image_note",
                                                                    "square_note",
                                                                    "text_note",
                                                                    "attention_pin_note",
                                                                    "question_pin_note",
                                                                    "information_pin_note",
                                                                    "simple_note"
                                                                ]
                                                            },
                                                            "x_position": {
                                                                "type": "integer",
                                                                "description": "Block X position in mm from the left edge of the page"
                                                            },
                                                            "y_position": {
                                                                "type": "integer",
                                                                "description": "Block Y position in mm from the top edge of the page"
                                                            },
                                                            "width": {
                                                                "type": "integer",
                                                                "description": "Block width in mm. Must be a positive value"
                                                            },
                                                            "height": {
                                                                "type": "integer",
                                                                "description": "Block height in mm. Must be a positive value"
                                                            },
                                                            "rank": {
                                                                "type": "integer",
                                                                "description": "Block z-index position for layering. Higher values display on top of lower values. Default: 0."
                                                            },
                                                            "html_content": {
                                                                "type": "string",
                                                                "description": "HTML content (required for text_block and notepad types) **⚠️ Required when:** `type` = `text_block` | `image_note` | `square_note` | `text_note` | `attention_pin_note` | `question_pin_note` | `information_pin_note` | `simple_note`",
                                                                "x-conditional-required": {
                                                                    "type": [
                                                                        "text_block",
                                                                        "image_note",
                                                                        "square_note",
                                                                        "text_note",
                                                                        "attention_pin_note",
                                                                        "question_pin_note",
                                                                        "information_pin_note",
                                                                        "simple_note"
                                                                    ]
                                                                }
                                                            },
                                                            "asset_template_id": {
                                                                "type": "integer",
                                                                "description": "Product template ID for rendering (applicable to product_block type). If omitted, uses the publication default, then the library default. There is no dedicated API endpoint to list templates; inspect existing blocks via POST /api/v3/publishing/page-details (profil_id and profil_label fields)."
                                                            },
                                                            "section_id": {
                                                                "type": "integer",
                                                                "description": "Section ID for text categorization (applicable to text_block type). Sections are configured at library administration level. There is no API endpoint to list sections; contact your administrator."
                                                            },
                                                            "attribute_key": {
                                                                "type": "integer",
                                                                "description": "Attribute ID used as lookup key for UPSERT mode. If a block already exists in the project with this attribute value (from form_datas), it will be updated instead of creating a new one. The attribute must be indexed (ROLE_Index). Use POST /api/v3/attributes/list with class_id to get attribute IDs."
                                                            },
                                                            "form_datas": {
                                                                "type": "object",
                                                                "description": "Form data as {attribute_id: \"value\"} pairs. All values must be strings, even for numeric attributes. Use POST /api/v3/attributes/list with class_id to get available attribute IDs."
                                                            }
                                                        },
                                                        "required": [
                                                            "type",
                                                            "x_position",
                                                            "y_position",
                                                            "width",
                                                            "height"
                                                        ],
                                                        "title": "Item"
                                                    }
                                                }
                                            },
                                            "required": [
                                                "page_num",
                                                "blocks"
                                            ],
                                            "title": "Item"
                                        }
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "pages"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/get-block-form-by-attribute/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Get forms in a project by attribute value",
                "description": "## Purpose\n\nRetrieves all forms in a publication project matching a specific attribute value. Useful for finding forms based on their content.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Forms search response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Total number of forms found"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "form_id": {
                                                                        "type": "integer",
                                                                        "example": 12345,
                                                                        "description": "Form asset ID"
                                                                    },
                                                                    "block": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "id": {
                                                                                "type": "integer",
                                                                                "example": 456,
                                                                                "description": "Block ID"
                                                                            },
                                                                            "type": {
                                                                                "type": "string",
                                                                                "example": "product_block",
                                                                                "description": "Block type: product_block, empty_block, text_block, image_block, or notepad types (image_note, etc.)"
                                                                            },
                                                                            "x_position": {
                                                                                "type": "integer",
                                                                                "example": 10,
                                                                                "description": "Block X position in mm from the left edge of the page"
                                                                            },
                                                                            "y_position": {
                                                                                "type": "integer",
                                                                                "example": 20,
                                                                                "description": "Block Y position in mm from the top edge of the page"
                                                                            },
                                                                            "width": {
                                                                                "type": "integer",
                                                                                "example": 60,
                                                                                "description": "Block width in mm. Must be a positive value"
                                                                            },
                                                                            "height": {
                                                                                "type": "integer",
                                                                                "example": 40,
                                                                                "description": "Block height in mm. Must be a positive value"
                                                                            },
                                                                            "node_id": {
                                                                                "type": "integer",
                                                                                "example": 789,
                                                                                "description": "Product node ID"
                                                                            },
                                                                            "asset_template_id": {
                                                                                "type": "integer",
                                                                                "example": 22,
                                                                                "description": "Asset template ID"
                                                                            }
                                                                        },
                                                                        "description": "Block information"
                                                                    },
                                                                    "page": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "page_num": {
                                                                                "type": "integer",
                                                                                "example": 1,
                                                                                "description": "Page number"
                                                                            },
                                                                            "node_id": {
                                                                                "type": "integer",
                                                                                "example": 555,
                                                                                "description": "Page node ID"
                                                                            }
                                                                        },
                                                                        "description": "Page information"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "form_id",
                                                                    "block",
                                                                    "page"
                                                                ]
                                                            },
                                                            "description": "List of forms found"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ],
                                                    "description": "Search results"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 3 = system error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Project not found",
                                                        "No form type configured",
                                                        "Attribute not found",
                                                        "Attribute is not indexed",
                                                        "No forms found"
                                                    ],
                                                    "example": "No forms found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "attribute_id": {
                                        "type": "integer",
                                        "description": "Attribute ID to search on (must be indexed). Use POST /api/v3/attributes/list with class_id to get attributes.",
                                        "example": 730
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "Value to search for in the specified attribute.",
                                        "example": "REF-12345"
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "attribute_id",
                                    "value"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/update-block-to-page/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Update a content block on a page",
                "description": "## Purpose\n\nUpdates an existing content block on a publication page. Modify position, dimensions, content, or associated data. Only provided properties are updated.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Block update response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Block updated successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "block_id": {
                                                            "type": "integer",
                                                            "example": 12345,
                                                            "description": "ID of the updated block"
                                                        },
                                                        "page_num": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Page number where the block was updated"
                                                        },
                                                        "messages": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": [
                                                                "Updated block",
                                                                "Updated form data"
                                                            ],
                                                            "description": "List of operations performed"
                                                        }
                                                    },
                                                    "required": [
                                                        "block_id",
                                                        "page_num"
                                                    ],
                                                    "description": "Updated block information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 3 = system error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Page does not exist",
                                                        "Block not found",
                                                        "Not authorized to update the block",
                                                        "Project not found",
                                                        "Block could not be updated"
                                                    ],
                                                    "example": "Block not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "page_num": {
                                        "type": "integer",
                                        "description": "Page number (1-based). Use POST /api/v3/publishing/pages to list available pages.",
                                        "example": 1
                                    },
                                    "block_id": {
                                        "type": "integer",
                                        "description": "Block ID to update. Use POST /api/v3/publishing/page-details with project_node_id and page_num to get block IDs.",
                                        "example": 12345
                                    },
                                    "block": {
                                        "type": "object",
                                        "description": "Block information to update. All properties are optional - only provided properties will be updated.",
                                        "example": {
                                            "x_position": 15,
                                            "y_position": 25,
                                            "width": 70,
                                            "height": 50
                                        },
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "description": "Block type: product_block, empty_block, text_block, image_block, or notepad types (image_note, etc.)",
                                                "enum": [
                                                    "product_block",
                                                    "empty_block",
                                                    "text_block",
                                                    "image_block",
                                                    "image_note",
                                                    "square_note",
                                                    "text_note",
                                                    "attention_pin_note",
                                                    "question_pin_note",
                                                    "information_pin_note",
                                                    "simple_note"
                                                ]
                                            },
                                            "x_position": {
                                                "type": "integer",
                                                "description": "Block X position in mm from the left edge of the page"
                                            },
                                            "y_position": {
                                                "type": "integer",
                                                "description": "Block Y position in mm from the top edge of the page"
                                            },
                                            "width": {
                                                "type": "integer",
                                                "description": "Block width in mm. Must be a positive value"
                                            },
                                            "height": {
                                                "type": "integer",
                                                "description": "Block height in mm. Must be a positive value"
                                            },
                                            "node_id": {
                                                "type": "integer",
                                                "description": "Product node ID for product_block. Use POST /api/v3/get-asset/by-search/node to find products"
                                            },
                                            "asset_template_id": {
                                                "type": "integer",
                                                "description": "Product template ID for rendering. If omitted, uses the publication default, then the library default. There is no dedicated API endpoint to list templates; inspect existing blocks via POST /api/v3/publishing/page-details (profil_id and profil_label fields)."
                                            },
                                            "rank": {
                                                "type": "integer",
                                                "description": "Block position for product placement (for product_block and empty_block)"
                                            },
                                            "html_content": {
                                                "type": "string",
                                                "description": "HTML content (for text_block and notepad types)"
                                            },
                                            "section_id": {
                                                "type": "integer",
                                                "description": "Section ID for text categorization (applicable to text_block type). Sections are configured at library administration level. There is no API endpoint to list sections; contact your administrator."
                                            },
                                            "form_datas": {
                                                "type": "object",
                                                "description": "Form data as key-value pairs where key is attribute_id and value is the content (for product_block)"
                                            }
                                        }
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "page_num",
                                    "block_id",
                                    "block"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/delete-block-to-page/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Remove a content block from a page",
                "description": "## Purpose\n\nDeletes a content block from a publication page. Also removes any associated form data.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Block deletion response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Block deleted successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "block_id": {
                                                            "type": "integer",
                                                            "example": 12345,
                                                            "description": "ID of the deleted block"
                                                        }
                                                    },
                                                    "required": [
                                                        "block_id"
                                                    ],
                                                    "description": "Deleted block information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 3 = system error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Block not found",
                                                        "No form data in block",
                                                        "Not authorized to delete the block"
                                                    ],
                                                    "example": "Block not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "block_id": {
                                        "type": "integer",
                                        "description": "Block ID to delete. Use POST /api/v3/publishing/page-details with project_node_id and page_num to get block IDs.",
                                        "example": 12345
                                    }
                                },
                                "required": [
                                    "block_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/delete-theme-to-page/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Remove a theme from a page",
                "description": "## Purpose\n\nRemoves a theme from a specific publication page. Reverse operation of add-theme-to-page.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Theme removal from page response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Theme removed successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "page_num": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Page number from which the theme was removed"
                                                        },
                                                        "theme": {
                                                            "type": "string",
                                                            "example": "Music",
                                                            "description": "Theme name that was removed"
                                                        }
                                                    },
                                                    "required": [
                                                        "page_num",
                                                        "theme"
                                                    ],
                                                    "description": "Theme removal result"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 3 = system error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Page does not exist",
                                                        "Theme does not exist",
                                                        "Theme is not associated to this page",
                                                        "Not authorized to modify this page"
                                                    ],
                                                    "example": "Page does not exist",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "page_num": {
                                        "type": "integer",
                                        "description": "Page number (1-based). Use POST /api/v3/publishing/pages to list available pages.",
                                        "example": 4
                                    },
                                    "theme": {
                                        "type": "string",
                                        "description": "Theme name to remove. Use POST /api/v3/publishing/page-details with project_node_id and page_num to see current page themes.",
                                        "example": "Music"
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "page_num",
                                    "theme"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/create/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Create new project",
                "description": "## Purpose\n\nCreates a new publication or catalog project within a project group. Configure project type, page dimensions, and initial settings.\n\n## Project Types\n\n- `publication`: Print publication with page layout and blocks\n- `catalog_with_pagination`: Digital catalog with pagination support\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Project creation response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message (empty string for success)"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 956408,
                                                            "description": "Node ID of the created project"
                                                        },
                                                        "node_id": {
                                                            "type": "integer",
                                                            "example": 956408,
                                                            "description": "Node ID of the created project"
                                                        },
                                                        "asset_id": {
                                                            "type": "integer",
                                                            "example": 24923,
                                                            "description": "Asset ID of the created project"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "node_id",
                                                        "asset_id"
                                                    ],
                                                    "description": "Created project information - simplified structure"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "enum": [
                                                        2,
                                                        3
                                                    ],
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error/business logic error, 3 = system error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "The parameter \"template_id\" must be a valid integer",
                                                        "There is an issue with the data sent in the parameter \"versions_id\" : one of the items in the array is not a valid integer.",
                                                        "There is an issue with the data sent in the parameter \"start_date\" : the value is invalid, expected ISO 8601 date format (2025-11-06T10:00:00Z or 2025-11-06T10:00:00Z+02:00).",
                                                        "There is an issue with the data sent in the parameter \"end_date\" : the value is invalid, expected ISO 8601 date format (2025-11-06T10:00:00Z or 2025-11-06T10:00:00Z+02:00).",
                                                        "There is an issue with the data sent in the parameter \"themes_configuration\" : each key must be a valid string and not empty.",
                                                        "There is an issue with the data sent in the parameter \"themes_configuration\" : each value must be a valid string and not empty and must match a hexadecimal code.",
                                                        "Parent workspace does not exist",
                                                        "Project could not be created",
                                                        "Publication could not be created"
                                                    ],
                                                    "example": "The parameter \"template_id\" must be a valid integer",
                                                    "description": "Specific error message describing the validation or business logic failure"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "workspace_node_id": {
                                        "type": "integer",
                                        "description": "Workspace node ID (project group). Use POST /api/v3/publishing/list with class_id to find workspace nodes.",
                                        "example": 6726
                                    },
                                    "label": {
                                        "type": "string",
                                        "description": "Label/name for the new publication project.",
                                        "example": "Christmas 2025"
                                    },
                                    "project_type": {
                                        "type": "string",
                                        "description": "Project type: \"publication\" (paginated document with layout) or \"catalog_with_pagination\" (catalog with automatic pagination).",
                                        "enum": [
                                            "publication",
                                            "catalog_with_pagination"
                                        ],
                                        "example": "publication"
                                    },
                                    "template_id": {
                                        "type": "integer",
                                        "description": "Project template ID (optional). Creates a blank project if omitted. There is currently no API endpoint to list project templates. You can inspect existing projects via POST /api/v3/publishing/list as reference.",
                                        "example": 25
                                    },
                                    "default_version_id": {
                                        "type": "integer",
                                        "description": "Default version ID for the project. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    },
                                    "versions_id": {
                                        "type": "array",
                                        "description": "List of version IDs for the project. Use POST /api/v3/administration/versions/list to get versions.",
                                        "example": [
                                            1,
                                            2,
                                            3
                                        ],
                                        "items": {
                                            "type": "integer"
                                        }
                                    },
                                    "tree_default_display": {
                                        "type": "string",
                                        "description": "Default tree to display : \"dynamic\" or \"virtual\"",
                                        "enum": [
                                            "dynamic",
                                            "virtual"
                                        ],
                                        "example": "virtual"
                                    },
                                    "start_date": {
                                        "type": "string",
                                        "description": "Project start date in ISO 8601 format (e.g., 2025-01-01T00:00:00Z).",
                                        "example": "2025-01-01T00:00:00Z"
                                    },
                                    "end_date": {
                                        "type": "string",
                                        "description": "Project end date in ISO 8601 format (e.g., 2025-12-31T23:59:59Z).",
                                        "example": "2025-12-31T23:59:59Z"
                                    },
                                    "page_width": {
                                        "type": "integer",
                                        "description": "Page width in mm for publication layout **⚠️ Required when:** `project_type` = `publication`",
                                        "example": 210,
                                        "x-conditional-required": {
                                            "project_type": [
                                                "publication"
                                            ]
                                        }
                                    },
                                    "page_height": {
                                        "type": "integer",
                                        "description": "Page height in mm for publication layout **⚠️ Required when:** `project_type` = `publication`",
                                        "example": 297,
                                        "x-conditional-required": {
                                            "project_type": [
                                                "publication"
                                            ]
                                        }
                                    },
                                    "page_margin": {
                                        "type": "array",
                                        "description": "Page margin information (for publication) (Array of objects - see example for structure)",
                                        "example": {
                                            "top": 5,
                                            "left": 5,
                                            "right": 5,
                                            "bottom": 5
                                        },
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "top": {
                                                    "type": "integer",
                                                    "description": "Top page margin in millimeters. Default value: 0"
                                                },
                                                "left": {
                                                    "type": "integer",
                                                    "description": "Left page margin in millimeters. Default value: 0"
                                                },
                                                "right": {
                                                    "type": "integer",
                                                    "description": "Right page margin in millimeters. Default value: 0"
                                                },
                                                "bottom": {
                                                    "type": "integer",
                                                    "description": "Bottom page margin in millimeters. Default value: 0"
                                                }
                                            },
                                            "title": "Item"
                                        }
                                    },
                                    "number_of_pages": {
                                        "type": "integer",
                                        "description": "Number of pages to create (for publication)",
                                        "example": 10
                                    },
                                    "easycatalog_export_mapping_id": {
                                        "type": "integer",
                                        "description": "Export mapping ID for EasyCatalog. Use POST /api/v3/mappings/list with type=\"export\" to get mappings.",
                                        "example": 251
                                    },
                                    "page_start_number": {
                                        "type": "integer",
                                        "description": "Starting page numbering (for publication)",
                                        "example": 1
                                    },
                                    "themes_configuration": {
                                        "type": "object",
                                        "description": "List of theme configurations for publication layout organization.",
                                        "example": {
                                            "Music": "#4169e1",
                                            "Board games": "#228b22"
                                        }
                                    },
                                    "attribute_list": {
                                        "type": "array",
                                        "description": "List of attributes to update on the project asset. List of properties to apply : \"attribute_id\", \"value\" (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "attribute_id": 231,
                                                "value": "Christmas 2025 Edition"
                                            },
                                            {
                                                "attribute_id": 658,
                                                "value": "1234"
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute_id": {
                                                    "type": "integer",
                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes."
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "Value to set. Format depends on attribute type (text, date, list)"
                                                }
                                            },
                                            "required": [
                                                "attribute_id",
                                                "value"
                                            ],
                                            "title": "Item"
                                        }
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "workspace_node_id",
                                    "label",
                                    "project_type"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/update-status/node/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Update page status in publication project",
                "description": "## Purpose\n\nUpdates the access control status (LCA) of a publication page by page number. This endpoint operates in the project/node context (not repository).\n\n## Note on URL\n\nThe `/node/` suffix indicates this operates in a project context (as opposed to repository). This is consistent with other Afineo endpoints that distinguish between `/node/` (project-specific) and `/repository/` (master data).\n\n## When to Use\n\n- Use to change the validation status of a specific page in a publication project\n- The `page_num` refers to the publication page number (1-based), not the internal node ID\n- Use POST /api/v3/publishing/pages with class_id and project_node_id to get available page numbers\n- Use POST /api/v3/permissions/statuses/list to get available status IDs\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Update status by page response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Status updated",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Page does not exist",
                                                        "Asset does not exist or has been deleted",
                                                        "The status of the asset is already the same as the one you want to set",
                                                        "You don't have the rights to update the status of this asset"
                                                    ],
                                                    "example": "Page does not exist",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "page_num": {
                                        "type": "integer",
                                        "description": "Page number (1-based). Use POST /api/v3/publishing/pages to list available pages.",
                                        "example": 1
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "status_id": {
                                        "type": "integer",
                                        "description": "Status ID. Use POST /api/v3/permissions/statuses/list to get available statuses.",
                                        "example": 102
                                    }
                                },
                                "required": [
                                    "page_num",
                                    "class_id",
                                    "project_node_id",
                                    "status_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/add-product-to-page/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Add a product to a publication page tree",
                "description": "## Purpose\n\nAdds a product from the repository to a publication page tree. The product becomes a child of the page, making it available for block placement via place-product-in-page.\n\n## When to use\n\nUse this endpoint to populate a page with products before placing them in blocks. This is the first step in the product placement workflow.\n\n## When NOT to use\n\n- To place a product in a block (with coordinates or block_id) → use POST /api/v3/publishing/place-product-in-page/\n- If the product is already in the page tree → this endpoint will return the existing node_id without duplicating\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Product addition response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Product added to page successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "node_id": {
                                                            "type": "integer",
                                                            "example": 12345,
                                                            "description": "Node ID of the product in the page tree. Use this value as node_id in place-product-in-page."
                                                        },
                                                        "page_num": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Page number"
                                                        },
                                                        "already_in_page": {
                                                            "type": "boolean",
                                                            "example": false,
                                                            "description": "Whether the product was already present in the page tree (true) or newly added (false)"
                                                        }
                                                    },
                                                    "required": [
                                                        "node_id",
                                                        "page_num",
                                                        "already_in_page"
                                                    ],
                                                    "description": "Product addition result"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Publication not found",
                                                        "Page does not exist",
                                                        "Product asset not found",
                                                        "Could not add product to page tree"
                                                    ],
                                                    "example": "Product asset not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "page_num": {
                                        "type": "integer",
                                        "description": "Page number (1-based). Use POST /api/v3/publishing/pages to list available pages.",
                                        "example": 1
                                    },
                                    "asset_id": {
                                        "type": "integer",
                                        "description": "Product asset ID from the repository (unique database identifier). Use POST /api/v3/get-asset/by-search/ to find product asset IDs.",
                                        "example": 638116
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "page_num",
                                    "asset_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/add-products-to-pages/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Add products to publication pages (batch)",
                "description": "## Purpose\n\nBatch endpoint for adding products from the repository to multiple publication pages. Each product becomes a child of its target page.\n\n## When to use\n\nUse this endpoint to populate multiple pages with products in a single call. More efficient than calling add-product-to-page repeatedly.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Batch product addition response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message (empty for full success)"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "nb_pages_modified": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Number of pages that received products"
                                                        },
                                                        "nb_products_added": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Number of products added"
                                                        },
                                                        "products": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "node_id": {
                                                                        "type": "integer",
                                                                        "example": 12345,
                                                                        "description": "Node ID of the product in the page tree"
                                                                    },
                                                                    "page_num": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Page number where the product was added"
                                                                    },
                                                                    "already_in_page": {
                                                                        "type": "boolean",
                                                                        "example": false,
                                                                        "description": "Whether the product was already in the page (true) or newly added (false)"
                                                                    }
                                                                }
                                                            },
                                                            "description": "List of added products with node IDs"
                                                        },
                                                        "errors": {
                                                            "type": "array",
                                                            "nullable": true,
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "page_num": {
                                                                        "type": "integer",
                                                                        "description": "Page number where the error occurred"
                                                                    },
                                                                    "asset_id": {
                                                                        "type": "integer",
                                                                        "description": "Asset ID that caused the error"
                                                                    },
                                                                    "message": {
                                                                        "type": "string",
                                                                        "description": "Error message"
                                                                    }
                                                                }
                                                            },
                                                            "description": "List of errors for individual products (optional, present on partial success)"
                                                        }
                                                    },
                                                    "required": [
                                                        "nb_pages_modified",
                                                        "nb_products_added",
                                                        "products"
                                                    ],
                                                    "description": "Batch addition result"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "The parameter \"pages\" must be not empty",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "pages": {
                                        "type": "array",
                                        "description": "List of pages with products to add. Each entry requires a page_num (1-based) and an asset_ids array of product asset IDs from the repository. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "page_num": 1,
                                                "asset_ids": [
                                                    638116,
                                                    638117,
                                                    638118
                                                ]
                                            },
                                            {
                                                "page_num": 2,
                                                "asset_ids": [
                                                    638200,
                                                    638201
                                                ]
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "page_num": {
                                                    "type": "integer",
                                                    "description": "Page number (1-based index). First page is 1"
                                                },
                                                "asset_ids": {
                                                    "type": "array",
                                                    "description": "List of product asset IDs to add to this page. Use POST /api/v3/get-asset/by-search/ to find asset IDs.",
                                                    "items": {
                                                        "type": "integer"
                                                    }
                                                }
                                            },
                                            "required": [
                                                "page_num",
                                                "asset_ids"
                                            ],
                                            "title": "Item"
                                        }
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "pages"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/place-product-in-page/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Place a product on a publication page",
                "description": "## Purpose\n\nIntelligent endpoint for placing a product on a publication page. Handles the full workflow: adding the product from the repository to the page tree if needed, then creating a new product block or assigning the product to an existing block.\n\n## When to use\n\nUse this endpoint when you need to place a product on a publication page. It replaces the former `add-product-block` endpoint with added capabilities:\n- Place a product already present in the page tree (via `node_id`)\n- Place a product from the repository (via `asset_id`) — will be added to the page tree automatically\n- Create a new block OR assign to an existing block (via `block_id`)\n\n## Parameter rules\n\n- Provide either `node_id` OR `asset_id` (mutually exclusive, one is required)\n- If `block_id` is not provided, `x_position`, `y_position`, `width`, `height` are required to create a new block\n- If `block_id` is provided, the product will be assigned to the existing block\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Product placement response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Product placed in page successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "node_id": {
                                                            "type": "integer",
                                                            "example": 12345,
                                                            "description": "Node ID of the product in the page tree"
                                                        },
                                                        "block_id": {
                                                            "type": "integer",
                                                            "example": 6789,
                                                            "description": "ID of the block (created or existing)"
                                                        },
                                                        "page_num": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Page number"
                                                        },
                                                        "added_from_repository": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "Whether the product was added from the repository (true) or was already in the page (false)"
                                                        }
                                                    },
                                                    "required": [
                                                        "node_id",
                                                        "block_id",
                                                        "page_num",
                                                        "added_from_repository"
                                                    ],
                                                    "description": "Product placement result"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 3 = system error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "You must provide either node_id or asset_id (not both)",
                                                        "Publication not found",
                                                        "Page does not exist",
                                                        "Product not found in page",
                                                        "Product asset not found",
                                                        "Could not add product to page tree",
                                                        "Parameters x_position, y_position, width, height are required when block_id is not provided",
                                                        "Not authorized to modify this page",
                                                        "Block could not be created"
                                                    ],
                                                    "example": "You must provide either node_id or asset_id (not both)",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "page_num": {
                                        "type": "integer",
                                        "description": "Page number (1-based). Use POST /api/v3/publishing/pages to list available pages.",
                                        "example": 1
                                    },
                                    "node_id": {
                                        "type": "integer",
                                        "description": "Product node ID already present as a child of the page. Mutually exclusive with asset_id — provide one or the other. Use POST /api/v3/publishing/page-details/ with project_node_id and page_num to list products already in the page (see blocks[].node_id).",
                                        "example": 12345
                                    },
                                    "asset_id": {
                                        "type": "integer",
                                        "description": "Product asset ID from the repository (unique database identifier). If the product is not already in the page tree, it will be added automatically. Mutually exclusive with node_id. Use POST /api/v3/get-asset/by-search/ to find product asset IDs.",
                                        "example": 638116
                                    },
                                    "block_id": {
                                        "type": "integer",
                                        "description": "ID of an existing block (empty_block or product_block) to assign the product to. If omitted, a new block is created using x_position, y_position, width, height parameters. Use POST /api/v3/publishing/page-details/ to list existing blocks and their IDs (see blocks[].id).",
                                        "example": 789
                                    },
                                    "asset_template_id": {
                                        "type": "integer",
                                        "description": "Product template ID for rendering. If omitted, uses the default template configured on the publication project; if none, falls back to the library default template. There is no dedicated API endpoint to list templates; inspect existing blocks via POST /api/v3/publishing/page-details (profil_id and profil_label fields).",
                                        "example": 22
                                    },
                                    "x_position": {
                                        "type": "integer",
                                        "description": "X position in mm from the left edge of the page. Must be a positive value. Required if block_id is not provided.",
                                        "example": 10
                                    },
                                    "y_position": {
                                        "type": "integer",
                                        "description": "Y position in mm from the top edge of the page. Must be a positive value. Required if block_id is not provided.",
                                        "example": 20
                                    },
                                    "width": {
                                        "type": "integer",
                                        "description": "Block width in mm. Must be a positive value. Required if block_id is not provided.",
                                        "example": 60
                                    },
                                    "height": {
                                        "type": "integer",
                                        "description": "Block height in mm. Must be a positive value. Required if block_id is not provided.",
                                        "example": 40
                                    },
                                    "rank": {
                                        "type": "integer",
                                        "description": "Block placement order (z-index). Higher values display on top of lower values. Default: 0.",
                                        "example": 3
                                    },
                                    "form_datas": {
                                        "type": "object",
                                        "description": "Form data as {attribute_id: \"value\"} pairs. All values must be strings, even for numeric attributes. Use POST /api/v3/attributes/list with class_id to get available attribute IDs.",
                                        "example": {
                                            "123": "Cuisine",
                                            "456": "Promo"
                                        }
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "page_num"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/place-products-in-pages/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Place products on publication pages (batch)",
                "description": "## Purpose\n\nBatch endpoint for placing multiple products on multiple publication pages. Each product follows the same workflow as place-product-in-page: adding from repository if needed, then creating or assigning blocks.\n\n## When to use\n\nUse this endpoint when you need to place multiple products across one or more pages in a single call. More efficient than calling place-product-in-page repeatedly.\n\n## Parameter rules (per product)\n\n- Provide either `node_id` OR `asset_id` (mutually exclusive, one is required)\n- If `block_id` is not provided, `x_position`, `y_position`, `width`, `height` are required to create a new block\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Batch product placement response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message (empty for full success, details on partial success)"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "nb_pages_modified": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Number of pages that were modified"
                                                        },
                                                        "nb_products_placed": {
                                                            "type": "integer",
                                                            "example": 3,
                                                            "description": "Number of products successfully placed"
                                                        },
                                                        "products": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "node_id": {
                                                                        "type": "integer",
                                                                        "example": 12345,
                                                                        "description": "Node ID of the product in the page tree"
                                                                    },
                                                                    "block_id": {
                                                                        "type": "integer",
                                                                        "example": 6789,
                                                                        "description": "ID of the block (created or existing)"
                                                                    },
                                                                    "page_num": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Page number where the product was placed"
                                                                    },
                                                                    "added_from_repository": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether the product was added from the repository (true) or was already in the page (false)"
                                                                    }
                                                                }
                                                            },
                                                            "description": "List of placed products with details"
                                                        },
                                                        "errors": {
                                                            "type": "array",
                                                            "nullable": true,
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "page_num": {
                                                                        "type": "integer",
                                                                        "description": "Page number where the error occurred"
                                                                    },
                                                                    "message": {
                                                                        "type": "string",
                                                                        "description": "Error message"
                                                                    }
                                                                }
                                                            },
                                                            "description": "List of errors encountered during processing (optional, present on partial success)"
                                                        }
                                                    },
                                                    "required": [
                                                        "nb_pages_modified",
                                                        "nb_products_placed",
                                                        "products"
                                                    ],
                                                    "description": "Batch placement result"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "The parameter \"pages\" must be not empty",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "pages": {
                                        "type": "array",
                                        "description": "List of pages with products to place. Each page contains a page_num and a list of products. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "page_num": 1,
                                                "products": [
                                                    {
                                                        "asset_id": 638116,
                                                        "x_position": 10,
                                                        "y_position": 20,
                                                        "width": 60,
                                                        "height": 40,
                                                        "asset_template_id": 22
                                                    },
                                                    {
                                                        "node_id": 12345,
                                                        "block_id": 789
                                                    }
                                                ]
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "page_num": {
                                                    "type": "integer",
                                                    "description": "Page number (1-based index). First page is 1"
                                                },
                                                "products": {
                                                    "type": "array",
                                                    "description": "List of products to place on this page. (Array of objects - see example for structure)",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "node_id": {
                                                                "type": "integer",
                                                                "description": "Product node ID already present as a child of the page. Mutually exclusive with asset_id — provide one or the other. Use POST /api/v3/publishing/page-details/ to list products in the page (see blocks[].node_id).",
                                                                "example": 12345
                                                            },
                                                            "asset_id": {
                                                                "type": "integer",
                                                                "description": "Product asset ID from the repository (unique database identifier). If the product is not already in the page tree, it will be added automatically. Mutually exclusive with node_id. Use POST /api/v3/get-asset/by-search/ to find product asset IDs.",
                                                                "example": 638116
                                                            },
                                                            "block_id": {
                                                                "type": "integer",
                                                                "description": "ID of an existing block (empty_block or product_block) to assign the product to. If omitted, a new block is created using x_position, y_position, width, height parameters. Use POST /api/v3/publishing/page-details/ to list existing blocks and their IDs (see blocks[].id).",
                                                                "example": 789
                                                            },
                                                            "asset_template_id": {
                                                                "type": "integer",
                                                                "description": "Product template ID for rendering. If omitted, uses the default template configured on the publication project; if none, falls back to the library default template. There is no dedicated API endpoint to list templates; inspect existing blocks via POST /api/v3/publishing/page-details (profil_id and profil_label fields).",
                                                                "example": 22
                                                            },
                                                            "x_position": {
                                                                "type": "integer",
                                                                "description": "X position in mm from the left edge of the page. Must be a positive value. Required if block_id is not provided."
                                                            },
                                                            "y_position": {
                                                                "type": "integer",
                                                                "description": "Y position in mm from the top edge of the page. Must be a positive value. Required if block_id is not provided."
                                                            },
                                                            "width": {
                                                                "type": "integer",
                                                                "description": "Block width in mm. Must be a positive value. Required if block_id is not provided."
                                                            },
                                                            "height": {
                                                                "type": "integer",
                                                                "description": "Block height in mm. Must be a positive value. Required if block_id is not provided."
                                                            },
                                                            "rank": {
                                                                "type": "integer",
                                                                "description": "Block placement order (z-index). Higher values display on top of lower values. Default: 0."
                                                            },
                                                            "form_datas": {
                                                                "type": "object",
                                                                "description": "Form data as {attribute_id: \"value\"} pairs. All values must be strings, even for numeric attributes. Use POST /api/v3/attributes/list with class_id to get available attribute IDs."
                                                            }
                                                        },
                                                        "title": "Item"
                                                    }
                                                }
                                            },
                                            "required": [
                                                "page_num",
                                                "products"
                                            ],
                                            "title": "Item"
                                        }
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "pages"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/add-empty-block/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Add an empty block to a page",
                "description": "## Purpose\n\nCreates an empty placeholder block on a publication page. Empty blocks reserve space for future product placement.\n\n## When to use\n\nUse this endpoint to create placeholder blocks that will later receive products via place-product-in-page.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Empty block creation response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Block created successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "block_id": {
                                                            "type": "integer",
                                                            "example": 12345,
                                                            "description": "ID of the created block"
                                                        },
                                                        "page_num": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Page number where the block was added"
                                                        }
                                                    },
                                                    "required": [
                                                        "block_id",
                                                        "page_num"
                                                    ],
                                                    "description": "Created block information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 3 = system error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Page does not exist",
                                                        "Block already exists at this position",
                                                        "Not authorized to modify this page",
                                                        "Block could not be created"
                                                    ],
                                                    "example": "Page does not exist",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "page_num": {
                                        "type": "integer",
                                        "description": "Page number (1-based). Use POST /api/v3/publishing/pages to list available pages.",
                                        "example": 1
                                    },
                                    "x_position": {
                                        "type": "integer",
                                        "description": "X position in mm from the left edge of the page.",
                                        "example": 10
                                    },
                                    "y_position": {
                                        "type": "integer",
                                        "description": "Y position in mm from the top edge of the page.",
                                        "example": 20
                                    },
                                    "width": {
                                        "type": "integer",
                                        "description": "Block width in mm. Must be a positive value.",
                                        "example": 80
                                    },
                                    "height": {
                                        "type": "integer",
                                        "description": "Block height in mm. Must be a positive value.",
                                        "example": 100
                                    },
                                    "rank": {
                                        "type": "integer",
                                        "description": "Block placement order (z-index). Higher values display on top. Default: 0.",
                                        "example": 0
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "page_num",
                                    "x_position",
                                    "y_position",
                                    "width",
                                    "height"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/add-text-block/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Add a text block to a page",
                "description": "## Purpose\n\nCreates a text block with HTML content on a publication page. Text blocks display formatted content independently of products.\n\n## When to use\n\nUse this endpoint for adding titles, descriptions, promotional text, or any standalone HTML content to a page.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Text block creation response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Block created successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "block_id": {
                                                            "type": "integer",
                                                            "example": 12345,
                                                            "description": "ID of the created block"
                                                        },
                                                        "page_num": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Page number where the block was added"
                                                        }
                                                    },
                                                    "required": [
                                                        "block_id",
                                                        "page_num"
                                                    ],
                                                    "description": "Created block information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 3 = system error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Page does not exist",
                                                        "Block already exists at this position",
                                                        "Not authorized to modify this page",
                                                        "Block could not be created"
                                                    ],
                                                    "example": "Page does not exist",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "page_num": {
                                        "type": "integer",
                                        "description": "Page number (1-based). Use POST /api/v3/publishing/pages to list available pages.",
                                        "example": 1
                                    },
                                    "x_position": {
                                        "type": "integer",
                                        "description": "X position in mm from the left edge of the page.",
                                        "example": 10
                                    },
                                    "y_position": {
                                        "type": "integer",
                                        "description": "Y position in mm from the top edge of the page.",
                                        "example": 20
                                    },
                                    "width": {
                                        "type": "integer",
                                        "description": "Block width in mm. Must be a positive value.",
                                        "example": 80
                                    },
                                    "height": {
                                        "type": "integer",
                                        "description": "Block height in mm. Must be a positive value.",
                                        "example": 30
                                    },
                                    "html_content": {
                                        "type": "string",
                                        "description": "HTML content for the text block. Supports basic formatting tags.",
                                        "example": "<h1>Section Title</h1><p>Description text</p>"
                                    },
                                    "section_id": {
                                        "type": "integer",
                                        "description": "Section ID for text block categorization. Sections are configured at library administration level. There is no API endpoint to list sections; contact your administrator.",
                                        "example": 10
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "page_num",
                                    "x_position",
                                    "y_position",
                                    "width",
                                    "height",
                                    "html_content"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/add-notepad/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Add a notepad to a page",
                "description": "## Purpose\n\nCreates a notepad element on a publication page. Notepads are annotation elements for collaboration (pins, simple notes).\n\n## Notepad Types\n\n- `attention_pin_note`: Orange pin marker for attention items\n- `question_pin_note`: Blue pin marker for questions\n- `information_pin_note`: Green pin marker for information\n- `simple_note`: Full-page simple note (positions ignored)\n\n## Position Requirements\n\nFor all pin types, x_position, y_position, width, and height are required.\nFor `simple_note` type, these parameters are ignored as simple notes are page-level annotations.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Notepad creation response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Notepad created successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "block_id": {
                                                            "type": "integer",
                                                            "example": 12345,
                                                            "description": "ID of the created notepad block"
                                                        },
                                                        "page_num": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "Page number where the notepad was added"
                                                        },
                                                        "notepad_type": {
                                                            "type": "string",
                                                            "example": "attention_pin",
                                                            "description": "Type of notepad created"
                                                        }
                                                    },
                                                    "required": [
                                                        "block_id",
                                                        "page_num",
                                                        "notepad_type"
                                                    ],
                                                    "description": "Created notepad information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 3 = system error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Page does not exist",
                                                        "Not authorized to modify this page",
                                                        "Notepad could not be created",
                                                        "Parameter 'x_position' is required for notepad type 'attention_pin'"
                                                    ],
                                                    "example": "Page does not exist",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "page_num": {
                                        "type": "integer",
                                        "description": "Page number (1-based). Use POST /api/v3/publishing/pages to list available pages.",
                                        "example": 1
                                    },
                                    "notepad_type": {
                                        "type": "string",
                                        "description": "Notepad type. For \"simple_note\", positions are ignored.",
                                        "enum": [
                                            "attention_pin_note",
                                            "question_pin_note",
                                            "information_pin_note",
                                            "simple_note"
                                        ],
                                        "example": "attention_pin_note"
                                    },
                                    "html_content": {
                                        "type": "string",
                                        "description": "HTML content for the notepad block. Supports basic formatting tags.",
                                        "example": "<p>Please review this section</p>"
                                    },
                                    "x_position": {
                                        "type": "integer",
                                        "description": "X position in mm (required except for simple_note type)",
                                        "example": 50
                                    },
                                    "y_position": {
                                        "type": "integer",
                                        "description": "Y position in mm (required except for simple_note type)",
                                        "example": 100
                                    },
                                    "width": {
                                        "type": "integer",
                                        "description": "Width in mm (required except for simple_note type)",
                                        "example": 8
                                    },
                                    "height": {
                                        "type": "integer",
                                        "description": "Height in mm (required except for simple_note type)",
                                        "example": 8
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "page_num",
                                    "notepad_type",
                                    "html_content"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/unassign-product-from-block/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Remove a product from a block",
                "description": "## Purpose\n\nRemoves the product assignment from a product block, converting it back to an empty block. Associated form data is preserved.\n\n## When to use\n\nUse this endpoint to:\n- Clear a product block without deleting it\n- Convert a product block back to a placeholder\n- Prepare a block for a different product assignment\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Product unassignment response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Product unassigned from block successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "block_id": {
                                                            "type": "integer",
                                                            "example": 12345,
                                                            "description": "Block ID"
                                                        },
                                                        "previous_type": {
                                                            "type": "string",
                                                            "example": "product_block",
                                                            "description": "Previous block type before unassignment"
                                                        },
                                                        "new_type": {
                                                            "type": "string",
                                                            "example": "empty_block",
                                                            "description": "New block type after unassignment"
                                                        },
                                                        "previous_node_id": {
                                                            "type": "integer",
                                                            "example": 5678,
                                                            "description": "Previously assigned product node ID"
                                                        }
                                                    },
                                                    "required": [
                                                        "block_id",
                                                        "previous_type",
                                                        "new_type"
                                                    ],
                                                    "description": "Unassignment result"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 3 = system error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Block not found",
                                                        "Block is not a product block",
                                                        "Block has no product assigned",
                                                        "Not authorized to modify this block"
                                                    ],
                                                    "example": "Block not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "block_id": {
                                        "type": "integer",
                                        "description": "Block ID to unassign product from. Use POST /api/v3/publishing/page-details with project_node_id and page_num to get block IDs.",
                                        "example": 12345
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "block_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/details/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Get publication details",
                "description": "## Purpose\n\nReturns complete details of a publication including dimensions, page count, display mode, and associated themes.\n\n## When to use\n\nUse this endpoint to:\n- Get an overview of a publication before working with its pages\n- Retrieve publication metadata (dimensions, page count)\n- List all themes configured for a publication\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication details response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status_code": {
                                            "type": "integer",
                                            "example": 1
                                        },
                                        "status_message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "result": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "description": "Publication ID"
                                                },
                                                "node_id": {
                                                    "type": "integer",
                                                    "description": "Publication node ID"
                                                },
                                                "label": {
                                                    "type": "string",
                                                    "description": "Publication name"
                                                },
                                                "project_type": {
                                                    "type": "string",
                                                    "enum": [
                                                        "publication",
                                                        "catalog_with_pagination"
                                                    ],
                                                    "description": "Project type"
                                                },
                                                "nb_pages": {
                                                    "type": "integer",
                                                    "description": "Total number of pages"
                                                },
                                                "page_width": {
                                                    "type": "integer",
                                                    "description": "Page width in mm"
                                                },
                                                "page_height": {
                                                    "type": "integer",
                                                    "description": "Page height in mm"
                                                },
                                                "display_mode": {
                                                    "type": "string",
                                                    "enum": [
                                                        "single",
                                                        "double"
                                                    ],
                                                    "description": "Page display mode: single (one page at a time) or double (two-page spread)"
                                                },
                                                "created_at": {
                                                    "type": "string",
                                                    "description": "Creation date"
                                                },
                                                "themes": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "color": {
                                                                "type": "string"
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/pages/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Get publication pages list",
                "description": "## Purpose\n\nReturns a paginated list of pages in a publication with their status and block count.\n\n## When to use\n\nUse this endpoint to:\n- List all pages of a publication\n- Get page status and block counts\n- Navigate through a publication structure\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Pages list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status_code": {
                                            "type": "integer",
                                            "example": 1
                                        },
                                        "status_message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "result": {
                                            "type": "object",
                                            "properties": {
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of pages"
                                                },
                                                "page": {
                                                    "type": "integer",
                                                    "description": "Current pagination page"
                                                },
                                                "limit": {
                                                    "type": "integer",
                                                    "description": "Results per page"
                                                },
                                                "pages": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "page_number": {
                                                                "type": "integer"
                                                            },
                                                            "node_id": {
                                                                "type": "integer"
                                                            },
                                                            "asset_id": {
                                                                "type": "integer"
                                                            },
                                                            "status_id": {
                                                                "type": "integer"
                                                            },
                                                            "status_label": {
                                                                "type": "string"
                                                            },
                                                            "blocks_count": {
                                                                "type": "integer"
                                                            },
                                                            "themes": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object"
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "page": {
                                        "type": "integer",
                                        "description": "Pagination page number for API results (NOT the publication page number). Default: 1. Use together with the \"limit\" parameter to paginate through the list of publication pages.",
                                        "example": 1
                                    },
                                    "limit": {
                                        "type": "integer",
                                        "description": "Results per page (default: 20, max: 100)",
                                        "example": 20
                                    },
                                    "include_themes": {
                                        "type": "boolean",
                                        "description": "Include themes for each page (default: false)",
                                        "example": false
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/publishing/page-details/": {
            "post": {
                "tags": [
                    "publishing"
                ],
                "summary": "Get page details with blocks",
                "description": "## Purpose\n\nReturns complete details of a publication page including themes and all blocks with their positions, content, and metadata.\n\n## When to use\n\nUse this endpoint to:\n- Get all blocks on a specific page with their complete details\n- View block positions and dimensions for layout analysis\n- See which products are assigned to blocks with their templates and forms\n- Access form data values for product blocks\n- Track modification history (user, date, version)\n- Retrieve HTML content for text blocks and notes\n- Identify note hierarchies (parent-child relationships for replies)\n- Get page themes and status\n\n## Block type specificity\n\nDifferent block types return different fields:\n- **product_block**: includes node_id, template_id, template_label, form_id, form_datas\n- **text_block**: includes html_content\n- **note types**: includes html_content and parent_id (if reply to another note)\n- **empty_block**: basic positioning fields only\n\nOnly relevant fields are returned for each block type (no null values for unsupported fields).\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Page details response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status_code": {
                                            "type": "integer",
                                            "example": 1
                                        },
                                        "status_message": {
                                            "type": "string",
                                            "example": "Success"
                                        },
                                        "result": {
                                            "type": "object",
                                            "properties": {
                                                "page_number": {
                                                    "type": "integer"
                                                },
                                                "node_id": {
                                                    "type": "integer"
                                                },
                                                "asset_id": {
                                                    "type": "integer"
                                                },
                                                "status_id": {
                                                    "type": "integer"
                                                },
                                                "status_label": {
                                                    "type": "string"
                                                },
                                                "themes": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer"
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "color": {
                                                                "type": "string"
                                                            }
                                                        }
                                                    }
                                                },
                                                "blocks": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer",
                                                                "description": "Unique identifier of the block in the publication page"
                                                            },
                                                            "type": {
                                                                "type": "string",
                                                                "description": "Block type: product_block (contains product), empty_block (placeholder), text_block (HTML content), or note types (annotations with possible replies)"
                                                            },
                                                            "x_position": {
                                                                "type": "integer",
                                                                "description": "Horizontal position of the block on the page in millimeters from the left edge"
                                                            },
                                                            "y_position": {
                                                                "type": "integer",
                                                                "description": "Vertical position of the block on the page in millimeters from the top edge"
                                                            },
                                                            "width": {
                                                                "type": "integer",
                                                                "description": "Width of the block in millimeters"
                                                            },
                                                            "height": {
                                                                "type": "integer",
                                                                "description": "Height of the block in millimeters"
                                                            },
                                                            "user_id": {
                                                                "type": "integer",
                                                                "description": "ID of the user who last modified the block. Use POST /api/v3/assets/read/ with class_id=99 to get user details."
                                                            },
                                                            "user_label": {
                                                                "type": "string",
                                                                "description": "Display name of the user who last modified the block"
                                                            },
                                                            "modification_date": {
                                                                "type": "string",
                                                                "description": "Last modification date in ISO 8601 format (YYYY-MM-DD HH:MM:SS)"
                                                            },
                                                            "history_id": {
                                                                "type": "integer",
                                                                "description": "Version ID in the block history, used for tracking changes and rollback operations"
                                                            },
                                                            "node_id": {
                                                                "type": "integer",
                                                                "description": "Product node ID (only for product_block type). Use POST /api/v3/repository/node-content/ to get product details."
                                                            },
                                                            "template_id": {
                                                                "type": "integer",
                                                                "description": "Product template/gabarit ID (only for product_block type). Use POST /api/v3/templates/list/ to get available templates."
                                                            },
                                                            "template_label": {
                                                                "type": "string",
                                                                "description": "Product template/gabarit display name (only for product_block type with template assigned)"
                                                            },
                                                            "form_id": {
                                                                "type": "integer",
                                                                "description": "Form instance ID containing attribute values (only for product_block type with form assigned)"
                                                            },
                                                            "form_datas": {
                                                                "type": "object",
                                                                "description": "Form attribute values as key-value pairs where keys are attribute IDs and values are their content (only for product_block type with form assigned). Use POST /api/v3/attributes/list to get attribute definitions."
                                                            },
                                                            "html_content": {
                                                                "type": "string",
                                                                "description": "HTML content of the block (only for text_block type and note types)"
                                                            },
                                                            "parent_id": {
                                                                "type": "integer",
                                                                "description": "ID of the parent note block if this is a reply to another note (only for note types with parent)"
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Publication project node ID. Use POST /api/v3/publishing/list with class_id to get available publication projects.",
                                        "example": 556
                                    },
                                    "page_num": {
                                        "type": "integer",
                                        "description": "Page number (1-based). Use POST /api/v3/publishing/pages to list available pages.",
                                        "example": 1
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "project_node_id",
                                    "page_num"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/queues/list/": {
            "post": {
                "tags": [
                    "queues"
                ],
                "summary": "List queue items",
                "description": "## Purpose\n\nReturns background job queue with execution status and optional filtering by status, type, and date range.\n\n## Use Cases\n\n- Monitor exports, imports, processes, and bulk operations\n- Track job progress and completion\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Queue items list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 15,
                                                            "description": "Number of items"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 12345,
                                                                        "description": "Queue ID"
                                                                    },
                                                                    "user_id": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "User who initiated the queue"
                                                                    },
                                                                    "type": {
                                                                        "type": "string",
                                                                        "example": "export",
                                                                        "description": "Queue type (export, importattrs, etc.)"
                                                                    },
                                                                    "type_description": {
                                                                        "type": "string",
                                                                        "example": "Export",
                                                                        "description": "Queue type label (Import, Export, Importing Attributes, etc.)"
                                                                    },
                                                                    "status": {
                                                                        "type": "string",
                                                                        "example": "in_progress",
                                                                        "enum": [
                                                                            "pending",
                                                                            "in_progress",
                                                                            "finished",
                                                                            "being_killed",
                                                                            "killed",
                                                                            "canceled",
                                                                            "queue_connection_error",
                                                                            "fatal_error_out_of_process",
                                                                            "machine_error",
                                                                            "fatal_error_in_process",
                                                                            "temporary_duplicate_prevention"
                                                                        ],
                                                                        "description": "Queue status"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "description": "Class ID (if queue executed by a process)",
                                                                        "example": 4
                                                                    },
                                                                    "process_id": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "example": 12345,
                                                                        "description": "Process ID (if queue executed by a process)"
                                                                    },
                                                                    "project_node_id": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "description": "Project Node ID",
                                                                        "example": 556
                                                                    },
                                                                    "creation_date": {
                                                                        "type": "string",
                                                                        "example": "2024-12-07T14:29:45+00:00",
                                                                        "description": "Creation date and time (ISO 8601 format)"
                                                                    },
                                                                    "start_date": {
                                                                        "type": "string",
                                                                        "example": "2024-12-07T14:30:45+00:00",
                                                                        "description": "Start date and time (ISO 8601 format)"
                                                                    },
                                                                    "end_date": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "2024-12-07T15:30:45+00:00",
                                                                        "description": "End date and time (ISO 8601 format) : null if not finished"
                                                                    },
                                                                    "attempts_count": {
                                                                        "type": "integer",
                                                                        "example": 1,
                                                                        "description": "Number of attempts"
                                                                    },
                                                                    "result": {
                                                                        "type": "object",
                                                                        "nullable": true,
                                                                        "properties": {
                                                                            "totalResults": {
                                                                                "type": "integer",
                                                                                "example": 50,
                                                                                "description": "Total results"
                                                                            },
                                                                            "nb": {
                                                                                "type": "integer",
                                                                                "example": 49,
                                                                                "description": "Number of items processed"
                                                                            }
                                                                        },
                                                                        "description": "Results information"
                                                                    },
                                                                    "notification_sent": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "example": 1,
                                                                        "description": "Notification sent"
                                                                    },
                                                                    "file_info": {
                                                                        "type": "object",
                                                                        "nullable": true,
                                                                        "properties": {
                                                                            "file": {
                                                                                "type": "string",
                                                                                "example": "export_20250901_120000.csv",
                                                                                "description": "Generated filename"
                                                                            },
                                                                            "extension": {
                                                                                "type": "string",
                                                                                "example": "csv",
                                                                                "description": "File extension"
                                                                            },
                                                                            "size": {
                                                                                "type": "integer",
                                                                                "example": 10000,
                                                                                "description": "File size in bytes"
                                                                            },
                                                                            "file_url": {
                                                                                "type": "string",
                                                                                "example": "https://my-afineo.com/gallery/global/dl/files/export_20250901_120000.csv",
                                                                                "description": "Direct download URL for the file"
                                                                            }
                                                                        },
                                                                        "description": "File information (only present for finished queues that generated a file)"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "user_id",
                                                                    "type",
                                                                    "type_description",
                                                                    "status",
                                                                    "creation_date",
                                                                    "start_date",
                                                                    "end_date",
                                                                    "attempts_count"
                                                                ],
                                                                "description": "Queue information"
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ],
                                                    "description": "Queue list"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = validation failed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Invalid parameters or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "array",
                                        "description": "Filter by queue statuses: \"pending\" (waiting), \"in_progress\" (running), \"finished\" (completed), \"killed\" (stopped), \"canceled\" (cancelled by user), or error states.",
                                        "example": [
                                            "pending",
                                            "in_progress"
                                        ],
                                        "items": {
                                            "type": "string",
                                            "enum": [
                                                "pending",
                                                "in_progress",
                                                "finished",
                                                "being_killed",
                                                "killed",
                                                "canceled",
                                                "queue_connection_error",
                                                "fatal_error_out_of_process",
                                                "machine_error",
                                                "fatal_error_in_process",
                                                "temporary_duplicate_prevention"
                                            ]
                                        }
                                    },
                                    "type": {
                                        "type": "string",
                                        "description": "Filter by queue type. Use POST /api/v3/queues/types to get all available types. Common values: \"Import\", \"Export\", \"DeleteFiche\", \"DeleteNode\", \"Process\", \"PublishEasyCatalog\".",
                                        "example": "Process"
                                    },
                                    "start_date": {
                                        "type": "object",
                                        "description": "Start date of the element. Can be bounded using \"min\" and \"max\"",
                                        "example": {
                                            "min": "2025-09-20T14:00:00Z",
                                            "max": "2025-09-21T18:00:00Z"
                                        },
                                        "properties": {
                                            "min": {
                                                "type": "string",
                                                "description": "Minimum start date (ISO 8601 format)",
                                                "example": "2025-09-20T14:00:00Z"
                                            },
                                            "max": {
                                                "type": "string",
                                                "description": "Maximum start date (ISO 8601 format)",
                                                "example": "2025-09-21T18:00:00Z"
                                            }
                                        }
                                    },
                                    "end_date": {
                                        "type": "object",
                                        "description": "End date of the element. Can be bounded using \"min\" and \"max\"",
                                        "example": {
                                            "min": "2025-11-14T08:30:00Z"
                                        },
                                        "properties": {
                                            "min": {
                                                "type": "string",
                                                "description": "Minimum end date (ISO 8601 format)",
                                                "example": "2025-11-20T14:00:00Z"
                                            },
                                            "max": {
                                                "type": "string",
                                                "description": "Maximum end date (ISO 8601 format)",
                                                "example": "2025-11-21T18:00:00Z"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/queues/get/": {
            "post": {
                "tags": [
                    "queues"
                ],
                "summary": "Get queue details",
                "description": "## Purpose\n\nReturns detailed queue information by ID including file download URL for finished jobs.\n\n## Permissions\n\n- Admin users: Access any queue\n- Regular users: Own queues only\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Queue details response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 12345,
                                                            "description": "Queue ID"
                                                        },
                                                        "user_id": {
                                                            "type": "integer",
                                                            "example": 1,
                                                            "description": "User who initiated the queue"
                                                        },
                                                        "type_id": {
                                                            "type": "string",
                                                            "example": "export",
                                                            "description": "Queue type"
                                                        },
                                                        "type_label": {
                                                            "type": "string",
                                                            "example": "Export",
                                                            "description": "Queue type label"
                                                        },
                                                        "status_id": {
                                                            "type": "integer",
                                                            "example": 3,
                                                            "description": "Queue status (1=pending, 2=in progress, 3=finished, etc.)"
                                                        },
                                                        "status_label": {
                                                            "type": "string",
                                                            "example": "Finished",
                                                            "description": "Human-readable status label"
                                                        },
                                                        "creation_date": {
                                                            "type": "string",
                                                            "example": "2024-12-07T14:29:45+00:00",
                                                            "description": "Creation date (ISO 8601)"
                                                        },
                                                        "start_date": {
                                                            "type": "string",
                                                            "example": "2024-12-07T14:30:45+00:00",
                                                            "description": "Start date (ISO 8601)"
                                                        },
                                                        "end_date": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "2024-12-07T15:30:45+00:00",
                                                            "description": "End date (ISO 8601)"
                                                        },
                                                        "file_info": {
                                                            "type": "object",
                                                            "nullable": true,
                                                            "properties": {
                                                                "file": {
                                                                    "type": "string",
                                                                    "example": "export_20250901_120000.csv",
                                                                    "description": "Filename"
                                                                },
                                                                "extension": {
                                                                    "type": "string",
                                                                    "example": "csv",
                                                                    "description": "File extension"
                                                                },
                                                                "size": {
                                                                    "type": "integer",
                                                                    "example": 10000,
                                                                    "description": "File size in bytes"
                                                                },
                                                                "file_url": {
                                                                    "type": "string",
                                                                    "example": "https://my-afineo.com/gallery/global/dl/files/export_20250901_120000.csv",
                                                                    "description": "Direct download URL"
                                                                }
                                                            },
                                                            "description": "File information (only for finished queues with generated files)"
                                                        }
                                                    },
                                                    "description": "Queue details"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = not found, 2 = validation error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Queue not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Queue ID. Use POST /api/v3/queues/list to get available queues.",
                                        "example": 12345
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/queues/types/": {
            "post": {
                "tags": [
                    "queues"
                ],
                "summary": "List queue types",
                "description": "## Purpose\n\nReturns available background job categories (Import, Export, Process, Delete) for filtering queue lists.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Queue types list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 15,
                                                            "description": "Number of items"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "type": {
                                                                        "type": "string",
                                                                        "example": "importattr",
                                                                        "description": "Queue type"
                                                                    },
                                                                    "description": {
                                                                        "type": "string",
                                                                        "example": "Importing attributes",
                                                                        "description": "Detailed description of the queue type"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "type",
                                                                    "description"
                                                                ],
                                                                "description": "Queue type information"
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ],
                                                    "description": "List of available queue types",
                                                    "example": {
                                                        "results_total": 51,
                                                        "items": [
                                                            {
                                                                "type": "Import",
                                                                "description": "Data import"
                                                            },
                                                            {
                                                                "type": "Export",
                                                                "description": "Data export"
                                                            },
                                                            {
                                                                "type": "Process",
                                                                "description": "Process execution"
                                                            }
                                                        ]
                                                    }
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Access denied or system error",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/create/repository/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Create asset in repository",
                "description": "## Purpose\n\nCreates a new master data record in repository with initial attribute values.\n\n## Attribute Lists\n\n- `attribute_list_simple`: Simple attributes (text, number, date, single dropdown)\n- `attribute_list_multiple`: Multiple attributes (associated data, dynamic, multiple dropdown)\n\n## Additional Information\n\n### Parameter \"attribute_list_simple\"\n\n#### Updating a simple dropdown list attribute\n\nTo update a **simple** dropdown list attribute, you need to send the element.\nIt is possible to insert either the identifier, the code, or the label — all three options are valid.\n\n```json\n{\"attribute_id\":1113,\"value\":\"1234\"}\n{\"attribute_id\":1113,\"value\":\"OPTION_CODE_4\"}\n{\"attribute_id\":1113,\"value\":\"Option label 2\"}\n```\n\n#### For other attribute types\n\nFor attributes with specific formatting (example: a price), it is possible to send a decimal number separated by either a comma or a dot — both will work.\nFor date attributes, the possible formats are as follows :\n- timestamp\n- ISO 8601 format : 2023-09-14T15:04:00.000Z\n- English format separated by \"-\" (with or without time) : 2017-12-13 or 2017-12-13 15:05:13\n- French format separated by \"-\" or \"/\" (with or without time) : 13-12-2017 or 13/12/2017 or 13-12-2017 15:05:13 or 13/12/2017 15:05:13\n- Timezone format with or without Greenwich time : 2017:12:13 10:15:59+02:00 or 2017:12:13 10:15:59\n\n### Parameter \"attribute_list_multiple\"\n\n#### Updating a associated data attribute\n\nTo update a related data attribute, you need to send an array containing one or more assets id :\n\n```json\n{\"attribute_id\":1113,\"value\":[1111]}\n{\"attribute_id\":1113,\"value\":[2222, 3333, 4444]}\n```\n\nIf you want to add one or more associated assets using the value of an attribute instead of the asset id (as in an import), this is possible using the \"key\" option :\n\n```json\n{\"attribute_id\":1113,\"key\":1284,\"value\":[\"asset\"]}\n{\"attribute_id\":1113,\"key\":1284,\"value\":[\"asset 1\", \"asset 2\"]}\n```\n\n#### Updating a multiple dropdown list attribute\nTo update a multiple dropdown list attribute, you also need to send an array containing one or more elements.\nIt is possible to insert either the identifier, the code, or the label — all three options are valid.\n\n```json\n{\"attribute_id\":1113,\"value\":[\"Option\"]}\n{\"attribute_id\":1113,\"value\":[1234, \"OPTION_CODE_4\", \"Option label 2\"]}\n```\n\n**Note :** If the code or the label of the desired option (for both simple and multiple dropdown lists) is an integer and corresponds to the identifier of another option in the same list, that option will be taken into account.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Asset creation repository response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "asset_id": {
                                                            "type": "integer",
                                                            "example": 43178,
                                                            "description": "Asset ID"
                                                        },
                                                        "node_id": {
                                                            "type": "integer",
                                                            "example": 0,
                                                            "description": "Node ID"
                                                        },
                                                        "asset_id_duplicate": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 45177,
                                                            "description": "Asset ID for duplication"
                                                        }
                                                    },
                                                    "required": [
                                                        "asset_id",
                                                        "node_id"
                                                    ],
                                                    "description": "Return information about the created asset"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "The value for the parameter \"type_id\" (456) is invalid",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "type_id": {
                                        "type": "integer",
                                        "description": "Asset type ID. Use POST /api/v3/types/list with class_id to get available types.",
                                        "example": 89
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Parent node ID in the repository tree. Set to 0 to create the asset at the root of the repository. Use POST /api/v3/get-asset/by-search/repository with class_id and parent_id=0 to browse the repository tree and find existing parent nodes.",
                                        "example": 4350
                                    },
                                    "version_id": {
                                        "type": "integer",
                                        "description": "Version ID. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    },
                                    "attribute_list_simple": {
                                        "type": "array",
                                        "description": "List of attributes to be filled in, only simple attributes. List of properties to apply : \"attribute_id\", \"value\", \"suffix_value\" (optional) (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "attribute_id": 231,
                                                "value": "3-seater leather sofa"
                                            },
                                            {
                                                "attribute_id": 658,
                                                "value": "1234"
                                            },
                                            {
                                                "attribute_id": 659,
                                                "value": "100",
                                                "suffix_value": "EUR"
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute_id": {
                                                    "type": "integer",
                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes."
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "Value to set. Format depends on attribute type (text, date, list option ID/code/label)."
                                                },
                                                "suffix_value": {
                                                    "type": "string",
                                                    "description": "Suffix value for attributes with dropdown suffix (input, select-items, price). Accepts ID, code, or label."
                                                }
                                            },
                                            "required": [
                                                "attribute_id",
                                                "value"
                                            ],
                                            "title": "Item"
                                        }
                                    },
                                    "attribute_list_multiple": {
                                        "type": "array",
                                        "description": "List of attributes to be filled in, only multiple attributes (associated data, dynamic attribute, multiple drop-down list). List of properties to apply : \"attribute_id\", \"value\", \"key\" (optional) (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "attribute_id": 724,
                                                "value": [
                                                    "Accessory A"
                                                ]
                                            },
                                            {
                                                "attribute_id": 660,
                                                "value": [
                                                    "Label 1"
                                                ],
                                                "key": 2749
                                            },
                                            {
                                                "attribute_id": 659,
                                                "value": [
                                                    1234,
                                                    2345,
                                                    4567
                                                ]
                                            },
                                            {
                                                "attribute_id": 660,
                                                "value": [
                                                    "Label 1",
                                                    "Label 2",
                                                    "Label 3"
                                                ],
                                                "key": 2749
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute_id": {
                                                    "type": "integer",
                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes."
                                                },
                                                "value": {
                                                    "type": "array",
                                                    "description": "Value to set. Format depends on attribute type (text, date, list option ID/code/label).",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "key": {
                                                    "type": "integer",
                                                    "description": "With this property, you can add one or more associated assets using the value of an attribute and not with the asset ID (as with import) - only for associated data attribute"
                                                }
                                            },
                                            "required": [
                                                "attribute_id",
                                                "value"
                                            ],
                                            "title": "Item"
                                        }
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "type_id",
                                    "parent_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/create/node/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Create node in project",
                "description": "## Purpose\n\nCreates a new contextualized node directly in project (not linked to repository).\n\n## Additional Information\n\n### Parameter \"attribute_list_simple\"\n\n#### Updating a simple dropdown list attribute\n\nTo update a **simple** dropdown list attribute, you need to send the element.\nIt is possible to insert either the identifier, the code, or the label — all three options are valid.\n\n```json\n{\"attribute_id\":1113,\"value\":\"1234\"}\n{\"attribute_id\":1113,\"value\":\"OPTION_CODE_4\"}\n{\"attribute_id\":1113,\"value\":\"Option label 2\"}\n```\n\n#### For other attribute types\n\nFor attributes with specific formatting (example: a price), it is possible to send a decimal number separated by either a comma or a dot — both will work.\nFor date attributes, the possible formats are as follows :\n- timestamp\n- ISO 8601 format : 2023-09-14T15:04:00.000Z\n- English format separated by \"-\" (with or without time) : 2017-12-13 or 2017-12-13 15:05:13\n- French format separated by \"-\" or \"/\" (with or without time) : 13-12-2017 or 13/12/2017 or 13-12-2017 15:05:13 or 13/12/2017 15:05:13\n- Timezone format with or without Greenwich time : 2017:12:13 10:15:59+02:00 or 2017:12:13 10:15:59\n\n### Parameter \"attribute_list_multiple\"\n\n#### Updating a associated data attribute\n\nTo update a related data attribute, you need to send an array containing one or more assets id :\n\n```json\n{\"attribute_id\":1113,\"value\":[1111]}\n{\"attribute_id\":1113,\"value\":[2222, 3333, 4444]}\n```\n\nIf you want to add one or more associated assets using the value of an attribute instead of the asset id (as in an import), this is possible using the \"key\" option :\n\n```json\n{\"attribute_id\":1113,\"key\":1284,\"value\":[\"asset\"]}\n{\"attribute_id\":1113,\"key\":1284,\"value\":[\"asset 1\", \"asset 2\"]}\n```\n\n#### Updating a multiple dropdown list attribute\nTo update a multiple dropdown list attribute, you also need to send an array containing one or more elements.\nIt is possible to insert either the identifier, the code, or the label — all three options are valid.\n\n```json\n{\"attribute_id\":1113,\"value\":[\"Option\"]}\n{\"attribute_id\":1113,\"value\":[1234, \"OPTION_CODE_4\", \"Option label 2\"]}\n```\n\n**Note :** If the code or the label of the desired option (for both simple and multiple dropdown lists) is an integer and corresponds to the identifier of another option in the same list, that option will be taken into account.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Asset creation node response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "asset_id": {
                                                            "type": "integer",
                                                            "example": 0,
                                                            "description": "Asset ID"
                                                        },
                                                        "node_id": {
                                                            "type": "integer",
                                                            "example": 49324,
                                                            "description": "Node ID"
                                                        },
                                                        "asset_id_duplicate": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 45177,
                                                            "description": "Asset ID for duplication"
                                                        }
                                                    },
                                                    "required": [
                                                        "asset_id",
                                                        "node_id"
                                                    ],
                                                    "description": "Return information about the created asset"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "The value for the parameter \"type_id\" (456) is invalid",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "type_id": {
                                        "type": "integer",
                                        "description": "Asset type ID. Use POST /api/v3/types/list with class_id to get available types.",
                                        "example": 89
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Parent node ID in the project tree. Set to 0 to create the asset at the root of the project. Use POST /api/v3/get-asset/by-search/node with class_id and project_node_id to browse the project tree and find existing parent nodes.",
                                        "example": 4350
                                    },
                                    "version_id": {
                                        "type": "integer",
                                        "description": "Version ID. Use POST /api/v3/administration/versions/list with class_id to get available versions.",
                                        "example": 1
                                    },
                                    "attribute_list_simple": {
                                        "type": "array",
                                        "description": "List of attributes to be filled in, only simple attributes. List of properties to apply : \"attribute_id\", \"value\", \"suffix_value\" (optional) (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "attribute_id": 231,
                                                "value": "3-seater leather sofa"
                                            },
                                            {
                                                "attribute_id": 658,
                                                "value": "1234"
                                            },
                                            {
                                                "attribute_id": 659,
                                                "value": "100",
                                                "suffix_value": "EUR"
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute_id": {
                                                    "type": "integer",
                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes."
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "Value to set. Format depends on attribute type (text, date, list option ID/code/label)."
                                                },
                                                "suffix_value": {
                                                    "type": "string",
                                                    "description": "Suffix value for attributes with dropdown suffix (input, select-items, price). Accepts ID, code, or label."
                                                }
                                            },
                                            "required": [
                                                "attribute_id",
                                                "value"
                                            ],
                                            "title": "Item"
                                        }
                                    },
                                    "attribute_list_multiple": {
                                        "type": "array",
                                        "description": "List of attributes to be filled in, only multiple attributes (associated data, dynamic attribute, multiple drop-down list). List of properties to apply : \"attribute_id\", \"value\", \"key\" (optional) (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "attribute_id": 724,
                                                "value": [
                                                    "Accessory A"
                                                ]
                                            },
                                            {
                                                "attribute_id": 660,
                                                "value": [
                                                    "Label 1"
                                                ],
                                                "key": 2749
                                            },
                                            {
                                                "attribute_id": 659,
                                                "value": [
                                                    1234,
                                                    2345,
                                                    4567
                                                ]
                                            },
                                            {
                                                "attribute_id": 660,
                                                "value": [
                                                    "Label 1",
                                                    "Label 2",
                                                    "Label 3"
                                                ],
                                                "key": 2749
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute_id": {
                                                    "type": "integer",
                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes."
                                                },
                                                "value": {
                                                    "type": "array",
                                                    "description": "Value to set. Format depends on attribute type (text, date, list option ID/code/label).",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "key": {
                                                    "type": "integer",
                                                    "description": "With this property, you can add one or more associated assets using the value of an attribute and not with the asset ID (as with import) - only for associated data attribute"
                                                }
                                            },
                                            "required": [
                                                "attribute_id",
                                                "value"
                                            ],
                                            "title": "Item"
                                        }
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "type_id",
                                    "parent_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/available-attributes-creation/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Get available attributes for creation",
                "description": "## Purpose\n\nReturns list of available attributes for a specific type to help build dynamic creation forms.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Attribute list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    },
                                                    "description": "Attribute list for creation (key = attribute ID, value = attribute label)"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (2 = error, 3 = no result)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "No results found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "type_id": {
                                        "type": "integer",
                                        "description": "Asset type ID. Use POST /api/v3/types/list with class_id to get available types.",
                                        "example": 89
                                    }
                                },
                                "required": [
                                    "type_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/update-status/repository/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Update repository asset status",
                "description": "## Purpose\n\nUpdates workflow status (LCA) of a repository asset. Changes propagate to all projects unless overridden.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Update status repository response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Status updated",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "You don't have the rights to update the status of this asset",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Asset ID. Use POST /api/v3/get-asset/by-search/repository to find assets and get their IDs.",
                                        "example": 5684
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "status_id": {
                                        "type": "integer",
                                        "description": "Status ID. Use POST /api/v3/permissions/statuses/list to get available statuses.",
                                        "example": 102
                                    }
                                },
                                "required": [
                                    "id",
                                    "class_id",
                                    "status_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/update-status/node/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Update project node status",
                "description": "## Purpose\n\nUpdates workflow status (LCA) of a project node. Optionally propagate to repository asset.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Update status node response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Status updated",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "The status of the asset is already the same as the one you want to set",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Node ID. Use POST /api/v3/get-asset/by-search/node to find nodes and get their IDs.",
                                        "example": 5684
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "status_id": {
                                        "type": "integer",
                                        "description": "Status ID. Use POST /api/v3/permissions/statuses/list to get available statuses.",
                                        "example": 102
                                    },
                                    "force_propagation_asset": {
                                        "type": "boolean",
                                        "description": "If set to true, the status will be propagated to the repository asset",
                                        "example": true
                                    }
                                },
                                "required": [
                                    "id",
                                    "class_id",
                                    "status_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/update-type/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Change asset type",
                "description": "## Purpose\n\nReclassifies asset to a different type within the same class.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Update type response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Asset type updated",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "You don't have the rights to update the type of this asset",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Asset ID. Use POST /api/v3/get-asset/by-search/repository to find assets and get their IDs.",
                                        "example": 5684
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "type_id": {
                                        "type": "integer",
                                        "description": "Asset type ID. Use POST /api/v3/types/list with class_id to get available types.",
                                        "example": 89
                                    }
                                },
                                "required": [
                                    "id",
                                    "class_id",
                                    "type_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/upload-file/repository/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Upload file to repository asset",
                "description": "## Purpose\n\nAttaches a physical file to a repository asset. File becomes available for all projects.\n\n## Content-Type\n\n**Important**: The request must be sent as `multipart/form-data`. The `file` field must include a `filename` with a valid extension (e.g. `filename=\"image.jpg\"`). The file extension is used to validate the file type against the allowed extensions configured for your application. Sending the file as raw binary without a filename will result in a \"This type of file is not allowed\" error.\n\n## Example with curl\n\n```bash\ncurl -X POST \"https://your-instance.afineo.io/api/v3/record-asset/upload-file_repository/\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  --form 'id=\"5684\"' \\\n  --form 'class_id=\"4\"' \\\n  --form 'file=@\"/path/to/image.jpg\"'\n```\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Upload file repository response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Creation done",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (2 = error, 3 = no action done)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "No action done",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Asset ID. Use POST /api/v3/get-asset/by-search/repository to find assets and get their IDs.",
                                        "example": 5684
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary",
                                        "description": "The file to upload. Must be sent as multipart/form-data with a filename including a valid extension (e.g. image.jpg). The extension is checked against the allowed file types configured for your application.",
                                        "example": "image.jpg"
                                    }
                                },
                                "required": [
                                    "id",
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/upload-file/node/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Upload file to project node",
                "description": "## Purpose\n\nAttaches a physical file to a project-specific node. File exists only in this project context.\n\n## Content-Type\n\n**Important**: The request must be sent as `multipart/form-data`. The `file` field must include a `filename` with a valid extension (e.g. `filename=\"image.jpg\"`). The file extension is used to validate the file type against the allowed extensions configured for your application. Sending the file as raw binary without a filename will result in a \"This type of file is not allowed\" error.\n\n## Example with curl\n\n```bash\ncurl -X POST \"https://your-instance.afineo.io/api/v3/record-asset/upload-file_node/\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  --form 'id=\"5684\"' \\\n  --form 'class_id=\"4\"' \\\n  --form 'file=@\"/path/to/image.jpg\"'\n```\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Upload file node response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Update done",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error, 3 = no action done)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "This type of file is not allowed",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Node ID. Use POST /api/v3/get-asset/by-search/node to find nodes and get their IDs.",
                                        "example": 5684
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "file": {
                                        "type": "string",
                                        "format": "binary",
                                        "description": "The file to upload. Must be sent as multipart/form-data with a filename including a valid extension (e.g. image.jpg). The extension is checked against the allowed file types configured for your application.",
                                        "example": "image.jpg"
                                    }
                                },
                                "required": [
                                    "id",
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/add-asset-to-project/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Add repository asset to project",
                "description": "## Purpose\n\nCreates a contextualized node from a repository asset in a project. Returns created node_id.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Add asset to project response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "node_id": {
                                                            "type": "integer",
                                                            "example": 4576,
                                                            "description": "Node ID"
                                                        }
                                                    },
                                                    "required": [
                                                        "node_id"
                                                    ],
                                                    "description": "Created node ID"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error, 3 = Aborted because this asset already exists in this node)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Asset does not exist or has been deleted",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "asset_id": {
                                        "type": "integer",
                                        "description": "Asset ID. Use POST /api/v3/get-asset/by-search/repository to find assets.",
                                        "example": 5684
                                    },
                                    "parent_node_id": {
                                        "type": "integer",
                                        "description": "Parent node ID. Use POST /api/v3/get-asset/by-search/node to find project nodes.",
                                        "example": 69852
                                    },
                                    "status_id": {
                                        "type": "integer",
                                        "description": "Status ID. Use POST /api/v3/permissions/statuses/list to get available statuses.",
                                        "example": 102
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "asset_id",
                                    "parent_node_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/move-node-in-project/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Move node in project",
                "description": "## Purpose\n\nMoves a node (and children) to a new parent location within the project.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Move node in project response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "node_id": {
                                                            "type": "integer",
                                                            "example": 4577,
                                                            "description": "Node ID"
                                                        }
                                                    },
                                                    "required": [
                                                        "node_id"
                                                    ],
                                                    "description": "Created node ID"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Node does not exist or has been deleted",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "node_id": {
                                        "type": "integer",
                                        "description": "Node ID. Use POST /api/v3/get-asset/by-search/node to find project nodes.",
                                        "example": 56845
                                    },
                                    "parent_node_id": {
                                        "type": "integer",
                                        "description": "Parent node ID. Use POST /api/v3/get-asset/by-search/node to find project nodes.",
                                        "example": 69852
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "node_id",
                                    "parent_node_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/copy-node-in-project/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Copy node in project",
                "description": "## Purpose\n\nDuplicates a node (and children) to a new location within the project. Returns new node_id.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Copy node in project response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "node_id": {
                                                            "type": "integer",
                                                            "example": 4578,
                                                            "description": "Node ID"
                                                        }
                                                    },
                                                    "required": [
                                                        "node_id"
                                                    ],
                                                    "description": "Created node ID"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error, 3 = Aborted because this asset already exists in this node)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Parent node does not exist or has been deleted",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "node_id": {
                                        "type": "integer",
                                        "description": "Node ID. Use POST /api/v3/get-asset/by-search/node to find project nodes.",
                                        "example": 56845
                                    },
                                    "parent_node_id": {
                                        "type": "integer",
                                        "description": "Parent node ID. Use POST /api/v3/get-asset/by-search/node to find project nodes.",
                                        "example": 69852
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "node_id",
                                    "parent_node_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/move-asset-in-repository/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Move an asset to a different parent in the repository hierarchy",
                "description": "## Purpose\n\nMoves an asset (and its children) to a new parent location within the repository hierarchy.\n\nUse `parent_id = 0` to move the asset to the root of the repository.\n\n## Requirements\n\n- **Permission**: The user must have the `cut/move` permission (LCA) on the source asset.\n- **Same library**: The `parent_id` must belong to the same `class_id` as the `asset_id`.\n\n## Common Errors\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `Asset does not exist or has been deleted` | `asset_id` is invalid or deleted | Verify with POST /api/v3/get-asset/by-search/repository/ |\n| `Parent asset does not exist or has been deleted` | `parent_id` is invalid or deleted (when > 0) | Verify with POST /api/v3/get-asset/by-search/repository/ |\n| `Cannot move an asset into itself` | `asset_id` == `parent_id` | Use a different `parent_id` |\n| `Cannot move an asset into one of its own children` | `parent_id` is a descendant of `asset_id` | Choose a parent that is not a child of the moved asset |\n| `Operation not allowed` | Insufficient LCA permissions | Check user permissions on the source asset |\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Move asset in repository response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "asset_id": {
                                                            "type": "integer",
                                                            "example": 1234,
                                                            "description": "Asset ID"
                                                        }
                                                    },
                                                    "required": [
                                                        "asset_id"
                                                    ],
                                                    "description": "The ID of the asset that was successfully moved"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Asset does not exist or has been deleted",
                                                    "description": "Error message. Possible values: \"Asset does not exist or has been deleted\", \"Parent asset does not exist or has been deleted\", \"Cannot move an asset into itself\", \"Cannot move an asset into one of its own children\", \"Operation not allowed\""
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "asset_id": {
                                        "type": "integer",
                                        "description": "Asset ID to move. Use POST /api/v3/get-asset/by-search/repository to find repository assets.",
                                        "example": 1234
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Destination parent asset ID within the same library. Must belong to the same class_id as asset_id. Use 0 to move to the root of the repository. Use POST /api/v3/get-asset/by-search/repository/ to find valid parent assets.",
                                        "example": 5678
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "asset_id",
                                    "parent_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/destroy/repository/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Delete repository asset permanently",
                "description": "## Purpose\n\nIRREVERSIBLY removes asset and children from repository. Prefer `detach` for reversible removal.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Destroy repository response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Asset and all child assets have been deleted",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Impossible to destroy this asset because it is classified",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Asset ID. Use POST /api/v3/get-asset/by-search/repository to find assets and get their IDs.",
                                        "example": 5845
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    }
                                },
                                "required": [
                                    "id",
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/detach/repository/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Detach asset from repository tree",
                "description": "## Purpose\n\nMoves asset and children to Unclassified folder (reversible). Asset remains accessible for reclassification.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Detach repository response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Asset and all child assets have been detached",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "You don't have the rights to detach child assets from the asset",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Asset ID. Use POST /api/v3/get-asset/by-search/repository to find assets and get their IDs.",
                                        "example": 5845
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    }
                                },
                                "required": [
                                    "id",
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/destroy/node/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Delete node and repository asset",
                "description": "## Purpose\n\nIRREVERSIBLY removes both project node AND repository master data with all children. Cascading deletion affects all projects.\n\n⚠️ Extremely destructive - prefer `detach` for reversible removal.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Destroy node response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Node and all child nodes have been deleted",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Impossible to destroy this node because it is classified elsewhere",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Node ID. Use POST /api/v3/get-asset/by-search/node to find nodes and get their IDs.",
                                        "example": 58450
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    }
                                },
                                "required": [
                                    "id",
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/detach/node/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Detach node from project",
                "description": "## Purpose\n\nRemoves node and children from project tree without affecting repository. Reversible operation - repository asset remains intact and can be re-added.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Detach node response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Node and all child nodes have been detached",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "You don't have the rights to detach child assets from the node",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Node ID. Use POST /api/v3/get-asset/by-search/node to find nodes and get their IDs.",
                                        "example": 58450
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    }
                                },
                                "required": [
                                    "id",
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/update-datas/repository/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Update repository asset attributes",
                "description": "## Purpose\n\nUpdates attribute values (simple and multiple types) of an existing asset in the **repository** (master data). Changes propagate to all projects where the asset is used, unless a local override exists.\n\n## When to Use\n\n- Use `/repository/` to update master data (affects all projects). Use `/node/` variant to update project-specific overrides without affecting master data.\n- Use POST /api/v3/attributes/list with class_id to discover available attributes and their types (simple vs multiple)\n- Use POST /api/v3/get-asset/by-search/repository to find asset IDs to update\n\n## Requirements\n\n- **Asset existence**: Asset ID must exist and not be deleted\n- **Library context**: Valid class_id must be provided\n\n⚠️ Repository updates propagate to all projects unless local overrides exist.\n\n---\n\n## Simple Attributes (`attribute_list_simple`)\n\nFor: Text, number, date, simple dropdown list, and other single-value attributes.\n\n| Property | Required | Description |\n|----------|----------|-------------|\n| `attribute_id` | ✅ | Attribute identifier |\n| `value` | ✅ | Value to set (empty string to clear) |\n| `version_id` | ❌ | Target language version (default if not specified) |\n\n### Simple Dropdown Lists\n\nPass element identifier, code, or label. All three formats are accepted.\n\n```json\n{\"attribute_id\":1113,\"value\":\"1234\"}\n{\"attribute_id\":1113,\"value\":\"OPTION_CODE_4\"}\n{\"attribute_id\":1113,\"value\":\"Red color\"}\n```\n\n### Date Formats\n\nSupported formats:\n- Timestamp: `1694704440`\n- ISO 8601: `2023-09-14T15:04:00.000Z`\n- English (YYYY-MM-DD): `2017-12-13` or `2017-12-13 15:05:13`\n- European (DD-MM-YYYY or DD/MM/YYYY): `13-12-2017` or `13/12/2017 15:05:13`\n- Timezone format: `2017:12:13 10:15:59+02:00`\n\n### Numeric Attributes\n\nDecimal separator: comma or dot accepted (e.g., `12.99` or `12,99`).\n\n### Clearing Values\n\nSet `value` to empty string to clear attribute value:\n\n```json\n{\"attribute_id\":1113,\"value\":\"\"}\n```\n\n---\n\n## Multiple Attributes (`attribute_list_multiple`)\n\nFor: Associated data, dynamic attributes, and multiple dropdown lists.\n\n| Property | Required | Description |\n|----------|----------|-------------|\n| `attribute_id` | ✅ | Attribute identifier |\n| `value` | ✅ | Array of values (empty array to clear all) |\n| `synchronization` | ✅ | `false` = add mode, `true` = sync mode |\n| `key` | ❌ | Attribute ID to use as lookup key (associated data only) |\n| `version_id` | ❌ | Target language version (default if not specified) |\n\n### Associated Data\n\nPass array of asset IDs:\n\n```json\n{\"attribute_id\":724,\"value\":[1111],\"synchronization\":false}\n{\"attribute_id\":724,\"value\":[2222, 3333, 4444],\"synchronization\":true}\n```\n\n**Synchronization modes**:\n- `false` (Add mode): Appends values without removing existing ones\n- `true` (Sync mode): Removes values not in array, adds missing ones, preserves matching ones\n\n**Using attribute values as keys** (import-style lookup):\n\n```json\n{\"attribute_id\":724,\"key\":1284,\"value\":[\"SKU-12345\"],\"synchronization\":true}\n{\"attribute_id\":724,\"key\":1284,\"value\":[\"Product A\", \"Product B\"],\"synchronization\":false}\n```\n\n### Multiple Dropdown Lists\n\nPass array of identifiers, codes, or labels:\n\n```json\n{\"attribute_id\":1113,\"value\":[\"Red\"],\"synchronization\":true}\n{\"attribute_id\":1113,\"value\":[1234, \"OPTION_CODE_4\", \"Blue color\"],\"synchronization\":false}\n```\n\n⚠️ If a code or label is numeric and matches another option ID, the ID match takes precedence.\n\n---\n\n## Example\n\n```json\n{\n  \"id\": 5845,\n  \"class_id\": 4,\n  \"attribute_list_simple\": [\n    {\"attribute_id\": 231, \"value\": \"3-seater sofa\"},\n    {\"attribute_id\": 1234, \"value\": \"\"},\n    {\"attribute_id\": 658, \"value\": \"Red leather\", \"version_id\": 2},\n    {\"attribute_id\": 658, \"value\": \"Cuir rouge\", \"version_id\": 1}\n  ],\n  \"attribute_list_multiple\": [\n    {\"attribute_id\": 724, \"value\": [\"Red\", \"Black\"], \"synchronization\": true},\n    {\"attribute_id\": 660, \"value\": [\"Chair legs\"], \"synchronization\": false, \"key\": 2749},\n    {\"attribute_id\": 659, \"value\": [1234, 2345], \"synchronization\": false, \"version_id\": 2}\n  ]\n}\n```\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Asset data update response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Asset data updated",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = parameter error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Asset does not exist or has been deleted",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Asset ID. Use POST /api/v3/get-asset/by-search/repository to find assets and get their IDs.",
                                        "example": 5845
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "attribute_list_simple": {
                                        "type": "array",
                                        "description": "Simple attributes (text, number, date, single dropdown). Pass same attribute_id multiple times with different version_id to update multiple languages. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "attribute_id": 231,
                                                "value": "3-seater sofa"
                                            },
                                            {
                                                "attribute_id": 1234,
                                                "value": ""
                                            },
                                            {
                                                "attribute_id": 658,
                                                "value": "Red leather",
                                                "version_id": 2
                                            },
                                            {
                                                "attribute_id": 658,
                                                "value": "Cuir rouge",
                                                "version_id": 1
                                            },
                                            {
                                                "attribute_id": 658,
                                                "value": "Cuero rojo",
                                                "version_id": 3
                                            },
                                            {
                                                "attribute_id": 659,
                                                "value": "100",
                                                "suffix_value": "EUR"
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute_id": {
                                                    "type": "integer",
                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes."
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "Value to set. Format depends on attribute type. Empty string clears the value."
                                                },
                                                "version_id": {
                                                    "type": "integer",
                                                    "description": "Version ID for multilingual data. Use POST /api/v3/administration/versions/list."
                                                },
                                                "suffix_value": {
                                                    "type": "string",
                                                    "description": "Suffix value for attributes with dropdown suffix (input, select-items, price). Accepts ID, code, or label."
                                                }
                                            },
                                            "required": [
                                                "attribute_id",
                                                "value"
                                            ],
                                            "title": "Item"
                                        }
                                    },
                                    "attribute_list_multiple": {
                                        "type": "array",
                                        "description": "Multiple attributes (associated data, multiple dropdown). Pass same attribute_id multiple times with different version_id to update multiple languages. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "attribute_id": 724,
                                                "value": [
                                                    "Red",
                                                    "Black"
                                                ],
                                                "synchronization": true
                                            },
                                            {
                                                "attribute_id": 660,
                                                "value": [
                                                    "Chair legs"
                                                ],
                                                "synchronization": false,
                                                "key": 2749
                                            },
                                            {
                                                "attribute_id": 659,
                                                "value": [
                                                    1234,
                                                    2345,
                                                    4567
                                                ],
                                                "synchronization": false,
                                                "version_id": 2
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute_id": {
                                                    "type": "integer",
                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes."
                                                },
                                                "value": {
                                                    "type": "array",
                                                    "description": "Array of values (empty array to clear all)",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "synchronization": {
                                                    "type": "boolean",
                                                    "description": "false = add mode, true = sync mode (remove unlisted, add missing)"
                                                },
                                                "key": {
                                                    "type": "integer",
                                                    "description": "Attribute ID to use as lookup key (associated data only)"
                                                },
                                                "version_id": {
                                                    "type": "integer",
                                                    "description": "Version ID. Use POST /api/v3/administration/versions/list with class_id. Default if omitted"
                                                }
                                            },
                                            "required": [
                                                "attribute_id",
                                                "value",
                                                "synchronization"
                                            ],
                                            "title": "Item"
                                        }
                                    }
                                },
                                "required": [
                                    "id",
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/update-datas/node/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Update project node attributes",
                "description": "## Purpose\n\nUpdates project-specific attribute values (simple and multiple types) for an existing node. Creates contextualized overrides without affecting repository master data. Use for catalog or publication-specific adaptations.\n\n## When to Use\n\n- Use `/node/` to update project-specific overrides (does not affect master data). Use `/repository/` variant to update master data that propagates to all projects.\n- Use POST /api/v3/attributes/list with class_id to discover available attributes and their types (simple vs multiple)\n- Use POST /api/v3/get-asset/by-search/node with class_id and parent_id to find node IDs to update\n\n## Requirements\n\n- **Node existence**: Node ID must exist and not be deleted\n- **Library context**: Valid class_id must be provided\n\n⚠️ Project node updates do not affect repository master data.\n\n---\n\n## Simple Attributes (`attribute_list_simple`)\n\nFor: Text, number, date, simple dropdown list, and other single-value attributes.\n\n| Property | Required | Description |\n|----------|----------|-------------|\n| `attribute_id` | ✅ | Attribute identifier |\n| `value` | ✅ | Value to set (empty string to clear) |\n| `version_id` | ❌ | Target language version (default if not specified) |\n\n### Simple Dropdown Lists\n\nPass element identifier, code, or label. All three formats are accepted.\n\n```json\n{\"attribute_id\":1113,\"value\":\"1234\"}\n{\"attribute_id\":1113,\"value\":\"OPTION_CODE_4\"}\n{\"attribute_id\":1113,\"value\":\"Red color\"}\n```\n\n### Date Formats\n\nSupported formats:\n- Timestamp: `1694704440`\n- ISO 8601: `2023-09-14T15:04:00.000Z`\n- English (YYYY-MM-DD): `2017-12-13` or `2017-12-13 15:05:13`\n- European (DD-MM-YYYY or DD/MM/YYYY): `13-12-2017` or `13/12/2017 15:05:13`\n- Timezone format: `2017:12:13 10:15:59+02:00`\n\n### Numeric Attributes\n\nDecimal separator: comma or dot accepted (e.g., `12.99` or `12,99`).\n\n### Clearing Values\n\nSet `value` to empty string to clear attribute value:\n\n```json\n{\"attribute_id\":1113,\"value\":\"\"}\n```\n\n---\n\n## Multiple Attributes (`attribute_list_multiple`)\n\nFor: Associated data, dynamic attributes, and multiple dropdown lists.\n\n| Property | Required | Description |\n|----------|----------|-------------|\n| `attribute_id` | ✅ | Attribute identifier |\n| `value` | ✅ | Array of values (empty array to clear all) |\n| `synchronization` | ✅ | `false` = add mode, `true` = sync mode |\n| `key` | ❌ | Attribute ID to use as lookup key (associated data only) |\n| `version_id` | ❌ | Target language version (default if not specified) |\n\n### Associated Data\n\nPass array of asset IDs:\n\n```json\n{\"attribute_id\":724,\"value\":[1111],\"synchronization\":false}\n{\"attribute_id\":724,\"value\":[2222, 3333, 4444],\"synchronization\":true}\n```\n\n**Synchronization modes**:\n- `false` (Add mode): Appends values without removing existing ones\n- `true` (Sync mode): Removes values not in array, adds missing ones, preserves matching ones\n\n**Using attribute values as keys** (import-style lookup):\n\n```json\n{\"attribute_id\":724,\"key\":1284,\"value\":[\"SKU-12345\"],\"synchronization\":true}\n{\"attribute_id\":724,\"key\":1284,\"value\":[\"Product A\", \"Product B\"],\"synchronization\":false}\n```\n\n### Multiple Dropdown Lists\n\nPass array of identifiers, codes, or labels:\n\n```json\n{\"attribute_id\":1113,\"value\":[\"Red\"],\"synchronization\":true}\n{\"attribute_id\":1113,\"value\":[1234, \"OPTION_CODE_4\", \"Blue color\"],\"synchronization\":false}\n```\n\n⚠️ If a code or label is numeric and matches another option ID, the ID match takes precedence.\n\n---\n\n## Example\n\n```json\n{\n  \"id\": 58450,\n  \"class_id\": 4,\n  \"attribute_list_simple\": [\n    {\"attribute_id\": 231, \"value\": \"3-seater sofa\"},\n    {\"attribute_id\": 1234, \"value\": \"\"},\n    {\"attribute_id\": 658, \"value\": \"Red leather\", \"version_id\": 2},\n    {\"attribute_id\": 658, \"value\": \"Cuir rouge\", \"version_id\": 1}\n  ],\n  \"attribute_list_multiple\": [\n    {\"attribute_id\": 724, \"value\": [\"Red\", \"Black\"], \"synchronization\": true},\n    {\"attribute_id\": 660, \"value\": [\"Chair legs\"], \"synchronization\": false, \"key\": 2749},\n    {\"attribute_id\": 659, \"value\": [1234, 2345], \"synchronization\": false, \"version_id\": 2}\n  ]\n}\n```\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Update datas asset node response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Asset data updated",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Node does not exist or has been deleted",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Node ID. Use POST /api/v3/get-asset/by-search/node to find nodes and get their IDs.",
                                        "example": 58450
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "attribute_list_simple": {
                                        "type": "array",
                                        "description": "Simple attributes (text, number, date, single dropdown). Pass same attribute_id multiple times with different version_id to update multiple languages. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "attribute_id": 231,
                                                "value": "3-seater sofa"
                                            },
                                            {
                                                "attribute_id": 1234,
                                                "value": ""
                                            },
                                            {
                                                "attribute_id": 658,
                                                "value": "Red leather",
                                                "version_id": 2
                                            },
                                            {
                                                "attribute_id": 658,
                                                "value": "Cuir rouge",
                                                "version_id": 1
                                            },
                                            {
                                                "attribute_id": 658,
                                                "value": "Cuero rojo",
                                                "version_id": 3
                                            },
                                            {
                                                "attribute_id": 659,
                                                "value": "100",
                                                "suffix_value": "EUR"
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute_id": {
                                                    "type": "integer",
                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes."
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "Value to set. Format depends on attribute type. Empty string clears the value."
                                                },
                                                "version_id": {
                                                    "type": "integer",
                                                    "description": "Version ID for multilingual data. Use POST /api/v3/administration/versions/list."
                                                },
                                                "suffix_value": {
                                                    "type": "string",
                                                    "description": "Suffix value for attributes with dropdown suffix (input, select-items, price). Accepts ID, code, or label."
                                                }
                                            },
                                            "required": [
                                                "attribute_id",
                                                "value"
                                            ],
                                            "title": "Item"
                                        }
                                    },
                                    "attribute_list_multiple": {
                                        "type": "array",
                                        "description": "Multiple attributes (associated data, multiple dropdown). Pass same attribute_id multiple times with different version_id to update multiple languages. (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "attribute_id": 724,
                                                "value": [
                                                    "Red",
                                                    "Black"
                                                ],
                                                "synchronization": true
                                            },
                                            {
                                                "attribute_id": 660,
                                                "value": [
                                                    "Chair legs"
                                                ],
                                                "synchronization": false,
                                                "key": 2749
                                            },
                                            {
                                                "attribute_id": 659,
                                                "value": [
                                                    1234,
                                                    2345,
                                                    4567
                                                ],
                                                "synchronization": false,
                                                "version_id": 2
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute_id": {
                                                    "type": "integer",
                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes."
                                                },
                                                "value": {
                                                    "type": "array",
                                                    "description": "Array of values (empty array to clear all)",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "synchronization": {
                                                    "type": "boolean",
                                                    "description": "false = add mode, true = sync mode (remove unlisted, add missing)"
                                                },
                                                "key": {
                                                    "type": "integer",
                                                    "description": "Attribute ID to use as lookup key (associated data only)"
                                                },
                                                "version_id": {
                                                    "type": "integer",
                                                    "description": "Version ID. Use POST /api/v3/administration/versions/list with class_id. Default if omitted"
                                                }
                                            },
                                            "required": [
                                                "attribute_id",
                                                "value",
                                                "synchronization"
                                            ],
                                            "title": "Item"
                                        }
                                    }
                                },
                                "required": [
                                    "id",
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/record-asset/repoint/node/": {
            "post": {
                "tags": [
                    "record-asset"
                ],
                "summary": "Repoint a node to a different asset",
                "description": "## Purpose\n\nRepoints a node (project position) to a different asset (master record). Useful to correct import mistakes.\n\n## Preserved Data\n\n- Node identity (publications, history, statuses, workflows)\n- All contextual data associated with the node\n- Alias positions (automatically updated)\n\n## Links Processing\n\n- **Non-workspace attributes**: Links updated to point to new asset\n- **Workspace attributes** (scope=5): Links deleted (workspace data not transferred)\n\n## Constraints\n\n- **Duplicate prevention**: Blocked if sibling node already references target asset\n- **Cascade to aliases**: All alias positions automatically updated\n- **Workspace data**: Cleanup processed if no other nodes reference old asset\n- **Indexation**: Automatic reindexation triggered\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Node repoint response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message or warning"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "node_id": {
                                                            "type": "integer",
                                                            "example": 12345,
                                                            "description": "Node ID that was repointed"
                                                        },
                                                        "old_asset_id": {
                                                            "type": "integer",
                                                            "example": 54321,
                                                            "description": "Previous asset ID"
                                                        },
                                                        "new_asset_id": {
                                                            "type": "integer",
                                                            "example": 67890,
                                                            "description": "New asset ID"
                                                        },
                                                        "aliases_updated": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Number of alias positions updated"
                                                        },
                                                        "links_updated": {
                                                            "type": "integer",
                                                            "example": 15,
                                                            "description": "Number of non-workspace links updated"
                                                        },
                                                        "workspace_links_deleted": {
                                                            "type": "integer",
                                                            "example": 3,
                                                            "description": "Number of workspace links deleted"
                                                        },
                                                        "workspace_id": {
                                                            "type": "integer",
                                                            "example": 789,
                                                            "description": "Workspace ID"
                                                        }
                                                    },
                                                    "required": [
                                                        "node_id",
                                                        "old_asset_id",
                                                        "new_asset_id",
                                                        "aliases_updated",
                                                        "links_updated",
                                                        "workspace_links_deleted",
                                                        "workspace_id"
                                                    ],
                                                    "description": "Details of the repoint operation"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = parameter error, 3 = processing error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Node does not exist or has been deleted",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "node_id": {
                                        "type": "integer",
                                        "description": "Node ID (position in project) to repoint. Use POST /api/v3/get-asset/by-search/node to find nodes.",
                                        "example": 12345
                                    },
                                    "asset_id": {
                                        "type": "integer",
                                        "description": "Target asset ID (referential). Use POST /api/v3/get-asset/by-search/repository to find assets.",
                                        "example": 67890
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    }
                                },
                                "required": [
                                    "node_id",
                                    "asset_id",
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/token/get/": {
            "post": {
                "tags": [
                    "token"
                ],
                "summary": "Get JWT authentication token",
                "description": "## Purpose\n\nGenerates a JWT token for API authentication. Use login credentials to obtain a bearer token for subsequent API calls.\n\n## Constraints\n\n- Token lifetime: 1 hour\n- Maximum active tokens per account: 10\n- Tokens auto-expire after 1 hour\n\n## Usage\n\nInclude the token in subsequent requests:\n\n```\nAuthorization: Bearer <jwt_token>\n```\n",
                "security": [],
                "responses": {
                    "200": {
                        "description": "Token generation response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "JWT token generated successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "jwt_token": {
                                                            "type": "string",
                                                            "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
                                                            "description": "JWT token to use in Authorization header"
                                                        },
                                                        "token_type": {
                                                            "type": "string",
                                                            "example": "Bearer",
                                                            "description": "Token type for Authorization header"
                                                        },
                                                        "expires_at": {
                                                            "type": "string",
                                                            "example": "2024-12-07T15:30:45+00:00",
                                                            "description": "Token expiration date and time (ISO 8601 format)"
                                                        },
                                                        "issued_at": {
                                                            "type": "string",
                                                            "example": "2024-12-07T14:30:45+00:00",
                                                            "description": "Token creation date and time (ISO 8601 format)"
                                                        },
                                                        "internal_token": {
                                                            "type": "string",
                                                            "example": "abc123def456...",
                                                            "description": "Internal token for compatibility (deprecated)"
                                                        }
                                                    },
                                                    "required": [
                                                        "jwt_token",
                                                        "token_type",
                                                        "expires_at",
                                                        "issued_at",
                                                        "internal_token"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = authentication failed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Invalid login or password",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "l": {
                                        "type": "string",
                                        "description": "User login (username). Account must have API access permissions.",
                                        "example": "mylogin"
                                    },
                                    "p": {
                                        "type": "string",
                                        "description": "User password. Use a service account for API integrations.",
                                        "example": "mypassword"
                                    },
                                    "HTTP_REFERER": {
                                        "type": "string",
                                        "description": "Internal referer for authentication (delayedExecutor, API_REST, etc.)",
                                        "example": "API_REST-b47f1ad6b862bcff9b680f5cfa78a979"
                                    }
                                },
                                "required": [
                                    "l",
                                    "p"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/token/disable/": {
            "post": {
                "tags": [
                    "token"
                ],
                "summary": "Disable all active tokens",
                "description": "## Purpose\n\nInvalidates all active JWT tokens for the account.\n\n## Use Cases\n\n- Force re-authentication for all sessions\n- Reset sessions after security concerns\n- Clear tokens when limit (10) reached\n\n⚠️ All existing tokens will be immediately invalidated.\n",
                "security": [],
                "responses": {
                    "200": {
                        "description": "Token disabling response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "5 tokens disabled",
                                                    "description": "Number of tokens that were disabled"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on success"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = authentication failed)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Invalid login or password",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "l": {
                                        "type": "string",
                                        "description": "User login (username). Account must have API access permissions.",
                                        "example": "mylogin"
                                    },
                                    "p": {
                                        "type": "string",
                                        "description": "User password. Use a service account for API integrations.",
                                        "example": "mypassword"
                                    }
                                },
                                "required": [
                                    "l",
                                    "p"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/token/info/": {
            "post": {
                "tags": [
                    "token"
                ],
                "summary": "Get current token information",
                "description": "## Purpose\n\nReturns metadata about the current JWT token (validity, issue date, expiration).\n\n## Use Cases\n\n- Verify authentication state\n- Check remaining token lifetime\n- Determine if token refresh is needed\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Token information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "The JWT token is valid",
                                                    "description": "Token validation message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "token_type": {
                                                            "type": "string",
                                                            "example": "JWT",
                                                            "description": "Type of the token"
                                                        },
                                                        "user_id": {
                                                            "type": "integer",
                                                            "example": 1687,
                                                            "description": "User ID associated with the token"
                                                        },
                                                        "created_at": {
                                                            "type": "string",
                                                            "example": "2024-12-07T14:30:45+00:00",
                                                            "description": "Token creation date and time (ISO 8601 format)"
                                                        },
                                                        "expires_at": {
                                                            "type": "string",
                                                            "example": "2024-12-07T15:30:45+00:00",
                                                            "description": "Token expiration date and time (ISO 8601 format)"
                                                        },
                                                        "issued_at": {
                                                            "type": "string",
                                                            "example": "2024-12-07T14:30:45+00:00",
                                                            "description": "Token issuance date and time (ISO 8601 format)"
                                                        },
                                                        "not_before": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "2024-12-07T14:30:45+00:00",
                                                            "description": "Token not valid before this date and time (ISO 8601 format)"
                                                        },
                                                        "internal_token": {
                                                            "type": "string",
                                                            "example": "abc123def456...",
                                                            "description": "Internal token identifier"
                                                        }
                                                    },
                                                    "required": [
                                                        "token_type",
                                                        "user_id",
                                                        "created_at",
                                                        "expires_at",
                                                        "issued_at",
                                                        "internal_token"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Bearer token missing in Authorization header",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/types/full/": {
            "post": {
                "tags": [
                    "types"
                ],
                "summary": "Get all types with full details",
                "description": "## Purpose\n\nReturns all asset types for a class with complete configuration including permissions, statuses, and display settings.\n\n## Filtering\n\nUse `supertype_id` to filter by category (Record, Folder, Page, etc.).\n\n## Comparison\n\nUse `types/list` for simplified output (id, code, label, active status only).\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Asset type list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Total number of asset types returned"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 15,
                                                                        "description": "Type ID"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Associated class ID"
                                                                    },
                                                                    "code": {
                                                                        "type": "string",
                                                                        "example": "my_type_code",
                                                                        "description": "Type code"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Product category",
                                                                        "description": "Type label"
                                                                    },
                                                                    "tags": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [
                                                                            "tag1",
                                                                            "tag2"
                                                                        ],
                                                                        "description": "Array of tags (can be empty)"
                                                                    },
                                                                    "manage_file": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": true,
                                                                        "description": "Whether the type can load a preview file"
                                                                    },
                                                                    "supertype_id": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "example": 1,
                                                                        "description": "Supertype ID"
                                                                    },
                                                                    "supertype_label": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "Record",
                                                                        "description": "Supertype label"
                                                                    },
                                                                    "active": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether the type is active"
                                                                    },
                                                                    "indexed": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": true,
                                                                        "description": "Whether the type is indexed"
                                                                    },
                                                                    "order": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "example": 1,
                                                                        "description": "Display order"
                                                                    },
                                                                    "help": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "Help text for this type",
                                                                        "description": "Help text"
                                                                    },
                                                                    "creation_status": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "example": 1149,
                                                                        "description": "Status at creation"
                                                                    },
                                                                    "project_status": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "example": 1148,
                                                                        "description": "Status when adding project"
                                                                    },
                                                                    "bundle_option": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "example": 3,
                                                                        "description": "Association type : linked asset or not"
                                                                    },
                                                                    "display_link_tab": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": true,
                                                                        "description": "Displaying \"links\" tab in the asset"
                                                                    },
                                                                    "display_related_assets": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": false,
                                                                        "description": "Displaying related assets"
                                                                    },
                                                                    "font_awesome_code": {
                                                                        "type": "object",
                                                                        "nullable": true,
                                                                        "properties": {
                                                                            "code": {
                                                                                "type": "string",
                                                                                "nullable": true,
                                                                                "example": "fa-solid fa-file",
                                                                                "description": "Font-Awesome code"
                                                                            },
                                                                            "color": {
                                                                                "type": "string",
                                                                                "nullable": true,
                                                                                "example": "#FF5722",
                                                                                "description": "Type color in hexadecimal"
                                                                            }
                                                                        },
                                                                        "description": "Font-Awesome code"
                                                                    },
                                                                    "not_logged": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": true,
                                                                        "description": "Not logged"
                                                                    },
                                                                    "not_exportable": {
                                                                        "type": "boolean",
                                                                        "nullable": true,
                                                                        "example": true,
                                                                        "description": "Not exportable"
                                                                    },
                                                                    "dynamic_search": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "example": 0,
                                                                        "description": "Dynamic search"
                                                                    },
                                                                    "image": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "<span><i class=\"fa-solid fa-file\" style=\"font-size: 16px;color:#c0c0c0;\"></i></span>",
                                                                        "description": "Image"
                                                                    },
                                                                    "permissions": {
                                                                        "type": "object",
                                                                        "nullable": true,
                                                                        "additionalProperties": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "example": "Group 1",
                                                                                    "description": "User group label"
                                                                                },
                                                                                "create": {
                                                                                    "type": "boolean",
                                                                                    "example": false,
                                                                                    "description": "Create permission"
                                                                                },
                                                                                "edit": {
                                                                                    "type": "boolean",
                                                                                    "example": false,
                                                                                    "description": "Edit permission"
                                                                                },
                                                                                "view": {
                                                                                    "type": "boolean",
                                                                                    "example": true,
                                                                                    "description": "View permission"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "label",
                                                                                "create",
                                                                                "edit",
                                                                                "view"
                                                                            ]
                                                                        },
                                                                        "example": {
                                                                            "1557": {
                                                                                "label": "Afineo",
                                                                                "create": false,
                                                                                "edit": false,
                                                                                "view": true
                                                                            }
                                                                        },
                                                                        "description": "Permissions by user group ID. Each key is a user group ID, and the value contains permissions (create, edit, view)"
                                                                    },
                                                                    "available_statuses": {
                                                                        "type": "object",
                                                                        "nullable": true,
                                                                        "additionalProperties": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": {
                                                                            "1149": "Archived",
                                                                            "1150": "Active"
                                                                        },
                                                                        "description": "Available statuses for this type. Each key is a status ID, and the value is the status label"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "class_id",
                                                                    "code",
                                                                    "label",
                                                                    "tags",
                                                                    "supertype_id",
                                                                    "supertype_label",
                                                                    "active"
                                                                ]
                                                            },
                                                            "description": "Array of asset types objects"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = class not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Class not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "supertype_id": {
                                        "type": "integer",
                                        "description": "Supertype ID : Groupe de fiches,Fiches Produits,Dossier,Page,Publication,Workspace,Article,Fiches Annexes",
                                        "enum": [
                                            1,
                                            2,
                                            3,
                                            4,
                                            5,
                                            6,
                                            7,
                                            8
                                        ],
                                        "example": "Groupe de fiches"
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/types/list/": {
            "post": {
                "tags": [
                    "types"
                ],
                "summary": "List types by class",
                "description": "## Purpose\n\nReturns simplified asset type list for a class (id, code, label, supertype, active status).\n\n## Filtering\n\nUse `supertype_id` to filter by category (Record, Folder, Page, etc.).\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Asset type list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 5,
                                                            "description": "Total number of asset types returned"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 15,
                                                                        "description": "Type ID"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Associated class ID"
                                                                    },
                                                                    "code": {
                                                                        "type": "string",
                                                                        "example": "my_type_code",
                                                                        "description": "Type code"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Product category",
                                                                        "description": "Type label"
                                                                    },
                                                                    "tags": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [
                                                                            "tag1",
                                                                            "tag2"
                                                                        ],
                                                                        "description": "Array of tags (can be empty)"
                                                                    },
                                                                    "supertype_id": {
                                                                        "type": "integer",
                                                                        "nullable": true,
                                                                        "example": 1,
                                                                        "description": "Supertype ID"
                                                                    },
                                                                    "supertype_label": {
                                                                        "type": "string",
                                                                        "nullable": true,
                                                                        "example": "Record",
                                                                        "description": "Supertype label"
                                                                    },
                                                                    "active": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether the type is active"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "class_id",
                                                                    "code",
                                                                    "label",
                                                                    "tags",
                                                                    "supertype_id",
                                                                    "supertype_label",
                                                                    "active"
                                                                ]
                                                            },
                                                            "description": "Array of asset types objects"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = class not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Class not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "supertype_id": {
                                        "type": "integer",
                                        "description": "Supertype ID : Groupe de fiches,Fiches Produits,Dossier,Page,Publication,Workspace,Article,Fiches Annexes",
                                        "enum": [
                                            1,
                                            2,
                                            3,
                                            4,
                                            5,
                                            6,
                                            7,
                                            8
                                        ],
                                        "example": "Groupe de fiches"
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/types/get/": {
            "post": {
                "tags": [
                    "types"
                ],
                "summary": "Get asset type details",
                "description": "## Purpose\n\nReturns complete asset type configuration including permissions, statuses, display settings, and file management options.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Asset type information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 15,
                                                            "description": "Type ID"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Associated class ID"
                                                        },
                                                        "code": {
                                                            "type": "string",
                                                            "example": "my_type_code",
                                                            "description": "Type code"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Product category",
                                                            "description": "Type label"
                                                        },
                                                        "tags": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": [
                                                                "tag1",
                                                                "tag2"
                                                            ],
                                                            "description": "Array of tags (can be empty)"
                                                        },
                                                        "manage_file": {
                                                            "type": "boolean",
                                                            "nullable": true,
                                                            "example": true,
                                                            "description": "Whether the type can load a preview file"
                                                        },
                                                        "supertype_id": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 1,
                                                            "description": "Supertype ID"
                                                        },
                                                        "supertype_label": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "Record",
                                                            "description": "Supertype label"
                                                        },
                                                        "active": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "Whether the type is active"
                                                        },
                                                        "indexed": {
                                                            "type": "boolean",
                                                            "nullable": true,
                                                            "example": true,
                                                            "description": "Whether the type is indexed"
                                                        },
                                                        "order": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 1,
                                                            "description": "Display order"
                                                        },
                                                        "help": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "Help text for this type",
                                                            "description": "Help text"
                                                        },
                                                        "creation_status": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 1149,
                                                            "description": "Status at creation"
                                                        },
                                                        "project_status": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 1148,
                                                            "description": "Status when adding project"
                                                        },
                                                        "bundle_option": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 3,
                                                            "description": "Association type : linked asset or not"
                                                        },
                                                        "display_link_tab": {
                                                            "type": "boolean",
                                                            "nullable": true,
                                                            "example": true,
                                                            "description": "Displaying \"links\" tab in the asset"
                                                        },
                                                        "display_related_assets": {
                                                            "type": "boolean",
                                                            "nullable": true,
                                                            "example": false,
                                                            "description": "Displaying related assets"
                                                        },
                                                        "font_awesome_code": {
                                                            "type": "object",
                                                            "nullable": true,
                                                            "properties": {
                                                                "code": {
                                                                    "type": "string",
                                                                    "nullable": true,
                                                                    "example": "fa-solid fa-file",
                                                                    "description": "Font-Awesome code"
                                                                },
                                                                "color": {
                                                                    "type": "string",
                                                                    "nullable": true,
                                                                    "example": "#FF5722",
                                                                    "description": "Type color in hexadecimal"
                                                                }
                                                            },
                                                            "description": "Font-Awesome code"
                                                        },
                                                        "not_logged": {
                                                            "type": "boolean",
                                                            "nullable": true,
                                                            "example": true,
                                                            "description": "Not logged"
                                                        },
                                                        "not_exportable": {
                                                            "type": "boolean",
                                                            "nullable": true,
                                                            "example": true,
                                                            "description": "Not exportable"
                                                        },
                                                        "dynamic_search": {
                                                            "type": "integer",
                                                            "nullable": true,
                                                            "example": 0,
                                                            "description": "Dynamic search"
                                                        },
                                                        "image": {
                                                            "type": "string",
                                                            "nullable": true,
                                                            "example": "<span><i class=\"fa-solid fa-file\" style=\"font-size: 16px;color:#c0c0c0;\"></i></span>",
                                                            "description": "Image"
                                                        },
                                                        "permissions": {
                                                            "type": "object",
                                                            "nullable": true,
                                                            "additionalProperties": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Group 1",
                                                                        "description": "User group label"
                                                                    },
                                                                    "create": {
                                                                        "type": "boolean",
                                                                        "example": false,
                                                                        "description": "Create permission"
                                                                    },
                                                                    "edit": {
                                                                        "type": "boolean",
                                                                        "example": false,
                                                                        "description": "Edit permission"
                                                                    },
                                                                    "view": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "View permission"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "label",
                                                                    "create",
                                                                    "edit",
                                                                    "view"
                                                                ]
                                                            },
                                                            "example": {
                                                                "1557": {
                                                                    "label": "Afineo",
                                                                    "create": false,
                                                                    "edit": false,
                                                                    "view": true
                                                                }
                                                            },
                                                            "description": "Permissions by user group ID. Each key is a user group ID, and the value contains permissions (create, edit, view)"
                                                        },
                                                        "available_statuses": {
                                                            "type": "object",
                                                            "nullable": true,
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "example": {
                                                                "1149": "Archived",
                                                                "1150": "Active"
                                                            },
                                                            "description": "Available statuses for this type. Each key is a status ID, and the value is the status label"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "class_id",
                                                        "code",
                                                        "label",
                                                        "tags",
                                                        "supertype_id",
                                                        "supertype_label",
                                                        "active"
                                                    ],
                                                    "description": "Asset type information"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = class not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Class not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Asset type ID. Use POST /api/v3/types/list with class_id to get available asset types.",
                                        "example": 407
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/types/statuses/": {
            "post": {
                "tags": [
                    "types"
                ],
                "summary": "Get type status assignments",
                "description": "## Purpose\n\nReturns available workflow statuses for an asset type (includes inherited statuses from supertype).\n\n## Requirement\n\nRequires extension: `ASSIGNMENT_STATUS_TYPES`. This extension must be enabled at the platform level by an administrator. If not enabled, the endpoint will return status_code=2 with message \"Extension not available\".\n\n## Handling Unavailability\n\nIf you receive status_code=2, the extension is not enabled and this endpoint cannot be used. Fall back to POST /api/v3/permissions/statuses/list to get statuses without type-level filtering.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Status assignments response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Empty string on success"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 3,
                                                            "description": "Total number of statuses available for this type"
                                                        },
                                                        "items": {
                                                            "type": "object",
                                                            "additionalProperties": {
                                                                "type": "string"
                                                            },
                                                            "example": {
                                                                "1149": "Archived",
                                                                "1150": "Active"
                                                            },
                                                            "description": "Available statuses for the type (includes inherited from supertype). Key is status ID, value is status label"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Extension Required Error",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = extension required or type not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "This endpoint requires the ASSIGNMENT_STATUS_TYPES extension to be enabled",
                                                    "description": "Error message about required extension or type not found"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Not Found Error",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "No status assignments found for asset type \"407\"",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Asset type ID. Use POST /api/v3/types/list with class_id to get available asset types.",
                                        "example": 407
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/types/update/": {
            "post": {
                "tags": [
                    "types"
                ],
                "summary": "Update an existing type in a library",
                "description": "## Purpose\n\nUpdates properties of an existing asset type (category). Only provided fields are modified — omitted fields remain unchanged.\n\n## What can be updated\n\n- Label, help text, icon, color\n- Active status, indexed, logging, exportability\n- File management, display options, bundle, dynamic search\n- Default statuses (creation, project)\n- Parent type, display order\n\n## What cannot be updated\n\n- `class_id` (immutable — the type belongs to a specific library)\n- `supertype_id` (immutable — changing supertype would break type hierarchy)\n\n## Important\n\nThe `id` parameter refers to the type ID, not the class ID. Use POST /api/v3/types/list with class_id to discover type IDs.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Type update response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Type updated successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 42,
                                                            "description": "Type ID"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Library ID"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Product",
                                                            "description": "Type label"
                                                        },
                                                        "updated_fields": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": [
                                                                "label",
                                                                "help",
                                                                "icon"
                                                            ],
                                                            "description": "List of fields that were actually modified"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "class_id",
                                                        "label",
                                                        "updated_fields"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "enum": [
                                                        2,
                                                        997
                                                    ],
                                                    "example": 2,
                                                    "description": "Status code (2 = validation error, 997 = insufficient permissions)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Type not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Type ID to update. Use POST /api/v3/types/list with class_id to get available types.",
                                        "example": 42
                                    },
                                    "label": {
                                        "type": "string",
                                        "description": "New type label (display name)",
                                        "example": "Product"
                                    },
                                    "help": {
                                        "type": "string",
                                        "description": "Type description/help text",
                                        "example": "Product type for catalog items"
                                    },
                                    "icon": {
                                        "type": "string",
                                        "description": "FontAwesome icon class",
                                        "example": "fa-solid fa-box"
                                    },
                                    "color": {
                                        "type": "string",
                                        "description": "Hex color code for the type icon",
                                        "example": "#FF5733"
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Whether the type is active",
                                        "example": true
                                    },
                                    "indexed": {
                                        "type": "boolean",
                                        "description": "Whether the type is indexed for search",
                                        "example": true
                                    },
                                    "not_logged": {
                                        "type": "boolean",
                                        "description": "Disable logging for records of this type",
                                        "example": false
                                    },
                                    "not_exportable": {
                                        "type": "boolean",
                                        "description": "Prevent export of records of this type",
                                        "example": false
                                    },
                                    "manage_file": {
                                        "type": "boolean",
                                        "description": "Enable file management for this type",
                                        "example": false
                                    },
                                    "display_link_tab": {
                                        "type": "boolean",
                                        "description": "Display link tab in the type view",
                                        "example": false
                                    },
                                    "bundle_option": {
                                        "type": "integer",
                                        "description": "Bundle association option: 1=simple bundle, 2=variant bundle, 3=kit bundle. Leave empty or omit if not applicable",
                                        "example": 1
                                    },
                                    "display_related_assets": {
                                        "type": "integer",
                                        "description": "Related assets display mode: 1=display related assets tab. Leave empty or omit if not applicable",
                                        "example": 1
                                    },
                                    "dynamic_search": {
                                        "type": "integer",
                                        "description": "Smart folder / dynamic search setting. Only applied when supertype is Folder (supertype_id=3). Silently ignored for other supertypes. 0=disabled, 1=enabled",
                                        "example": 0
                                    },
                                    "creation_status": {
                                        "type": "integer",
                                        "description": "Default status ID assigned when creating a new record of this type. Use POST /api/v3/types/statuses with the type ID to get available statuses",
                                        "example": 1
                                    },
                                    "project_status": {
                                        "type": "integer",
                                        "description": "Default status ID assigned when creating a new project of this type. Use POST /api/v3/types/statuses with the type ID to get available statuses",
                                        "example": 1
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Parent type ID for nesting this type under another. Use POST /api/v3/types/list with class_id to get existing types. Must belong to the same library. Set to 0 to remove parent",
                                        "example": 15
                                    },
                                    "order": {
                                        "type": "integer",
                                        "description": "Display order position. Lower values appear first",
                                        "example": 1
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/types/update-permissions/": {
            "post": {
                "tags": [
                    "types"
                ],
                "summary": "Update group permissions for a type",
                "description": "## Purpose\n\nManages group (LCA) permissions on an asset type. Controls which groups can create, edit, or view assets of this type. Type IDs are unique across all libraries.\n\n## Modes\n\n- **synchronize**: Replaces ALL permissions for the type. Groups not listed are removed. Use this to set the complete permission state.\n- **update**: Adds or modifies only the listed groups. Existing groups not mentioned are left unchanged. Recommended for incremental changes.\n- **delete**: Removes permissions for the listed groups. The `create`, `edit`, `view` fields are ignored in this mode.\n\n## Permission Hierarchy\n\nPermissions follow a logical hierarchy enforced server-side:\n- `create: true` automatically enables `edit` and `view`\n- `edit: true` automatically enables `view`\n- `view: false` automatically disables `create` and `edit`\n\n## Discovery Chain\n\n1. Get libraries: `POST /api/v3/administration/classes/list`\n2. Get types for a library: `POST /api/v3/types/list` with `class_id`\n3. Get available groups: `POST /api/v3/permissions/groups/list`\n4. Read current permissions: `POST /api/v3/types/get` with `id`\n\n## Common Errors\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| Type not found with id X | Invalid type ID | Use `POST /api/v3/types/list` with `class_id` to get valid IDs |\n| Group ID X does not exist | Invalid group_id | Use `POST /api/v3/permissions/groups/list` to get valid group IDs |\n| Cannot manage permissions on a duplicates handler type | Type is reserved for duplicates management | Choose a different type |\n| Not allowed operation | User lacks admin permission or `lca_manage_type_fiche` right | Requires admin-level API token |\n\n## Example Requests\n\n### Update specific groups\n```json\n{\"id\": 42, \"mode\": \"update\", \"permissions\": [{\"group_id\": 5, \"create\": true, \"edit\": true, \"view\": true}]}\n```\n\n### Synchronize all permissions (replaces everything)\n```json\n{\"id\": 42, \"mode\": \"synchronize\", \"permissions\": [{\"group_id\": 5, \"create\": true, \"edit\": true, \"view\": true}, {\"group_id\": 8, \"create\": false, \"edit\": true, \"view\": true}]}\n```\n\n### Delete group permissions\n```json\n{\"id\": 42, \"mode\": \"delete\", \"permissions\": [{\"group_id\": 8}]}\n```\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the complete permission state after the operation, including all groups with their create/edit/view flags",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Permissions updated successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 42,
                                                            "description": "Asset type ID"
                                                        },
                                                        "mode": {
                                                            "type": "string",
                                                            "example": "update",
                                                            "description": "Operation mode used"
                                                        },
                                                        "affected_groups": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Number of groups affected by the operation"
                                                        },
                                                        "permissions": {
                                                            "type": "array",
                                                            "description": "Complete permission state after the operation",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "group_id": {
                                                                        "type": "integer",
                                                                        "description": "Permission group (LCA) ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "description": "Group display name"
                                                                    },
                                                                    "create": {
                                                                        "type": "boolean",
                                                                        "description": "Can create assets of this type"
                                                                    },
                                                                    "edit": {
                                                                        "type": "boolean",
                                                                        "description": "Can edit assets of this type"
                                                                    },
                                                                    "view": {
                                                                        "type": "boolean",
                                                                        "description": "Can view assets of this type"
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "mode",
                                                        "affected_groups",
                                                        "permissions"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Type not found",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Asset type ID. First get a class_id from POST /api/v3/administration/classes/list, then use POST /api/v3/types/list with that class_id to discover type IDs.",
                                        "example": 42
                                    },
                                    "mode": {
                                        "type": "string",
                                        "description": "Operation mode. \"synchronize\": replaces ALL permissions (groups not listed are removed). \"update\": adds or modifies only listed groups (others unchanged). \"delete\": removes listed groups (create/edit/view fields ignored). Recommendation: use \"update\" for incremental changes, \"synchronize\" for full state management.",
                                        "enum": [
                                            "synchronize",
                                            "update",
                                            "delete"
                                        ],
                                        "example": "update"
                                    },
                                    "permissions": {
                                        "type": "array",
                                        "description": "Array of permission objects defining group-level access. In \"update\"/\"synchronize\" modes, each object requires group_id + create/edit/view booleans. In \"delete\" mode, only group_id is needed (other fields are ignored). (Array of objects - see example for structure)",
                                        "example": [
                                            {
                                                "group_id": 5,
                                                "create": true,
                                                "edit": true,
                                                "view": true
                                            },
                                            {
                                                "group_id": 8,
                                                "create": false,
                                                "edit": true,
                                                "view": true
                                            }
                                        ],
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "group_id": {
                                                    "type": "integer",
                                                    "required": true,
                                                    "description": "Permission group (LCA) ID. Use POST /api/v3/permissions/groups/list to get available groups and their IDs."
                                                },
                                                "create": {
                                                    "type": "boolean",
                                                    "required": false,
                                                    "description": "Can create assets of this type. Default: false. Ignored in delete mode."
                                                },
                                                "edit": {
                                                    "type": "boolean",
                                                    "required": false,
                                                    "description": "Can edit assets of this type. Default: false. Ignored in delete mode."
                                                },
                                                "view": {
                                                    "type": "boolean",
                                                    "required": false,
                                                    "description": "Can view assets of this type. Default: false. Ignored in delete mode."
                                                }
                                            }
                                        }
                                    }
                                },
                                "required": [
                                    "id",
                                    "mode",
                                    "permissions"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/types/create/": {
            "post": {
                "tags": [
                    "types"
                ],
                "summary": "Create a new type in a library",
                "description": "## Purpose\n\nCreates a new asset type (category) in a library with full configuration. If a type with the same label already exists for the given supertype, it returns the existing type without creating a duplicate.\n\n## Required Parameters\n\n- `class_id`: Library where the type will be created\n- `label`: Display name for the type\n- `supertype_id`: Category of type\n\n## Optional Parameters\n\nAll other parameters are optional and allow full type configuration at creation time: icon, color, help text, visibility, export, logging, file management, etc.\n\n## Idempotent Behavior\n\nIf a type with the same label already exists in the same library and supertype, the endpoint returns the existing type with `created: false` instead of creating a duplicate. Optional parameters are NOT applied to existing types.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Type creation response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Type created successfully",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 42,
                                                            "description": "Type ID"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Library ID"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Product",
                                                            "description": "Type label"
                                                        },
                                                        "supertype_id": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Supertype ID"
                                                        },
                                                        "created": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "True if newly created, false if already existed"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "class_id",
                                                        "label",
                                                        "supertype_id",
                                                        "created"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 2,
                                                    "description": "Status code (2 = error)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Type creation failed",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "label": {
                                        "type": "string",
                                        "description": "Type label (display name)",
                                        "example": "Product"
                                    },
                                    "supertype_id": {
                                        "type": "integer",
                                        "description": "Supertype ID : 1=Groupe de fiches, 2=Fiches Produits, 3=Dossier, 4=Page, 5=Publication, 6=Workspace, 7=Article, 8=Fiches Annexes",
                                        "enum": [
                                            1,
                                            2,
                                            3,
                                            4,
                                            5,
                                            6,
                                            7,
                                            8
                                        ],
                                        "example": 2
                                    },
                                    "help": {
                                        "type": "string",
                                        "description": "Type description/help text",
                                        "example": "Product type for catalog items"
                                    },
                                    "icon": {
                                        "type": "string",
                                        "description": "FontAwesome icon class. Overrides the supertype default icon",
                                        "example": "fa-solid fa-box"
                                    },
                                    "color": {
                                        "type": "string",
                                        "description": "Hex color code for the type icon. Overrides the supertype default color",
                                        "example": "#FF5733"
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Whether the type is active. Default: true",
                                        "example": true
                                    },
                                    "indexed": {
                                        "type": "boolean",
                                        "description": "Whether the type is indexed for search. Default: true",
                                        "example": true
                                    },
                                    "not_logged": {
                                        "type": "boolean",
                                        "description": "Disable logging for records of this type. Default: false",
                                        "example": false
                                    },
                                    "not_exportable": {
                                        "type": "boolean",
                                        "description": "Prevent export of records of this type. Default: false",
                                        "example": false
                                    },
                                    "manage_file": {
                                        "type": "boolean",
                                        "description": "Enable file management for this type. Default: false",
                                        "example": false
                                    },
                                    "display_link_tab": {
                                        "type": "boolean",
                                        "description": "Display link tab in the type view. Default: false",
                                        "example": false
                                    },
                                    "bundle_option": {
                                        "type": "integer",
                                        "description": "Bundle association option: 1=simple bundle, 2=variant bundle, 3=kit bundle. Leave empty or omit if not applicable",
                                        "example": 1
                                    },
                                    "display_related_assets": {
                                        "type": "integer",
                                        "description": "Related assets display mode: 1=display related assets tab. Leave empty or omit if not applicable",
                                        "example": 1
                                    },
                                    "dynamic_search": {
                                        "type": "integer",
                                        "description": "Smart folder / dynamic search setting. Only applied when supertype_id=3 (Folder). Silently ignored for other supertypes. 0=disabled, 1=enabled",
                                        "example": 0
                                    },
                                    "creation_status": {
                                        "type": "integer",
                                        "description": "Default status ID assigned when creating a new record of this type. Use POST /api/v3/types/statuses with the type ID to get available statuses. Statuses are inherited from the supertype",
                                        "example": 1
                                    },
                                    "project_status": {
                                        "type": "integer",
                                        "description": "Default status ID assigned when creating a new project of this type. Use POST /api/v3/types/statuses with the type ID to get available statuses. Statuses are inherited from the supertype",
                                        "example": 1
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Parent type ID for nesting this type under another. Use POST /api/v3/types/list with class_id to get existing types. Must belong to the same library",
                                        "example": 15
                                    },
                                    "order": {
                                        "type": "integer",
                                        "description": "Display order position. Lower values appear first",
                                        "example": 1
                                    }
                                },
                                "required": [
                                    "class_id",
                                    "label",
                                    "supertype_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/workflows/list/node/": {
            "post": {
                "tags": [
                    "workflows"
                ],
                "summary": "List workflows by project node",
                "description": "## Purpose\n\nReturns simplified workflow list for a specific project node (id, code, label, types).\n\n## Node vs Repository Context\n\n- **Node** (`/node/`): Workflows configured for a specific project. Use when working within a project context (e.g., managing assets in a publication project).\n- **Repository** (`/repository/`): Workflows configured at the master repository level (root, no project). Use POST /api/v3/workflows/list/repository/ instead.\n\n## When to Use\n\n- Use to discover available workflows for a project before changing asset workflow status\n- The workflow `id` returned is used in POST /api/v3/recordAsset/update-status/node/\n- Use POST /api/v3/workflows/get with a workflow ID to see complete step configuration (step groups, actions, contributors)\n\n## Filtering\n\nUse `filters.type_id` to filter by asset type. If a workflow has no explicit types, it matches via supertype fallback.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Workflow list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Total number of workflows returned"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 15,
                                                                        "description": "Workflow ID"
                                                                    },
                                                                    "code": {
                                                                        "type": "string",
                                                                        "example": "",
                                                                        "description": "Workflow code"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Workflow validation",
                                                                        "description": "Workflow label"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Class ID"
                                                                    },
                                                                    "project_node_id": {
                                                                        "type": "integer",
                                                                        "example": 1234,
                                                                        "description": "Project node ID"
                                                                    },
                                                                    "project_label": {
                                                                        "type": "string",
                                                                        "example": "My Project",
                                                                        "description": "Project label"
                                                                    },
                                                                    "tags": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [
                                                                            "validation",
                                                                            "review"
                                                                        ],
                                                                        "description": "Array of tags (can be empty)"
                                                                    },
                                                                    "supertype": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "id": {
                                                                                "type": "integer",
                                                                                "example": 3,
                                                                                "description": "Supertype ID"
                                                                            },
                                                                            "label": {
                                                                                "type": "string",
                                                                                "example": "Products",
                                                                                "description": "Supertype label"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "id",
                                                                            "label"
                                                                        ],
                                                                        "description": "Supertype information"
                                                                    },
                                                                    "types": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "id": {
                                                                                    "type": "integer",
                                                                                    "example": 42,
                                                                                    "description": "Type ID"
                                                                                },
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "example": "Product",
                                                                                    "description": "Type label"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "id",
                                                                                "label"
                                                                            ]
                                                                        },
                                                                        "description": "Array of asset types associated with this workflow"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "code",
                                                                    "label",
                                                                    "class_id",
                                                                    "project_node_id",
                                                                    "project_label",
                                                                    "tags",
                                                                    "supertype",
                                                                    "types"
                                                                ]
                                                            },
                                                            "description": "Array of workflow objects"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Project not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Project node ID. Use POST /api/v3/projects/list with class_id to get available projects.",
                                        "example": 1234
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "filters": {
                                        "type": "object",
                                        "description": "Optional filters object. Currently supports filtering by type_id only.",
                                        "example": {
                                            "type_id": 42
                                        },
                                        "properties": {
                                            "type_id": {
                                                "type": "integer",
                                                "description": "Filter workflows by type ID. Use POST /api/v3/types/list with class_id to get valid type IDs. Returns workflows that have this type in their types array, or if types is empty, have a supertype matching the type's supertype.",
                                                "example": 42
                                            }
                                        }
                                    }
                                },
                                "required": [
                                    "project_node_id",
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/workflows/list/repository/": {
            "post": {
                "tags": [
                    "workflows"
                ],
                "summary": "List workflows for repository",
                "description": "## Purpose\n\nReturns simplified workflow list for the master repository (automatically retrieved by class_id).\n\n## Node vs Repository Context\n\n- **Repository** (`/repository/`): Workflows configured at the master repository level (root project, project_node_id=0). These apply to all assets at the library level, outside of any specific project context.\n- **Node** (`/node/`): Workflows for a specific project. Use POST /api/v3/workflows/list/node/ with project_node_id instead.\n\n## When to Use\n\n- Use to discover available workflows for master data (repository context)\n- The workflow `id` returned is used in POST /api/v3/recordAsset/update-status/repository/\n- Use POST /api/v3/workflows/get with a workflow ID to see complete step configuration\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Workflow list response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Total number of workflows returned"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 15,
                                                                        "description": "Workflow ID"
                                                                    },
                                                                    "code": {
                                                                        "type": "string",
                                                                        "example": "",
                                                                        "description": "Workflow code"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Workflow validation",
                                                                        "description": "Workflow label"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Class ID"
                                                                    },
                                                                    "project_node_id": {
                                                                        "type": "integer",
                                                                        "example": 0,
                                                                        "description": "Project node ID (0 for repository project)"
                                                                    },
                                                                    "project_label": {
                                                                        "type": "string",
                                                                        "example": "Repository Project",
                                                                        "description": "Project label"
                                                                    },
                                                                    "tags": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [
                                                                            "validation",
                                                                            "review"
                                                                        ],
                                                                        "description": "Array of tags (can be empty)"
                                                                    },
                                                                    "supertype": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "id": {
                                                                                "type": "integer",
                                                                                "example": 3,
                                                                                "description": "Supertype ID"
                                                                            },
                                                                            "label": {
                                                                                "type": "string",
                                                                                "example": "Products",
                                                                                "description": "Supertype label"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "id",
                                                                            "label"
                                                                        ],
                                                                        "description": "Supertype information"
                                                                    },
                                                                    "types": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "id": {
                                                                                    "type": "integer",
                                                                                    "example": 42,
                                                                                    "description": "Type ID"
                                                                                },
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "example": "Product",
                                                                                    "description": "Type label"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "id",
                                                                                "label"
                                                                            ]
                                                                        },
                                                                        "description": "Array of asset types associated with this workflow"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "code",
                                                                    "label",
                                                                    "class_id",
                                                                    "project_node_id",
                                                                    "project_label",
                                                                    "tags",
                                                                    "supertype",
                                                                    "types"
                                                                ]
                                                            },
                                                            "description": "Array of workflow objects"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Repository project not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "filters": {
                                        "type": "object",
                                        "description": "Optional filters object. Currently supports filtering by type_id only.",
                                        "example": {
                                            "type_id": 42
                                        },
                                        "properties": {
                                            "type_id": {
                                                "type": "integer",
                                                "description": "Filter workflows by type ID. Use POST /api/v3/types/list with class_id to get valid type IDs. Returns workflows that have this type in their types array, or if types is empty, have a supertype matching the type's supertype.",
                                                "example": 42
                                            }
                                        }
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/workflows/get/": {
            "post": {
                "tags": [
                    "workflows"
                ],
                "summary": "Get workflow details",
                "description": "## Purpose\n\nReturns complete workflow configuration including step groups hierarchy, steps with their actions, contributors, completeness rules, and notification settings.\n\n## When to Use\n\n- Use after POST /api/v3/workflows/list/repository/ or POST /api/v3/workflows/list/node/ to get full details of a workflow\n- Check `configuration.step_groups[].steps[]` to understand the workflow progression\n- Check each step's `actions` to see available transitions (validate, reject, submit)\n- Check `contributors` per step to see which user groups can act\n- Check `completeness` to understand automatic transitions based on data completeness\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Workflow information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "id": {
                                                            "type": "integer",
                                                            "example": 15,
                                                            "description": "Workflow ID"
                                                        },
                                                        "code": {
                                                            "type": "string",
                                                            "example": "",
                                                            "description": "Workflow code"
                                                        },
                                                        "label": {
                                                            "type": "string",
                                                            "example": "Workflow validation",
                                                            "description": "Workflow label"
                                                        },
                                                        "tags": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            },
                                                            "example": [
                                                                "validation",
                                                                "review"
                                                            ],
                                                            "description": "Array of tags (can be empty)"
                                                        },
                                                        "class_id": {
                                                            "type": "integer",
                                                            "example": 4,
                                                            "description": "Associated class ID"
                                                        },
                                                        "project_node_id": {
                                                            "type": "integer",
                                                            "example": 1234,
                                                            "description": "Project node ID (0 for repository project)"
                                                        },
                                                        "project_label": {
                                                            "type": "string",
                                                            "example": "My Project",
                                                            "description": "Project label"
                                                        },
                                                        "started": {
                                                            "type": "boolean",
                                                            "example": true,
                                                            "description": "Whether the workflow is started"
                                                        },
                                                        "filters": {
                                                            "type": "array",
                                                            "nullable": true,
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "attribute_id": {
                                                                        "type": "integer",
                                                                        "example": 123,
                                                                        "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes."
                                                                    },
                                                                    "attribute_label": {
                                                                        "type": "string",
                                                                        "example": "Status",
                                                                        "description": "Attribute label"
                                                                    },
                                                                    "value": {
                                                                        "type": "string",
                                                                        "example": "active",
                                                                        "description": "Filter value"
                                                                    }
                                                                }
                                                            },
                                                            "description": "Workflow filters (array of filter objects or null)"
                                                        },
                                                        "supertype": {
                                                            "type": "object",
                                                            "properties": {
                                                                "id": {
                                                                    "type": "integer",
                                                                    "example": 3,
                                                                    "description": "Supertype ID"
                                                                },
                                                                "label": {
                                                                    "type": "string",
                                                                    "example": "Products",
                                                                    "description": "Supertype label"
                                                                }
                                                            },
                                                            "required": [
                                                                "id",
                                                                "label"
                                                            ],
                                                            "description": "Supertype information"
                                                        },
                                                        "types": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 42,
                                                                        "description": "Type ID"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Product",
                                                                        "description": "Type label"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "label"
                                                                ]
                                                            },
                                                            "description": "Array of asset types associated with this workflow"
                                                        },
                                                        "configuration": {
                                                            "type": "object",
                                                            "properties": {
                                                                "step_groups": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "id": {
                                                                                "type": "integer",
                                                                                "example": 1,
                                                                                "description": "Step group ID"
                                                                            },
                                                                            "label": {
                                                                                "type": "string",
                                                                                "example": "Validation",
                                                                                "description": "Step group label"
                                                                            },
                                                                            "order": {
                                                                                "type": "integer",
                                                                                "example": 1,
                                                                                "description": "Display order"
                                                                            },
                                                                            "steps": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "id": {
                                                                                            "type": "integer",
                                                                                            "example": 101,
                                                                                            "description": "Step ID"
                                                                                        },
                                                                                        "label": {
                                                                                            "type": "string",
                                                                                            "example": "Draft",
                                                                                            "description": "Step label"
                                                                                        },
                                                                                        "order": {
                                                                                            "type": "integer",
                                                                                            "example": 1,
                                                                                            "description": "Display order"
                                                                                        },
                                                                                        "color": {
                                                                                            "type": "string",
                                                                                            "nullable": true,
                                                                                            "example": "#28a745",
                                                                                            "description": "Step color"
                                                                                        },
                                                                                        "start": {
                                                                                            "type": "boolean",
                                                                                            "example": false,
                                                                                            "description": "Whether this is a start step"
                                                                                        },
                                                                                        "notification": {
                                                                                            "type": "object",
                                                                                            "nullable": true,
                                                                                            "properties": {
                                                                                                "mail_template_id": {
                                                                                                    "type": "integer",
                                                                                                    "example": 5,
                                                                                                    "description": "Mail template ID"
                                                                                                },
                                                                                                "mail_template_label": {
                                                                                                    "type": "string",
                                                                                                    "example": "Validation notification",
                                                                                                    "description": "Mail template label"
                                                                                                }
                                                                                            },
                                                                                            "description": "Notification configuration (null if not configured)"
                                                                                        },
                                                                                        "delay_days": {
                                                                                            "type": "integer",
                                                                                            "nullable": true,
                                                                                            "example": 7,
                                                                                            "description": "Delay in days for the step"
                                                                                        },
                                                                                        "contributors": {
                                                                                            "type": "array",
                                                                                            "items": {
                                                                                                "type": "object",
                                                                                                "properties": {
                                                                                                    "id": {
                                                                                                        "type": "integer",
                                                                                                        "example": 5,
                                                                                                        "description": "Contributor group ID"
                                                                                                    },
                                                                                                    "label": {
                                                                                                        "type": "string",
                                                                                                        "example": "Validation Group",
                                                                                                        "description": "Contributor group label"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "id",
                                                                                                    "label"
                                                                                                ]
                                                                                            },
                                                                                            "description": "Array of contributors for this step"
                                                                                        },
                                                                                        "actions": {
                                                                                            "type": "array",
                                                                                            "items": {
                                                                                                "type": "object",
                                                                                                "properties": {
                                                                                                    "id": {
                                                                                                        "type": "integer",
                                                                                                        "example": 201,
                                                                                                        "description": "Action ID"
                                                                                                    },
                                                                                                    "label": {
                                                                                                        "type": "string",
                                                                                                        "example": "Validate",
                                                                                                        "description": "Action label"
                                                                                                    },
                                                                                                    "goto_step": {
                                                                                                        "type": "object",
                                                                                                        "nullable": true,
                                                                                                        "properties": {
                                                                                                            "id": {
                                                                                                                "type": "integer",
                                                                                                                "example": 102,
                                                                                                                "description": "Destination step ID"
                                                                                                            },
                                                                                                            "label": {
                                                                                                                "type": "string",
                                                                                                                "example": "Validated",
                                                                                                                "description": "Destination step label"
                                                                                                            }
                                                                                                        },
                                                                                                        "required": [
                                                                                                            "id",
                                                                                                            "label"
                                                                                                        ],
                                                                                                        "description": "Destination step (null if no destination)"
                                                                                                    },
                                                                                                    "mode": {
                                                                                                        "type": "string",
                                                                                                        "enum": [
                                                                                                            "send_the_brief",
                                                                                                            "submit",
                                                                                                            "reject",
                                                                                                            "validate"
                                                                                                        ],
                                                                                                        "example": "validate",
                                                                                                        "description": "Action mode (send_the_brief, submit, reject or validate)"
                                                                                                    },
                                                                                                    "display_if_completeness": {
                                                                                                        "type": "boolean",
                                                                                                        "example": false,
                                                                                                        "description": "Display button only if all completeness attributes are filled"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "id",
                                                                                                    "label",
                                                                                                    "mode",
                                                                                                    "display_if_completeness"
                                                                                                ]
                                                                                            },
                                                                                            "description": "Array of actions for this step"
                                                                                        },
                                                                                        "completeness": {
                                                                                            "type": "object",
                                                                                            "nullable": true,
                                                                                            "properties": {
                                                                                                "attributes": {
                                                                                                    "type": "object",
                                                                                                    "nullable": true,
                                                                                                    "additionalProperties": {
                                                                                                        "type": "string"
                                                                                                    },
                                                                                                    "example": {
                                                                                                        "123": "Attribute Label",
                                                                                                        "456": "Other Attribute"
                                                                                                    },
                                                                                                    "description": "Map of attribute IDs to their labels"
                                                                                                },
                                                                                                "automate_goto_step": {
                                                                                                    "type": "object",
                                                                                                    "nullable": true,
                                                                                                    "properties": {
                                                                                                        "id": {
                                                                                                            "type": "integer",
                                                                                                            "example": 102,
                                                                                                            "description": "Automatic transition step ID when complete"
                                                                                                        },
                                                                                                        "label": {
                                                                                                            "type": "string",
                                                                                                            "example": "Validate",
                                                                                                            "description": "Automatic transition step label when complete"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "id",
                                                                                                        "label"
                                                                                                    ],
                                                                                                    "description": "Automatic step transition when completeness is reached"
                                                                                                }
                                                                                            },
                                                                                            "description": "Completeness configuration (null if not configured)"
                                                                                        },
                                                                                        "hotfolder": {
                                                                                            "type": "object",
                                                                                            "nullable": true,
                                                                                            "properties": {
                                                                                                "action_on_update": {
                                                                                                    "type": "object",
                                                                                                    "nullable": true,
                                                                                                    "properties": {
                                                                                                        "id": {
                                                                                                            "type": "integer",
                                                                                                            "example": 201,
                                                                                                            "description": "Action ID to execute on update"
                                                                                                        },
                                                                                                        "label": {
                                                                                                            "type": "string",
                                                                                                            "example": "Validate",
                                                                                                            "description": "Action label"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "id",
                                                                                                        "label"
                                                                                                    ],
                                                                                                    "description": "Action to execute when hotfolder is updated (null for no automatic step change)"
                                                                                                },
                                                                                                "create_version": {
                                                                                                    "type": "boolean",
                                                                                                    "example": true,
                                                                                                    "description": "Whether to create a version on update"
                                                                                                }
                                                                                            },
                                                                                            "description": "Hotfolder configuration (null if not configured or not active)"
                                                                                        },
                                                                                        "status_piloting_view": {
                                                                                            "type": "object",
                                                                                            "properties": {
                                                                                                "status": {
                                                                                                    "type": "object",
                                                                                                    "nullable": true,
                                                                                                    "properties": {
                                                                                                        "id": {
                                                                                                            "type": "string",
                                                                                                            "example": "1234",
                                                                                                            "description": "Status id"
                                                                                                        },
                                                                                                        "label": {
                                                                                                            "type": "string",
                                                                                                            "nullable": true,
                                                                                                            "example": "Admin Status",
                                                                                                            "description": "Status label"
                                                                                                        }
                                                                                                    },
                                                                                                    "required": [
                                                                                                        "id"
                                                                                                    ],
                                                                                                    "description": "Status configuration (null if not configured)"
                                                                                                },
                                                                                                "default_view": {
                                                                                                    "type": "string",
                                                                                                    "nullable": true,
                                                                                                    "enum": [
                                                                                                        "default",
                                                                                                        "completeness",
                                                                                                        "list"
                                                                                                    ],
                                                                                                    "example": "completeness",
                                                                                                    "description": "Default view mode (default, completeness, or list)"
                                                                                                },
                                                                                                "children_piloting": {
                                                                                                    "type": "object",
                                                                                                    "nullable": true,
                                                                                                    "oneOf": [
                                                                                                        {
                                                                                                            "type": "object",
                                                                                                            "title": "Workflow Type",
                                                                                                            "properties": {
                                                                                                                "type": {
                                                                                                                    "type": "string",
                                                                                                                    "enum": [
                                                                                                                        "workflow"
                                                                                                                    ],
                                                                                                                    "example": "workflow",
                                                                                                                    "description": "Children piloting type"
                                                                                                                },
                                                                                                                "items": {
                                                                                                                    "type": "array",
                                                                                                                    "items": {
                                                                                                                        "type": "object",
                                                                                                                        "properties": {
                                                                                                                            "workflow": {
                                                                                                                                "type": "object",
                                                                                                                                "properties": {
                                                                                                                                    "id": {
                                                                                                                                        "type": "integer",
                                                                                                                                        "example": 15,
                                                                                                                                        "description": "Target workflow ID"
                                                                                                                                    },
                                                                                                                                    "label": {
                                                                                                                                        "type": "string",
                                                                                                                                        "nullable": true,
                                                                                                                                        "example": "Child Workflow",
                                                                                                                                        "description": "Target workflow label"
                                                                                                                                    }
                                                                                                                                },
                                                                                                                                "required": [
                                                                                                                                    "id"
                                                                                                                                ]
                                                                                                                            },
                                                                                                                            "step": {
                                                                                                                                "type": "object",
                                                                                                                                "properties": {
                                                                                                                                    "id": {
                                                                                                                                        "type": "integer",
                                                                                                                                        "example": 101,
                                                                                                                                        "description": "Target step ID"
                                                                                                                                    },
                                                                                                                                    "label": {
                                                                                                                                        "type": "string",
                                                                                                                                        "nullable": true,
                                                                                                                                        "example": "Draft",
                                                                                                                                        "description": "Target step label"
                                                                                                                                    }
                                                                                                                                },
                                                                                                                                "required": [
                                                                                                                                    "id"
                                                                                                                                ]
                                                                                                                            }
                                                                                                                        },
                                                                                                                        "required": [
                                                                                                                            "workflow",
                                                                                                                            "step"
                                                                                                                        ]
                                                                                                                    },
                                                                                                                    "description": "Array of workflow step configurations"
                                                                                                                }
                                                                                                            },
                                                                                                            "required": [
                                                                                                                "type",
                                                                                                                "items"
                                                                                                            ]
                                                                                                        },
                                                                                                        {
                                                                                                            "type": "object",
                                                                                                            "title": "Status Type",
                                                                                                            "properties": {
                                                                                                                "type": {
                                                                                                                    "type": "string",
                                                                                                                    "enum": [
                                                                                                                        "status"
                                                                                                                    ],
                                                                                                                    "example": "status",
                                                                                                                    "description": "Children piloting type"
                                                                                                                },
                                                                                                                "items": {
                                                                                                                    "type": "array",
                                                                                                                    "items": {
                                                                                                                        "type": "object",
                                                                                                                        "properties": {
                                                                                                                            "status": {
                                                                                                                                "type": "object",
                                                                                                                                "properties": {
                                                                                                                                    "id": {
                                                                                                                                        "type": "integer",
                                                                                                                                        "example": 123,
                                                                                                                                        "description": "Status ID"
                                                                                                                                    },
                                                                                                                                    "label": {
                                                                                                                                        "type": "string",
                                                                                                                                        "nullable": true,
                                                                                                                                        "example": "Active",
                                                                                                                                        "description": "Status label"
                                                                                                                                    }
                                                                                                                                },
                                                                                                                                "required": [
                                                                                                                                    "id"
                                                                                                                                ]
                                                                                                                            },
                                                                                                                            "supertypes": {
                                                                                                                                "type": "array",
                                                                                                                                "nullable": true,
                                                                                                                                "items": {
                                                                                                                                    "type": "object",
                                                                                                                                    "properties": {
                                                                                                                                        "id": {
                                                                                                                                            "type": "integer",
                                                                                                                                            "example": 3,
                                                                                                                                            "description": "Supertype ID"
                                                                                                                                        },
                                                                                                                                        "label": {
                                                                                                                                            "type": "string",
                                                                                                                                            "nullable": true,
                                                                                                                                            "example": "Products",
                                                                                                                                            "description": "Supertype label"
                                                                                                                                        }
                                                                                                                                    },
                                                                                                                                    "required": [
                                                                                                                                        "id"
                                                                                                                                    ]
                                                                                                                                },
                                                                                                                                "description": "Array of supertypes (null if not configured)"
                                                                                                                            },
                                                                                                                            "types": {
                                                                                                                                "type": "array",
                                                                                                                                "nullable": true,
                                                                                                                                "items": {
                                                                                                                                    "type": "object",
                                                                                                                                    "properties": {
                                                                                                                                        "id": {
                                                                                                                                            "type": "integer",
                                                                                                                                            "example": 42,
                                                                                                                                            "description": "Type ID"
                                                                                                                                        },
                                                                                                                                        "label": {
                                                                                                                                            "type": "string",
                                                                                                                                            "nullable": true,
                                                                                                                                            "example": "Product",
                                                                                                                                            "description": "Type label"
                                                                                                                                        }
                                                                                                                                    },
                                                                                                                                    "required": [
                                                                                                                                        "id"
                                                                                                                                    ]
                                                                                                                                },
                                                                                                                                "description": "Array of types (null if not configured)"
                                                                                                                            }
                                                                                                                        },
                                                                                                                        "required": [
                                                                                                                            "status"
                                                                                                                        ]
                                                                                                                    },
                                                                                                                    "description": "Array of status configurations"
                                                                                                                }
                                                                                                            },
                                                                                                            "required": [
                                                                                                                "type",
                                                                                                                "items"
                                                                                                            ]
                                                                                                        }
                                                                                                    ],
                                                                                                    "description": "Children piloting configuration (null if not configured)"
                                                                                                }
                                                                                            },
                                                                                            "description": "Status, piloting and view configuration"
                                                                                        },
                                                                                        "reminder": {
                                                                                            "type": "object",
                                                                                            "nullable": true,
                                                                                            "properties": {
                                                                                                "days_before": {
                                                                                                    "type": "integer",
                                                                                                    "example": 7,
                                                                                                    "description": "Days before deadline to send notification"
                                                                                                },
                                                                                                "recurrence_days": {
                                                                                                    "type": "integer",
                                                                                                    "nullable": true,
                                                                                                    "example": 1,
                                                                                                    "description": "Recurrence interval in days for notifications"
                                                                                                }
                                                                                            },
                                                                                            "description": "Reminder configuration (null if not configured)"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "id",
                                                                                        "label",
                                                                                        "order",
                                                                                        "start",
                                                                                        "contributors",
                                                                                        "actions",
                                                                                        "status_piloting_view"
                                                                                    ]
                                                                                },
                                                                                "description": "Array of steps in this group"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "id",
                                                                            "label",
                                                                            "order",
                                                                            "steps"
                                                                        ]
                                                                    },
                                                                    "description": "Array of step groups containing steps with their nested data"
                                                                }
                                                            },
                                                            "required": [
                                                                "step_groups"
                                                            ],
                                                            "description": "Workflow configuration containing step groups hierarchy"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "code",
                                                        "label",
                                                        "class_id",
                                                        "project_node_id",
                                                        "project_label",
                                                        "tags",
                                                        "supertype",
                                                        "types",
                                                        "started",
                                                        "configuration"
                                                    ],
                                                    "description": "Complete workflow information with hierarchical structure"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Workflow not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Workflow ID. Use POST /api/v3/workflows/list/repository/ (for master data) or POST /api/v3/workflows/list/node/ (for project context) to get available workflows.",
                                        "example": 15
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/workflows/full/node/": {
            "post": {
                "tags": [
                    "workflows"
                ],
                "summary": "Get full workflows for project node",
                "description": "## Purpose\n\nReturns all workflows for a project node with complete configuration details.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Workflow list with complete information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Total number of workflows returned"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 15,
                                                                        "description": "Workflow ID"
                                                                    },
                                                                    "code": {
                                                                        "type": "string",
                                                                        "example": "",
                                                                        "description": "Workflow code"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Workflow validation",
                                                                        "description": "Workflow label"
                                                                    },
                                                                    "tags": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [
                                                                            "validation",
                                                                            "review"
                                                                        ],
                                                                        "description": "Array of tags (can be empty)"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Associated class ID"
                                                                    },
                                                                    "project_node_id": {
                                                                        "type": "integer",
                                                                        "example": 1234,
                                                                        "description": "Project node ID (0 for repository project)"
                                                                    },
                                                                    "project_label": {
                                                                        "type": "string",
                                                                        "example": "My Project",
                                                                        "description": "Project label"
                                                                    },
                                                                    "started": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether the workflow is started"
                                                                    },
                                                                    "filters": {
                                                                        "type": "array",
                                                                        "nullable": true,
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "attribute_id": {
                                                                                    "type": "integer",
                                                                                    "example": 123,
                                                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes."
                                                                                },
                                                                                "attribute_label": {
                                                                                    "type": "string",
                                                                                    "example": "Status",
                                                                                    "description": "Attribute label"
                                                                                },
                                                                                "value": {
                                                                                    "type": "string",
                                                                                    "example": "active",
                                                                                    "description": "Filter value"
                                                                                }
                                                                            }
                                                                        },
                                                                        "description": "Workflow filters (array of filter objects or null)"
                                                                    },
                                                                    "supertype": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "id": {
                                                                                "type": "integer",
                                                                                "example": 3,
                                                                                "description": "Supertype ID"
                                                                            },
                                                                            "label": {
                                                                                "type": "string",
                                                                                "example": "Products",
                                                                                "description": "Supertype label"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "id",
                                                                            "label"
                                                                        ],
                                                                        "description": "Supertype information"
                                                                    },
                                                                    "types": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "id": {
                                                                                    "type": "integer",
                                                                                    "example": 42,
                                                                                    "description": "Type ID"
                                                                                },
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "example": "Product",
                                                                                    "description": "Type label"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "id",
                                                                                "label"
                                                                            ]
                                                                        },
                                                                        "description": "Array of asset types associated with this workflow"
                                                                    },
                                                                    "configuration": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "step_groups": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "id": {
                                                                                            "type": "integer",
                                                                                            "example": 1,
                                                                                            "description": "Step group ID"
                                                                                        },
                                                                                        "label": {
                                                                                            "type": "string",
                                                                                            "example": "Validation",
                                                                                            "description": "Step group label"
                                                                                        },
                                                                                        "order": {
                                                                                            "type": "integer",
                                                                                            "example": 1,
                                                                                            "description": "Display order"
                                                                                        },
                                                                                        "steps": {
                                                                                            "type": "array",
                                                                                            "items": {
                                                                                                "type": "object",
                                                                                                "properties": {
                                                                                                    "id": {
                                                                                                        "type": "integer",
                                                                                                        "example": 101,
                                                                                                        "description": "Step ID"
                                                                                                    },
                                                                                                    "label": {
                                                                                                        "type": "string",
                                                                                                        "example": "Draft",
                                                                                                        "description": "Step label"
                                                                                                    },
                                                                                                    "order": {
                                                                                                        "type": "integer",
                                                                                                        "example": 1,
                                                                                                        "description": "Display order"
                                                                                                    },
                                                                                                    "color": {
                                                                                                        "type": "string",
                                                                                                        "nullable": true,
                                                                                                        "example": "#28a745",
                                                                                                        "description": "Step color"
                                                                                                    },
                                                                                                    "start": {
                                                                                                        "type": "boolean",
                                                                                                        "example": false,
                                                                                                        "description": "Whether this is a start step"
                                                                                                    },
                                                                                                    "notification": {
                                                                                                        "type": "object",
                                                                                                        "nullable": true,
                                                                                                        "properties": {
                                                                                                            "mail_template_id": {
                                                                                                                "type": "integer",
                                                                                                                "example": 5,
                                                                                                                "description": "Mail template ID"
                                                                                                            },
                                                                                                            "mail_template_label": {
                                                                                                                "type": "string",
                                                                                                                "example": "Validation notification",
                                                                                                                "description": "Mail template label"
                                                                                                            }
                                                                                                        },
                                                                                                        "description": "Notification configuration (null if not configured)"
                                                                                                    },
                                                                                                    "delay_days": {
                                                                                                        "type": "integer",
                                                                                                        "nullable": true,
                                                                                                        "example": 7,
                                                                                                        "description": "Delay in days for the step"
                                                                                                    },
                                                                                                    "contributors": {
                                                                                                        "type": "array",
                                                                                                        "items": {
                                                                                                            "type": "object",
                                                                                                            "properties": {
                                                                                                                "id": {
                                                                                                                    "type": "integer",
                                                                                                                    "example": 5,
                                                                                                                    "description": "Contributor group ID"
                                                                                                                },
                                                                                                                "label": {
                                                                                                                    "type": "string",
                                                                                                                    "example": "Validation Group",
                                                                                                                    "description": "Contributor group label"
                                                                                                                }
                                                                                                            },
                                                                                                            "required": [
                                                                                                                "id",
                                                                                                                "label"
                                                                                                            ]
                                                                                                        },
                                                                                                        "description": "Array of contributors for this step"
                                                                                                    },
                                                                                                    "actions": {
                                                                                                        "type": "array",
                                                                                                        "items": {
                                                                                                            "type": "object",
                                                                                                            "properties": {
                                                                                                                "id": {
                                                                                                                    "type": "integer",
                                                                                                                    "example": 201,
                                                                                                                    "description": "Action ID"
                                                                                                                },
                                                                                                                "label": {
                                                                                                                    "type": "string",
                                                                                                                    "example": "Validate",
                                                                                                                    "description": "Action label"
                                                                                                                },
                                                                                                                "goto_step": {
                                                                                                                    "type": "object",
                                                                                                                    "nullable": true,
                                                                                                                    "properties": {
                                                                                                                        "id": {
                                                                                                                            "type": "integer",
                                                                                                                            "example": 102,
                                                                                                                            "description": "Destination step ID"
                                                                                                                        },
                                                                                                                        "label": {
                                                                                                                            "type": "string",
                                                                                                                            "example": "Validated",
                                                                                                                            "description": "Destination step label"
                                                                                                                        }
                                                                                                                    },
                                                                                                                    "required": [
                                                                                                                        "id",
                                                                                                                        "label"
                                                                                                                    ],
                                                                                                                    "description": "Destination step (null if no destination)"
                                                                                                                },
                                                                                                                "mode": {
                                                                                                                    "type": "string",
                                                                                                                    "enum": [
                                                                                                                        "send_the_brief",
                                                                                                                        "submit",
                                                                                                                        "reject",
                                                                                                                        "validate"
                                                                                                                    ],
                                                                                                                    "example": "validate",
                                                                                                                    "description": "Action mode (send_the_brief, submit, reject or validate)"
                                                                                                                },
                                                                                                                "display_if_completeness": {
                                                                                                                    "type": "boolean",
                                                                                                                    "example": false,
                                                                                                                    "description": "Display button only if all completeness attributes are filled"
                                                                                                                }
                                                                                                            },
                                                                                                            "required": [
                                                                                                                "id",
                                                                                                                "label",
                                                                                                                "mode",
                                                                                                                "display_if_completeness"
                                                                                                            ]
                                                                                                        },
                                                                                                        "description": "Array of actions for this step"
                                                                                                    },
                                                                                                    "completeness": {
                                                                                                        "type": "object",
                                                                                                        "nullable": true,
                                                                                                        "properties": {
                                                                                                            "attributes": {
                                                                                                                "type": "object",
                                                                                                                "nullable": true,
                                                                                                                "additionalProperties": {
                                                                                                                    "type": "string"
                                                                                                                },
                                                                                                                "example": {
                                                                                                                    "123": "Attribute Label",
                                                                                                                    "456": "Other Attribute"
                                                                                                                },
                                                                                                                "description": "Map of attribute IDs to their labels"
                                                                                                            },
                                                                                                            "automate_goto_step": {
                                                                                                                "type": "object",
                                                                                                                "nullable": true,
                                                                                                                "properties": {
                                                                                                                    "id": {
                                                                                                                        "type": "integer",
                                                                                                                        "example": 102,
                                                                                                                        "description": "Automatic transition step ID when complete"
                                                                                                                    },
                                                                                                                    "label": {
                                                                                                                        "type": "string",
                                                                                                                        "example": "Validate",
                                                                                                                        "description": "Automatic transition step label when complete"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "id",
                                                                                                                    "label"
                                                                                                                ],
                                                                                                                "description": "Automatic step transition when completeness is reached"
                                                                                                            }
                                                                                                        },
                                                                                                        "description": "Completeness configuration (null if not configured)"
                                                                                                    },
                                                                                                    "hotfolder": {
                                                                                                        "type": "object",
                                                                                                        "nullable": true,
                                                                                                        "properties": {
                                                                                                            "action_on_update": {
                                                                                                                "type": "object",
                                                                                                                "nullable": true,
                                                                                                                "properties": {
                                                                                                                    "id": {
                                                                                                                        "type": "integer",
                                                                                                                        "example": 201,
                                                                                                                        "description": "Action ID to execute on update"
                                                                                                                    },
                                                                                                                    "label": {
                                                                                                                        "type": "string",
                                                                                                                        "example": "Validate",
                                                                                                                        "description": "Action label"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "id",
                                                                                                                    "label"
                                                                                                                ],
                                                                                                                "description": "Action to execute when hotfolder is updated (null for no automatic step change)"
                                                                                                            },
                                                                                                            "create_version": {
                                                                                                                "type": "boolean",
                                                                                                                "example": true,
                                                                                                                "description": "Whether to create a version on update"
                                                                                                            }
                                                                                                        },
                                                                                                        "description": "Hotfolder configuration (null if not configured or not active)"
                                                                                                    },
                                                                                                    "status_piloting_view": {
                                                                                                        "type": "object",
                                                                                                        "properties": {
                                                                                                            "status": {
                                                                                                                "type": "object",
                                                                                                                "nullable": true,
                                                                                                                "properties": {
                                                                                                                    "id": {
                                                                                                                        "type": "string",
                                                                                                                        "example": "1234",
                                                                                                                        "description": "Status id"
                                                                                                                    },
                                                                                                                    "label": {
                                                                                                                        "type": "string",
                                                                                                                        "nullable": true,
                                                                                                                        "example": "Admin Status",
                                                                                                                        "description": "Status label"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "id"
                                                                                                                ],
                                                                                                                "description": "Status configuration (null if not configured)"
                                                                                                            },
                                                                                                            "default_view": {
                                                                                                                "type": "string",
                                                                                                                "nullable": true,
                                                                                                                "enum": [
                                                                                                                    "default",
                                                                                                                    "completeness",
                                                                                                                    "list"
                                                                                                                ],
                                                                                                                "example": "completeness",
                                                                                                                "description": "Default view mode (default, completeness, or list)"
                                                                                                            },
                                                                                                            "children_piloting": {
                                                                                                                "type": "object",
                                                                                                                "nullable": true,
                                                                                                                "oneOf": [
                                                                                                                    {
                                                                                                                        "type": "object",
                                                                                                                        "title": "Workflow Type",
                                                                                                                        "properties": {
                                                                                                                            "type": {
                                                                                                                                "type": "string",
                                                                                                                                "enum": [
                                                                                                                                    "workflow"
                                                                                                                                ],
                                                                                                                                "example": "workflow",
                                                                                                                                "description": "Children piloting type"
                                                                                                                            },
                                                                                                                            "items": {
                                                                                                                                "type": "array",
                                                                                                                                "items": {
                                                                                                                                    "type": "object",
                                                                                                                                    "properties": {
                                                                                                                                        "workflow": {
                                                                                                                                            "type": "object",
                                                                                                                                            "properties": {
                                                                                                                                                "id": {
                                                                                                                                                    "type": "integer",
                                                                                                                                                    "example": 15,
                                                                                                                                                    "description": "Target workflow ID"
                                                                                                                                                },
                                                                                                                                                "label": {
                                                                                                                                                    "type": "string",
                                                                                                                                                    "nullable": true,
                                                                                                                                                    "example": "Child Workflow",
                                                                                                                                                    "description": "Target workflow label"
                                                                                                                                                }
                                                                                                                                            },
                                                                                                                                            "required": [
                                                                                                                                                "id"
                                                                                                                                            ]
                                                                                                                                        },
                                                                                                                                        "step": {
                                                                                                                                            "type": "object",
                                                                                                                                            "properties": {
                                                                                                                                                "id": {
                                                                                                                                                    "type": "integer",
                                                                                                                                                    "example": 101,
                                                                                                                                                    "description": "Target step ID"
                                                                                                                                                },
                                                                                                                                                "label": {
                                                                                                                                                    "type": "string",
                                                                                                                                                    "nullable": true,
                                                                                                                                                    "example": "Draft",
                                                                                                                                                    "description": "Target step label"
                                                                                                                                                }
                                                                                                                                            },
                                                                                                                                            "required": [
                                                                                                                                                "id"
                                                                                                                                            ]
                                                                                                                                        }
                                                                                                                                    },
                                                                                                                                    "required": [
                                                                                                                                        "workflow",
                                                                                                                                        "step"
                                                                                                                                    ]
                                                                                                                                },
                                                                                                                                "description": "Array of workflow step configurations"
                                                                                                                            }
                                                                                                                        },
                                                                                                                        "required": [
                                                                                                                            "type",
                                                                                                                            "items"
                                                                                                                        ]
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "type": "object",
                                                                                                                        "title": "Status Type",
                                                                                                                        "properties": {
                                                                                                                            "type": {
                                                                                                                                "type": "string",
                                                                                                                                "enum": [
                                                                                                                                    "status"
                                                                                                                                ],
                                                                                                                                "example": "status",
                                                                                                                                "description": "Children piloting type"
                                                                                                                            },
                                                                                                                            "items": {
                                                                                                                                "type": "array",
                                                                                                                                "items": {
                                                                                                                                    "type": "object",
                                                                                                                                    "properties": {
                                                                                                                                        "status": {
                                                                                                                                            "type": "object",
                                                                                                                                            "properties": {
                                                                                                                                                "id": {
                                                                                                                                                    "type": "integer",
                                                                                                                                                    "example": 123,
                                                                                                                                                    "description": "Status ID"
                                                                                                                                                },
                                                                                                                                                "label": {
                                                                                                                                                    "type": "string",
                                                                                                                                                    "nullable": true,
                                                                                                                                                    "example": "Active",
                                                                                                                                                    "description": "Status label"
                                                                                                                                                }
                                                                                                                                            },
                                                                                                                                            "required": [
                                                                                                                                                "id"
                                                                                                                                            ]
                                                                                                                                        },
                                                                                                                                        "supertypes": {
                                                                                                                                            "type": "array",
                                                                                                                                            "nullable": true,
                                                                                                                                            "items": {
                                                                                                                                                "type": "object",
                                                                                                                                                "properties": {
                                                                                                                                                    "id": {
                                                                                                                                                        "type": "integer",
                                                                                                                                                        "example": 3,
                                                                                                                                                        "description": "Supertype ID"
                                                                                                                                                    },
                                                                                                                                                    "label": {
                                                                                                                                                        "type": "string",
                                                                                                                                                        "nullable": true,
                                                                                                                                                        "example": "Products",
                                                                                                                                                        "description": "Supertype label"
                                                                                                                                                    }
                                                                                                                                                },
                                                                                                                                                "required": [
                                                                                                                                                    "id"
                                                                                                                                                ]
                                                                                                                                            },
                                                                                                                                            "description": "Array of supertypes (null if not configured)"
                                                                                                                                        },
                                                                                                                                        "types": {
                                                                                                                                            "type": "array",
                                                                                                                                            "nullable": true,
                                                                                                                                            "items": {
                                                                                                                                                "type": "object",
                                                                                                                                                "properties": {
                                                                                                                                                    "id": {
                                                                                                                                                        "type": "integer",
                                                                                                                                                        "example": 42,
                                                                                                                                                        "description": "Type ID"
                                                                                                                                                    },
                                                                                                                                                    "label": {
                                                                                                                                                        "type": "string",
                                                                                                                                                        "nullable": true,
                                                                                                                                                        "example": "Product",
                                                                                                                                                        "description": "Type label"
                                                                                                                                                    }
                                                                                                                                                },
                                                                                                                                                "required": [
                                                                                                                                                    "id"
                                                                                                                                                ]
                                                                                                                                            },
                                                                                                                                            "description": "Array of types (null if not configured)"
                                                                                                                                        }
                                                                                                                                    },
                                                                                                                                    "required": [
                                                                                                                                        "status"
                                                                                                                                    ]
                                                                                                                                },
                                                                                                                                "description": "Array of status configurations"
                                                                                                                            }
                                                                                                                        },
                                                                                                                        "required": [
                                                                                                                            "type",
                                                                                                                            "items"
                                                                                                                        ]
                                                                                                                    }
                                                                                                                ],
                                                                                                                "description": "Children piloting configuration (null if not configured)"
                                                                                                            }
                                                                                                        },
                                                                                                        "description": "Status, piloting and view configuration"
                                                                                                    },
                                                                                                    "reminder": {
                                                                                                        "type": "object",
                                                                                                        "nullable": true,
                                                                                                        "properties": {
                                                                                                            "days_before": {
                                                                                                                "type": "integer",
                                                                                                                "example": 7,
                                                                                                                "description": "Days before deadline to send notification"
                                                                                                            },
                                                                                                            "recurrence_days": {
                                                                                                                "type": "integer",
                                                                                                                "nullable": true,
                                                                                                                "example": 1,
                                                                                                                "description": "Recurrence interval in days for notifications"
                                                                                                            }
                                                                                                        },
                                                                                                        "description": "Reminder configuration (null if not configured)"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "id",
                                                                                                    "label",
                                                                                                    "order",
                                                                                                    "start",
                                                                                                    "contributors",
                                                                                                    "actions",
                                                                                                    "status_piloting_view"
                                                                                                ]
                                                                                            },
                                                                                            "description": "Array of steps in this group"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "id",
                                                                                        "label",
                                                                                        "order",
                                                                                        "steps"
                                                                                    ]
                                                                                },
                                                                                "description": "Array of step groups containing steps with their nested data"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "step_groups"
                                                                        ],
                                                                        "description": "Workflow configuration containing step groups hierarchy"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "code",
                                                                    "label",
                                                                    "class_id",
                                                                    "project_node_id",
                                                                    "project_label",
                                                                    "tags",
                                                                    "supertype",
                                                                    "types",
                                                                    "started",
                                                                    "configuration"
                                                                ],
                                                                "description": "Complete workflow information with hierarchical structure"
                                                            },
                                                            "description": "Array of workflow objects with complete information"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Project not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "project_node_id": {
                                        "type": "integer",
                                        "description": "Project node ID. Use POST /api/v3/projects/list with class_id to get available projects.",
                                        "example": 1234
                                    },
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "filters": {
                                        "type": "object",
                                        "description": "Optional filters object. Currently supports filtering by type_id only.",
                                        "example": {
                                            "type_id": 42
                                        },
                                        "properties": {
                                            "type_id": {
                                                "type": "integer",
                                                "description": "Filter workflows by type ID. Use POST /api/v3/types/list with class_id to get valid type IDs. Returns workflows that have this type in their types array, or if types is empty, have a supertype matching the type's supertype.",
                                                "example": 42
                                            }
                                        }
                                    }
                                },
                                "required": [
                                    "project_node_id",
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/v3/workflows/full/repository/": {
            "post": {
                "tags": [
                    "workflows"
                ],
                "summary": "Get full workflows for repository",
                "description": "## Purpose\n\nReturns all workflows for the repository project with complete configuration details.\n",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Workflow list with complete information response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "title": "Success Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 1,
                                                    "description": "Status code (1 = success)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "",
                                                    "description": "Status message"
                                                },
                                                "result": {
                                                    "type": "object",
                                                    "properties": {
                                                        "results_total": {
                                                            "type": "integer",
                                                            "example": 2,
                                                            "description": "Total number of workflows returned"
                                                        },
                                                        "items": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "id": {
                                                                        "type": "integer",
                                                                        "example": 15,
                                                                        "description": "Workflow ID"
                                                                    },
                                                                    "code": {
                                                                        "type": "string",
                                                                        "example": "",
                                                                        "description": "Workflow code"
                                                                    },
                                                                    "label": {
                                                                        "type": "string",
                                                                        "example": "Workflow validation",
                                                                        "description": "Workflow label"
                                                                    },
                                                                    "tags": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string"
                                                                        },
                                                                        "example": [
                                                                            "validation",
                                                                            "review"
                                                                        ],
                                                                        "description": "Array of tags (can be empty)"
                                                                    },
                                                                    "class_id": {
                                                                        "type": "integer",
                                                                        "example": 4,
                                                                        "description": "Associated class ID"
                                                                    },
                                                                    "project_node_id": {
                                                                        "type": "integer",
                                                                        "example": 1234,
                                                                        "description": "Project node ID (0 for repository project)"
                                                                    },
                                                                    "project_label": {
                                                                        "type": "string",
                                                                        "example": "My Project",
                                                                        "description": "Project label"
                                                                    },
                                                                    "started": {
                                                                        "type": "boolean",
                                                                        "example": true,
                                                                        "description": "Whether the workflow is started"
                                                                    },
                                                                    "filters": {
                                                                        "type": "array",
                                                                        "nullable": true,
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "attribute_id": {
                                                                                    "type": "integer",
                                                                                    "example": 123,
                                                                                    "description": "Attribute ID. Use POST /api/v3/attributes/list with class_id to get available attributes."
                                                                                },
                                                                                "attribute_label": {
                                                                                    "type": "string",
                                                                                    "example": "Status",
                                                                                    "description": "Attribute label"
                                                                                },
                                                                                "value": {
                                                                                    "type": "string",
                                                                                    "example": "active",
                                                                                    "description": "Filter value"
                                                                                }
                                                                            }
                                                                        },
                                                                        "description": "Workflow filters (array of filter objects or null)"
                                                                    },
                                                                    "supertype": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "id": {
                                                                                "type": "integer",
                                                                                "example": 3,
                                                                                "description": "Supertype ID"
                                                                            },
                                                                            "label": {
                                                                                "type": "string",
                                                                                "example": "Products",
                                                                                "description": "Supertype label"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "id",
                                                                            "label"
                                                                        ],
                                                                        "description": "Supertype information"
                                                                    },
                                                                    "types": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "id": {
                                                                                    "type": "integer",
                                                                                    "example": 42,
                                                                                    "description": "Type ID"
                                                                                },
                                                                                "label": {
                                                                                    "type": "string",
                                                                                    "example": "Product",
                                                                                    "description": "Type label"
                                                                                }
                                                                            },
                                                                            "required": [
                                                                                "id",
                                                                                "label"
                                                                            ]
                                                                        },
                                                                        "description": "Array of asset types associated with this workflow"
                                                                    },
                                                                    "configuration": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "step_groups": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "id": {
                                                                                            "type": "integer",
                                                                                            "example": 1,
                                                                                            "description": "Step group ID"
                                                                                        },
                                                                                        "label": {
                                                                                            "type": "string",
                                                                                            "example": "Validation",
                                                                                            "description": "Step group label"
                                                                                        },
                                                                                        "order": {
                                                                                            "type": "integer",
                                                                                            "example": 1,
                                                                                            "description": "Display order"
                                                                                        },
                                                                                        "steps": {
                                                                                            "type": "array",
                                                                                            "items": {
                                                                                                "type": "object",
                                                                                                "properties": {
                                                                                                    "id": {
                                                                                                        "type": "integer",
                                                                                                        "example": 101,
                                                                                                        "description": "Step ID"
                                                                                                    },
                                                                                                    "label": {
                                                                                                        "type": "string",
                                                                                                        "example": "Draft",
                                                                                                        "description": "Step label"
                                                                                                    },
                                                                                                    "order": {
                                                                                                        "type": "integer",
                                                                                                        "example": 1,
                                                                                                        "description": "Display order"
                                                                                                    },
                                                                                                    "color": {
                                                                                                        "type": "string",
                                                                                                        "nullable": true,
                                                                                                        "example": "#28a745",
                                                                                                        "description": "Step color"
                                                                                                    },
                                                                                                    "start": {
                                                                                                        "type": "boolean",
                                                                                                        "example": false,
                                                                                                        "description": "Whether this is a start step"
                                                                                                    },
                                                                                                    "notification": {
                                                                                                        "type": "object",
                                                                                                        "nullable": true,
                                                                                                        "properties": {
                                                                                                            "mail_template_id": {
                                                                                                                "type": "integer",
                                                                                                                "example": 5,
                                                                                                                "description": "Mail template ID"
                                                                                                            },
                                                                                                            "mail_template_label": {
                                                                                                                "type": "string",
                                                                                                                "example": "Validation notification",
                                                                                                                "description": "Mail template label"
                                                                                                            }
                                                                                                        },
                                                                                                        "description": "Notification configuration (null if not configured)"
                                                                                                    },
                                                                                                    "delay_days": {
                                                                                                        "type": "integer",
                                                                                                        "nullable": true,
                                                                                                        "example": 7,
                                                                                                        "description": "Delay in days for the step"
                                                                                                    },
                                                                                                    "contributors": {
                                                                                                        "type": "array",
                                                                                                        "items": {
                                                                                                            "type": "object",
                                                                                                            "properties": {
                                                                                                                "id": {
                                                                                                                    "type": "integer",
                                                                                                                    "example": 5,
                                                                                                                    "description": "Contributor group ID"
                                                                                                                },
                                                                                                                "label": {
                                                                                                                    "type": "string",
                                                                                                                    "example": "Validation Group",
                                                                                                                    "description": "Contributor group label"
                                                                                                                }
                                                                                                            },
                                                                                                            "required": [
                                                                                                                "id",
                                                                                                                "label"
                                                                                                            ]
                                                                                                        },
                                                                                                        "description": "Array of contributors for this step"
                                                                                                    },
                                                                                                    "actions": {
                                                                                                        "type": "array",
                                                                                                        "items": {
                                                                                                            "type": "object",
                                                                                                            "properties": {
                                                                                                                "id": {
                                                                                                                    "type": "integer",
                                                                                                                    "example": 201,
                                                                                                                    "description": "Action ID"
                                                                                                                },
                                                                                                                "label": {
                                                                                                                    "type": "string",
                                                                                                                    "example": "Validate",
                                                                                                                    "description": "Action label"
                                                                                                                },
                                                                                                                "goto_step": {
                                                                                                                    "type": "object",
                                                                                                                    "nullable": true,
                                                                                                                    "properties": {
                                                                                                                        "id": {
                                                                                                                            "type": "integer",
                                                                                                                            "example": 102,
                                                                                                                            "description": "Destination step ID"
                                                                                                                        },
                                                                                                                        "label": {
                                                                                                                            "type": "string",
                                                                                                                            "example": "Validated",
                                                                                                                            "description": "Destination step label"
                                                                                                                        }
                                                                                                                    },
                                                                                                                    "required": [
                                                                                                                        "id",
                                                                                                                        "label"
                                                                                                                    ],
                                                                                                                    "description": "Destination step (null if no destination)"
                                                                                                                },
                                                                                                                "mode": {
                                                                                                                    "type": "string",
                                                                                                                    "enum": [
                                                                                                                        "send_the_brief",
                                                                                                                        "submit",
                                                                                                                        "reject",
                                                                                                                        "validate"
                                                                                                                    ],
                                                                                                                    "example": "validate",
                                                                                                                    "description": "Action mode (send_the_brief, submit, reject or validate)"
                                                                                                                },
                                                                                                                "display_if_completeness": {
                                                                                                                    "type": "boolean",
                                                                                                                    "example": false,
                                                                                                                    "description": "Display button only if all completeness attributes are filled"
                                                                                                                }
                                                                                                            },
                                                                                                            "required": [
                                                                                                                "id",
                                                                                                                "label",
                                                                                                                "mode",
                                                                                                                "display_if_completeness"
                                                                                                            ]
                                                                                                        },
                                                                                                        "description": "Array of actions for this step"
                                                                                                    },
                                                                                                    "completeness": {
                                                                                                        "type": "object",
                                                                                                        "nullable": true,
                                                                                                        "properties": {
                                                                                                            "attributes": {
                                                                                                                "type": "object",
                                                                                                                "nullable": true,
                                                                                                                "additionalProperties": {
                                                                                                                    "type": "string"
                                                                                                                },
                                                                                                                "example": {
                                                                                                                    "123": "Attribute Label",
                                                                                                                    "456": "Other Attribute"
                                                                                                                },
                                                                                                                "description": "Map of attribute IDs to their labels"
                                                                                                            },
                                                                                                            "automate_goto_step": {
                                                                                                                "type": "object",
                                                                                                                "nullable": true,
                                                                                                                "properties": {
                                                                                                                    "id": {
                                                                                                                        "type": "integer",
                                                                                                                        "example": 102,
                                                                                                                        "description": "Automatic transition step ID when complete"
                                                                                                                    },
                                                                                                                    "label": {
                                                                                                                        "type": "string",
                                                                                                                        "example": "Validate",
                                                                                                                        "description": "Automatic transition step label when complete"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "id",
                                                                                                                    "label"
                                                                                                                ],
                                                                                                                "description": "Automatic step transition when completeness is reached"
                                                                                                            }
                                                                                                        },
                                                                                                        "description": "Completeness configuration (null if not configured)"
                                                                                                    },
                                                                                                    "hotfolder": {
                                                                                                        "type": "object",
                                                                                                        "nullable": true,
                                                                                                        "properties": {
                                                                                                            "action_on_update": {
                                                                                                                "type": "object",
                                                                                                                "nullable": true,
                                                                                                                "properties": {
                                                                                                                    "id": {
                                                                                                                        "type": "integer",
                                                                                                                        "example": 201,
                                                                                                                        "description": "Action ID to execute on update"
                                                                                                                    },
                                                                                                                    "label": {
                                                                                                                        "type": "string",
                                                                                                                        "example": "Validate",
                                                                                                                        "description": "Action label"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "id",
                                                                                                                    "label"
                                                                                                                ],
                                                                                                                "description": "Action to execute when hotfolder is updated (null for no automatic step change)"
                                                                                                            },
                                                                                                            "create_version": {
                                                                                                                "type": "boolean",
                                                                                                                "example": true,
                                                                                                                "description": "Whether to create a version on update"
                                                                                                            }
                                                                                                        },
                                                                                                        "description": "Hotfolder configuration (null if not configured or not active)"
                                                                                                    },
                                                                                                    "status_piloting_view": {
                                                                                                        "type": "object",
                                                                                                        "properties": {
                                                                                                            "status": {
                                                                                                                "type": "object",
                                                                                                                "nullable": true,
                                                                                                                "properties": {
                                                                                                                    "id": {
                                                                                                                        "type": "string",
                                                                                                                        "example": "1234",
                                                                                                                        "description": "Status id"
                                                                                                                    },
                                                                                                                    "label": {
                                                                                                                        "type": "string",
                                                                                                                        "nullable": true,
                                                                                                                        "example": "Admin Status",
                                                                                                                        "description": "Status label"
                                                                                                                    }
                                                                                                                },
                                                                                                                "required": [
                                                                                                                    "id"
                                                                                                                ],
                                                                                                                "description": "Status configuration (null if not configured)"
                                                                                                            },
                                                                                                            "default_view": {
                                                                                                                "type": "string",
                                                                                                                "nullable": true,
                                                                                                                "enum": [
                                                                                                                    "default",
                                                                                                                    "completeness",
                                                                                                                    "list"
                                                                                                                ],
                                                                                                                "example": "completeness",
                                                                                                                "description": "Default view mode (default, completeness, or list)"
                                                                                                            },
                                                                                                            "children_piloting": {
                                                                                                                "type": "object",
                                                                                                                "nullable": true,
                                                                                                                "oneOf": [
                                                                                                                    {
                                                                                                                        "type": "object",
                                                                                                                        "title": "Workflow Type",
                                                                                                                        "properties": {
                                                                                                                            "type": {
                                                                                                                                "type": "string",
                                                                                                                                "enum": [
                                                                                                                                    "workflow"
                                                                                                                                ],
                                                                                                                                "example": "workflow",
                                                                                                                                "description": "Children piloting type"
                                                                                                                            },
                                                                                                                            "items": {
                                                                                                                                "type": "array",
                                                                                                                                "items": {
                                                                                                                                    "type": "object",
                                                                                                                                    "properties": {
                                                                                                                                        "workflow": {
                                                                                                                                            "type": "object",
                                                                                                                                            "properties": {
                                                                                                                                                "id": {
                                                                                                                                                    "type": "integer",
                                                                                                                                                    "example": 15,
                                                                                                                                                    "description": "Target workflow ID"
                                                                                                                                                },
                                                                                                                                                "label": {
                                                                                                                                                    "type": "string",
                                                                                                                                                    "nullable": true,
                                                                                                                                                    "example": "Child Workflow",
                                                                                                                                                    "description": "Target workflow label"
                                                                                                                                                }
                                                                                                                                            },
                                                                                                                                            "required": [
                                                                                                                                                "id"
                                                                                                                                            ]
                                                                                                                                        },
                                                                                                                                        "step": {
                                                                                                                                            "type": "object",
                                                                                                                                            "properties": {
                                                                                                                                                "id": {
                                                                                                                                                    "type": "integer",
                                                                                                                                                    "example": 101,
                                                                                                                                                    "description": "Target step ID"
                                                                                                                                                },
                                                                                                                                                "label": {
                                                                                                                                                    "type": "string",
                                                                                                                                                    "nullable": true,
                                                                                                                                                    "example": "Draft",
                                                                                                                                                    "description": "Target step label"
                                                                                                                                                }
                                                                                                                                            },
                                                                                                                                            "required": [
                                                                                                                                                "id"
                                                                                                                                            ]
                                                                                                                                        }
                                                                                                                                    },
                                                                                                                                    "required": [
                                                                                                                                        "workflow",
                                                                                                                                        "step"
                                                                                                                                    ]
                                                                                                                                },
                                                                                                                                "description": "Array of workflow step configurations"
                                                                                                                            }
                                                                                                                        },
                                                                                                                        "required": [
                                                                                                                            "type",
                                                                                                                            "items"
                                                                                                                        ]
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "type": "object",
                                                                                                                        "title": "Status Type",
                                                                                                                        "properties": {
                                                                                                                            "type": {
                                                                                                                                "type": "string",
                                                                                                                                "enum": [
                                                                                                                                    "status"
                                                                                                                                ],
                                                                                                                                "example": "status",
                                                                                                                                "description": "Children piloting type"
                                                                                                                            },
                                                                                                                            "items": {
                                                                                                                                "type": "array",
                                                                                                                                "items": {
                                                                                                                                    "type": "object",
                                                                                                                                    "properties": {
                                                                                                                                        "status": {
                                                                                                                                            "type": "object",
                                                                                                                                            "properties": {
                                                                                                                                                "id": {
                                                                                                                                                    "type": "integer",
                                                                                                                                                    "example": 123,
                                                                                                                                                    "description": "Status ID"
                                                                                                                                                },
                                                                                                                                                "label": {
                                                                                                                                                    "type": "string",
                                                                                                                                                    "nullable": true,
                                                                                                                                                    "example": "Active",
                                                                                                                                                    "description": "Status label"
                                                                                                                                                }
                                                                                                                                            },
                                                                                                                                            "required": [
                                                                                                                                                "id"
                                                                                                                                            ]
                                                                                                                                        },
                                                                                                                                        "supertypes": {
                                                                                                                                            "type": "array",
                                                                                                                                            "nullable": true,
                                                                                                                                            "items": {
                                                                                                                                                "type": "object",
                                                                                                                                                "properties": {
                                                                                                                                                    "id": {
                                                                                                                                                        "type": "integer",
                                                                                                                                                        "example": 3,
                                                                                                                                                        "description": "Supertype ID"
                                                                                                                                                    },
                                                                                                                                                    "label": {
                                                                                                                                                        "type": "string",
                                                                                                                                                        "nullable": true,
                                                                                                                                                        "example": "Products",
                                                                                                                                                        "description": "Supertype label"
                                                                                                                                                    }
                                                                                                                                                },
                                                                                                                                                "required": [
                                                                                                                                                    "id"
                                                                                                                                                ]
                                                                                                                                            },
                                                                                                                                            "description": "Array of supertypes (null if not configured)"
                                                                                                                                        },
                                                                                                                                        "types": {
                                                                                                                                            "type": "array",
                                                                                                                                            "nullable": true,
                                                                                                                                            "items": {
                                                                                                                                                "type": "object",
                                                                                                                                                "properties": {
                                                                                                                                                    "id": {
                                                                                                                                                        "type": "integer",
                                                                                                                                                        "example": 42,
                                                                                                                                                        "description": "Type ID"
                                                                                                                                                    },
                                                                                                                                                    "label": {
                                                                                                                                                        "type": "string",
                                                                                                                                                        "nullable": true,
                                                                                                                                                        "example": "Product",
                                                                                                                                                        "description": "Type label"
                                                                                                                                                    }
                                                                                                                                                },
                                                                                                                                                "required": [
                                                                                                                                                    "id"
                                                                                                                                                ]
                                                                                                                                            },
                                                                                                                                            "description": "Array of types (null if not configured)"
                                                                                                                                        }
                                                                                                                                    },
                                                                                                                                    "required": [
                                                                                                                                        "status"
                                                                                                                                    ]
                                                                                                                                },
                                                                                                                                "description": "Array of status configurations"
                                                                                                                            }
                                                                                                                        },
                                                                                                                        "required": [
                                                                                                                            "type",
                                                                                                                            "items"
                                                                                                                        ]
                                                                                                                    }
                                                                                                                ],
                                                                                                                "description": "Children piloting configuration (null if not configured)"
                                                                                                            }
                                                                                                        },
                                                                                                        "description": "Status, piloting and view configuration"
                                                                                                    },
                                                                                                    "reminder": {
                                                                                                        "type": "object",
                                                                                                        "nullable": true,
                                                                                                        "properties": {
                                                                                                            "days_before": {
                                                                                                                "type": "integer",
                                                                                                                "example": 7,
                                                                                                                "description": "Days before deadline to send notification"
                                                                                                            },
                                                                                                            "recurrence_days": {
                                                                                                                "type": "integer",
                                                                                                                "nullable": true,
                                                                                                                "example": 1,
                                                                                                                "description": "Recurrence interval in days for notifications"
                                                                                                            }
                                                                                                        },
                                                                                                        "description": "Reminder configuration (null if not configured)"
                                                                                                    }
                                                                                                },
                                                                                                "required": [
                                                                                                    "id",
                                                                                                    "label",
                                                                                                    "order",
                                                                                                    "start",
                                                                                                    "contributors",
                                                                                                    "actions",
                                                                                                    "status_piloting_view"
                                                                                                ]
                                                                                            },
                                                                                            "description": "Array of steps in this group"
                                                                                        }
                                                                                    },
                                                                                    "required": [
                                                                                        "id",
                                                                                        "label",
                                                                                        "order",
                                                                                        "steps"
                                                                                    ]
                                                                                },
                                                                                "description": "Array of step groups containing steps with their nested data"
                                                                            }
                                                                        },
                                                                        "required": [
                                                                            "step_groups"
                                                                        ],
                                                                        "description": "Workflow configuration containing step groups hierarchy"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "id",
                                                                    "code",
                                                                    "label",
                                                                    "class_id",
                                                                    "project_node_id",
                                                                    "project_label",
                                                                    "tags",
                                                                    "supertype",
                                                                    "types",
                                                                    "started",
                                                                    "configuration"
                                                                ],
                                                                "description": "Complete workflow information with hierarchical structure"
                                                            },
                                                            "description": "Array of workflow objects with complete information"
                                                        }
                                                    },
                                                    "required": [
                                                        "results_total",
                                                        "items"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "title": "Error Response",
                                            "properties": {
                                                "status_code": {
                                                    "type": "integer",
                                                    "example": 3,
                                                    "description": "Status code (3 = error, 0 = not found)"
                                                },
                                                "status_message": {
                                                    "type": "string",
                                                    "example": "Repository project not found or access denied",
                                                    "description": "Error message"
                                                },
                                                "result": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object"
                                                    },
                                                    "example": [],
                                                    "description": "Empty array on error"
                                                }
                                            },
                                            "required": [
                                                "status_code",
                                                "status_message",
                                                "result"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "class_id": {
                                        "type": "integer",
                                        "description": "Library ID. Use POST /api/v3/administration/classes/list to get available libraries.",
                                        "example": 4
                                    },
                                    "filters": {
                                        "type": "object",
                                        "description": "Optional filters object. Currently supports filtering by type_id only.",
                                        "example": {
                                            "type_id": 42
                                        },
                                        "properties": {
                                            "type_id": {
                                                "type": "integer",
                                                "description": "Filter workflows by type ID. Use POST /api/v3/types/list with class_id to get valid type IDs. Returns workflows that have this type in their types array, or if types is empty, have a supertype matching the type's supertype.",
                                                "example": 42
                                            }
                                        }
                                    }
                                },
                                "required": [
                                    "class_id"
                                ]
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "JWT",
                "description": "JWT token generated with /api/v3/token/get/"
            }
        }
    }
}