{
  "openapi": "3.0.0",
  "info": {
    "description": "Backend service for Mia-Platform catalog and marketplace",
    "title": "Catalog service",
    "version": "1.7.0"
  },
  "components": {
    "schemas": {
      "http-error": {
        "properties": {
          "code": {
            "type": "string"
          },
          "error": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "statusCode": {
            "type": "number"
          }
        },
        "title": "HTTP error",
        "type": "object"
      },
      "software-catalog-category": {
        "title": "Software Catalog category",
        "description": "A category to cluster items of the Software Catalog.",
        "type": "object",
        "properties": {
          "categoryId": {
            "description": "The unique identifier of the category.",
            "type": "string"
          },
          "label": {
            "description": "A human-readable label for the category.",
            "type": "string"
          }
        },
        "additionalProperties": false,
        "required": [
          "categoryId",
          "label"
        ],
        "example": {
          "categoryId": "ai-agents",
          "label": "AI Agents"
        }
      },
      "software-catalog-item-manifest": {
        "title": "Software Catalog item manifest",
        "description": "The data needed to apply a single version of a Software Catalog item.",
        "type": "object",
        "properties": {
          "annotations": {
            "description": "An unstructured key value map that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying this object.",
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "maxLength": 262144
            },
            "example": {
              "imageregistry": "https://hub.docker.com/",
              "mia-platform.eu/version": "14.0.0"
            }
          },
          "categoryId": {
            "description": "The unique identifier of this item's version's category.",
            "type": "string"
          },
          "description": {
            "description": "A brief description of this item.",
            "type": "string"
          },
          "documentation": {
            "description": "A reference to the documentation regarding this item.",
            "type": "object",
            "properties": {
              "type": {
                "description": "The type of documentation.",
                "type": "string",
                "enum": [
                  "externalLink",
                  "markdown"
                ]
              },
              "url": {
                "description": "The URL where to reach for the documentation.",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "required": [
              "type",
              "url"
            ],
            "example": {
              "type": "externalLink",
              "url": "https://example.com"
            }
          },
          "imageUrl": {
            "description": "The URL of the image associated with this item.",
            "type": "string"
          },
          "itemId": {
            "description": "A string that, alongside with `.version.name`, uniquely identifies this item within its namespace (`.tenantId`). Read-only.",
            "type": "string",
            "pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
            "minLength": 1,
            "maxLength": 63,
            "example": "crud-service"
          },
          "itemTypeDefinitionRef": {
            "description": "The reference to an Item Type Definition in the form of its composite primary key. Read-only.",
            "type": "object",
            "properties": {
              "name": {
                "description": "The name of the Item Type Definition (references its `.metadata.name`).",
                "type": "string",
                "pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
                "minLength": 1,
                "maxLength": 63,
                "example": "plugin"
              },
              "namespace": {
                "description": "The identifier of the Item Type Definition namespace (references its `.metadata.namespace.id`).",
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "name",
              "namespace"
            ],
            "additionalProperties": false,
            "example": {
              "name": "plugin",
              "namespace": "mia-platform"
            }
          },
          "labels": {
            "description": "A map of string keys and values that can be used to organize and categorize (scope and select) objects.",
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "pattern": "^$|^[a-zA-Z0-9](?:[a-zA-Z0-9._-]{0,61}[a-zA-Z0-9])?$",
              "maxLength": 63
            },
            "example": {
              "environment": "dev",
              "mia-platform.eu/tenant": "my-company",
              "track": ""
            }
          },
          "lifecycleStatus": {
            "description": "The lifecycle status of this item.",
            "type": "string",
            "enum": [
              "coming-soon",
              "draft",
              "published",
              "maintenance",
              "deprecated",
              "archived"
            ]
          },
          "links": {
            "description": "A list of external hyperlinks.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "description": "The URL in standard URI format.",
                  "type": "string",
                  "pattern": "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&\\/=]*)$"
                },
                "displayName": {
                  "description": "A user-friendly title for the link.",
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "required": [
                "url"
              ],
              "example": {
                "url": "https://mia-platform.eu/",
                "displayName": "Mia-Platform"
              }
            }
          },
          "maintainers": {
            "description": "A list of organizational entities maintaining this object.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "description": "The display name of the maintainer.",
                  "type": "string",
                  "minLength": 1
                },
                "email": {
                  "description": "A contact email of the maintainer.",
                  "type": "string",
                  "format": "email",
                  "minLength": 1
                }
              },
              "additionalProperties": false,
              "required": [
                "name"
              ],
              "example": {
                "name": "John Doe",
                "email": "john.doe@mail.com"
              }
            }
          },
          "name": {
            "description": "The human-readable title of this item.",
            "type": "string",
            "minLength": 1,
            "example": "CRUD Service"
          },
          "providerId": {
            "description": "The identifier of the provider used to retrieve markdown documentation content and external resources, if supported by the item's type.",
            "type": "string"
          },
          "relationships": {
            "description": "A list of relationships from this item to any other entity (either part of the Software Catalog or not).",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "target": {
                  "description": "The receiving end of the relationships. It can be a URN-reference to another Software Catalog entity or an arbitrary string.",
                  "type": "string"
                },
                "type": {
                  "description": "The type of the relationships. It can be one of the Software Catalog well-known relationships or an arbitrary string.",
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "required": [
                "target",
                "type"
              ]
            },
            "example": [
              {
                "type": "uses",
                "target": "urn:mia-platform:mktp:crud-service?=version=7.2.3"
              },
              {
                "type": "stores-data-on",
                "target": "In-memory DB"
              }
            ]
          },
          "releaseDate": {
            "description": "The time when this item was published.",
            "type": "string",
            "format": "date-time",
            "example": "2025-09-17T10:30:45Z"
          },
          "repositoryUrl": {
            "description": "The URL of the repository containing the source code of the resource(s) created by this item.",
            "type": "string"
          },
          "resources": {
            "description": "The representation of the resource(s) that will be created starting from this item. It should be validated through the matching Item Type Definition.",
            "type": "object",
            "additionalProperties": true
          },
          "supportedBy": {
            "description": "The identifier of the company that has produced this item.",
            "type": "string"
          },
          "supportedByImageUrl": {
            "description": "The URL of the image associated with the company that has produced this item.",
            "type": "string"
          },
          "tags": {
            "description": "A list of single-valued strings.",
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9:+#]+(-[a-z0-9:+#]+)*$",
              "minLength": 1,
              "maxLength": 63
            },
            "example": [
              "ai",
              "production"
            ]
          },
          "tenantId": {
            "description": "The identifier of the tenant to which this item belongs. Within this tenant, the combination of the `.name` and the `.version.name` of this item must be unique. Read-only.",
            "type": "string"
          },
          "type": {
            "description": "The type of this item's version. Deprecated in favour of `.itemTypeDefinitionRef`. Must be set if `.itemTypeDefinitionRef` is not set, otherwise it will be ignored. Read-only.",
            "type": "string",
            "deprecated": true
          },
          "version": {
            "description": "The Semantic version of this item.",
            "type": "object",
            "properties": {
              "name": {
                "description": "The name of this version. It should follow Semantic Versioning. Read-only.",
                "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
                "type": "string"
              },
              "releaseNote": {
                "description": "The release note of this version. It should support Markdown.",
                "type": "string"
              },
              "security": {
                "description": "A flag stating if this version addresses any vulnerability.",
                "type": "boolean"
              }
            },
            "additionalProperties": true,
            "required": [
              "name",
              "releaseNote"
            ],
            "example": {
              "name": "1.0.0",
              "releaseNote": "# What's new\n\nHere comes some new **amazing** features!\n"
            }
          },
          "visibility": {
            "description": "The visibility of this item. It can be public (i.e., visible to any user calling the APIs, even if not authenticated with the Console), \"all tenants\" (i.e., visible to all tenants of the Console installation), or private (i.e., only visible to the item's tenant).",
            "type": "object",
            "properties": {
              "allTenants": {
                "description": "A flag stating whether this item's release should be visible to all tenants of the Console installation.",
                "type": "boolean",
                "default": false
              },
              "public": {
                "description": "A flag stating whether this item's release should be visible to any user calling the APIs, even if not authenticated with the Console.",
                "type": "boolean",
                "default": false
              }
            },
            "additionalProperties": false,
            "example": {
              "allTenants": false,
              "public": true
            }
          }
        },
        "additionalProperties": false,
        "required": [
          "name",
          "itemId",
          "tenantId",
          "resources",
          "lifecycleStatus"
        ],
        "example": {
          "annotations": {
            "mia-platform.eu/version": "14.0.0"
          },
          "categoryId": "e-commerce",
          "description": "A standardized service to handle orders from an e-commerce website.",
          "documentation": {
            "type": "externalLink",
            "url": "https://docs.mia-platform.eu/"
          },
          "imageUrl": "https://mia-platform.eu/wp-content/uploads/mia.svg",
          "itemId": "order-service",
          "itemTypeDefinitionRef": {
            "name": "plugin",
            "namespace": "mia-platform"
          },
          "labels": {
            "environment": "prod"
          },
          "lifecycleStatus": "published",
          "links": [
            {
              "displayName": "E-Commerce",
              "url": "https://example.com/"
            }
          ],
          "maintainers": [
            {
              "name": "E-Commerce Team",
              "email": "e-commerce@mail.eu"
            }
          ],
          "name": "Order Service",
          "relationships": [
            {
              "type": "depends-on",
              "target": "MongoDB v8"
            }
          ],
          "releaseDate": "2025-09-17T10:30:45Z",
          "repositoryUrl": "https://github.com/mia-platform-marketplace/public-catalog",
          "resources": {
            "services": {
              "order-service": {
                "type": "plugin",
                "name": "order-service",
                "dockerImage": "order-service:1.0.0",
                "defaultEnvironmentVariables": [
                  {
                    "name": "LOG_LEVEL",
                    "value": "info",
                    "valueType": "plain"
                  }
                ]
              }
            }
          },
          "supportedBy": "My Company",
          "supportedByImageUrl": "https://mia-platform.eu/wp-content/uploads/mia.svg",
          "tags": [
            "e-commerce"
          ],
          "tenantId": "my-company",
          "version": {
            "name": "1.0.0",
            "releaseNote": "# About this version\n\nThe first release of the service 🎉\n"
          },
          "visibility": {
            "public": false,
            "allTenants": false
          }
        }
      },
      "software-catalog-item": {
        "title": "Software Catalog item",
        "description": "A single version of a Software Catalog item.",
        "type": "object",
        "properties": {
          "_id": {
            "description": "The MongoDB `_id` of this item's version's document.",
            "type": "string",
            "example": "63775c07a09ac0996ebfb7bc"
          },
          "annotations": {
            "description": "An unstructured key value map that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying this object.",
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "maxLength": 262144
            },
            "example": {
              "imageregistry": "https://hub.docker.com/",
              "mia-platform.eu/version": "14.0.0"
            }
          },
          "category": {
            "description": "The information regarding this item's version's category.",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the category.",
                "type": "string"
              },
              "label": {
                "description": "The human-readable label of the category. Read-only.",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "label"
            ],
            "example": {
              "id": "ai-agents",
              "label": "AI Agents"
            }
          },
          "componentsIds": {
            "description": "A list aggregating any `sourceComponentId` declared in the `.resources.services` of this item's version. Read-only.",
            "items": {
              "type": "string"
            },
            "type": "array",
            "example": [
              "api-gateway",
              "crud-service"
            ]
          },
          "description": {
            "description": "A brief description of this item.",
            "type": "string"
          },
          "documentation": {
            "description": "A reference to the documentation regarding this item.",
            "type": "object",
            "properties": {
              "type": {
                "description": "The type of documentation.",
                "type": "string",
                "enum": [
                  "externalLink",
                  "markdown"
                ]
              },
              "url": {
                "description": "The URL where to reach for the documentation.",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "required": [
              "type",
              "url"
            ],
            "example": {
              "type": "externalLink",
              "url": "https://example.com"
            }
          },
          "imageUrl": {
            "description": "The URL of the image associated with this item.",
            "type": "string"
          },
          "isLatest": {
            "description": "A flag stating if the this item is the latest release of the item.",
            "type": "boolean"
          },
          "itemId": {
            "description": "A string that, alongside with `.version.name`, uniquely identifies this item within its namespace (`.tenantId`). Read-only.",
            "type": "string",
            "pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
            "minLength": 1,
            "maxLength": 63,
            "example": "crud-service"
          },
          "itemTypeDefinitionRef": {
            "description": "The reference to an Item Type Definition in the form of its composite primary key. Read-only.",
            "type": "object",
            "properties": {
              "name": {
                "description": "The name of the Item Type Definition (references its `.metadata.name`).",
                "type": "string",
                "pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
                "minLength": 1,
                "maxLength": 63,
                "example": "plugin"
              },
              "namespace": {
                "description": "The identifier of the Item Type Definition namespace (references its `.metadata.namespace.id`).",
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "name",
              "namespace"
            ],
            "additionalProperties": false,
            "example": {
              "name": "plugin",
              "namespace": "mia-platform"
            }
          },
          "labels": {
            "description": "A map of string keys and values that can be used to organize and categorize (scope and select) objects.",
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "pattern": "^$|^[a-zA-Z0-9](?:[a-zA-Z0-9._-]{0,61}[a-zA-Z0-9])?$",
              "maxLength": 63
            },
            "example": {
              "environment": "dev",
              "mia-platform.eu/tenant": "my-company",
              "track": ""
            }
          },
          "lifecycleStatus": {
            "description": "The lifecycle status of this item.",
            "type": "string",
            "enum": [
              "coming-soon",
              "draft",
              "published",
              "maintenance",
              "deprecated",
              "archived"
            ]
          },
          "links": {
            "description": "A list of external hyperlinks.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "description": "The URL in standard URI format.",
                  "type": "string",
                  "pattern": "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&\\/=]*)$"
                },
                "displayName": {
                  "description": "A user-friendly title for the link.",
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "required": [
                "url"
              ],
              "example": {
                "url": "https://mia-platform.eu/",
                "displayName": "Mia-Platform"
              }
            }
          },
          "maintainers": {
            "description": "A list of organizational entities maintaining this object.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "description": "The display name of the maintainer.",
                  "type": "string",
                  "minLength": 1
                },
                "email": {
                  "description": "A contact email of the maintainer.",
                  "type": "string",
                  "format": "email",
                  "minLength": 1
                }
              },
              "additionalProperties": false,
              "required": [
                "name"
              ],
              "example": {
                "name": "John Doe",
                "email": "john.doe@mail.com"
              }
            }
          },
          "name": {
            "description": "The human-readable title of this item.",
            "type": "string",
            "minLength": 1,
            "example": "CRUD Service"
          },
          "providerId": {
            "description": "The identifier of the provider used to retrieve markdown documentation content and external resources, if supported by the item's type.",
            "type": "string"
          },
          "relationships": {
            "description": "A list of relationships from this item to any other entity (either part of the Software Catalog or not).",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "target": {
                  "description": "The receiving end of the relationships. It can be a URN-reference to another Software Catalog entity or an arbitrary string.",
                  "type": "string"
                },
                "type": {
                  "description": "The type of the relationships. It can be one of the Software Catalog well-known relationships or an arbitrary string.",
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "required": [
                "target",
                "type"
              ]
            },
            "example": [
              {
                "type": "uses",
                "target": "urn:mia-platform:mktp:crud-service?=version=7.2.3"
              },
              {
                "type": "stores-data-on",
                "target": "In-memory DB"
              }
            ]
          },
          "releaseDate": {
            "description": "The time when this item was published.",
            "type": "string",
            "format": "date-time",
            "example": "2025-09-17T10:30:45Z"
          },
          "repositoryUrl": {
            "description": "The URL of the repository containing the source code of the resource(s) created by this item.",
            "type": "string"
          },
          "resources": {
            "description": "The representation of the resource(s) that will be created starting from this item. It should be validated through the matching Item Type Definition.",
            "type": "object",
            "additionalProperties": true
          },
          "supportedBy": {
            "description": "The identifier of the company that has produced this item.",
            "type": "string"
          },
          "supportedByImageUrl": {
            "description": "The URL of the image associated with the company that has produced this item.",
            "type": "string"
          },
          "tags": {
            "description": "A list of single-valued strings.",
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9:+#]+(-[a-z0-9:+#]+)*$",
              "minLength": 1,
              "maxLength": 63
            },
            "example": [
              "ai",
              "production"
            ]
          },
          "tenantId": {
            "description": "The identifier of the tenant to which this item belongs. Within this tenant, the combination of the `.name` and the `.version.name` of this item must be unique. Read-only.",
            "type": "string"
          },
          "type": {
            "description": "The type of this item's version. Deprecated in favour of `.itemTypeDefinitionRef`. It must always match the `.itemTypeDefinitionRef.name` of this item. Read-only.",
            "type": "string",
            "deprecated": true
          },
          "version": {
            "description": "The Semantic version of this item.",
            "type": "object",
            "properties": {
              "name": {
                "description": "The name of this version. It should follow Semantic Versioning. Read-only.",
                "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
                "type": "string"
              },
              "releaseNote": {
                "description": "The release note of this version. It should support Markdown.",
                "type": "string"
              },
              "security": {
                "description": "A flag stating if this version addresses any vulnerability.",
                "type": "boolean"
              }
            },
            "additionalProperties": true,
            "required": [
              "name",
              "releaseNote"
            ],
            "example": {
              "name": "1.0.0",
              "releaseNote": "# What's new\n\nHere comes some new **amazing** features!\n"
            }
          },
          "visibility": {
            "description": "The visibility of this item. It can be public (i.e., visible to any user calling the APIs, even if not authenticated with the Console), \"all tenants\" (i.e., visible to all tenants of the Console installation), or private (i.e., only visible to the item's tenant).",
            "type": "object",
            "properties": {
              "allTenants": {
                "description": "A flag stating whether this item's release should be visible to all tenants of the Console installation.",
                "type": "boolean",
                "default": false
              },
              "public": {
                "description": "A flag stating whether this item's release should be visible to any user calling the APIs, even if not authenticated with the Console.",
                "type": "boolean",
                "default": false
              }
            },
            "additionalProperties": false,
            "example": {
              "allTenants": false,
              "public": true
            }
          }
        },
        "additionalProperties": false,
        "required": [
          "_id",
          "name",
          "itemId",
          "tenantId",
          "type",
          "itemTypeDefinitionRef",
          "releaseDate",
          "lifecycleStatus"
        ],
        "example": {
          "_id": "63775c07a09ac0996ebfb7bc",
          "annotations": {
            "mia-platform.eu/version": "14.0.0"
          },
          "category": {
            "id": "e-commerce",
            "label": "E-Commerce"
          },
          "description": "A standardized service to handle orders from an e-commerce website.",
          "documentation": {
            "type": "externalLink",
            "url": "https://docs.mia-platform.eu/"
          },
          "imageUrl": "https://mia-platform.eu/wp-content/uploads/mia.svg",
          "isLatest": true,
          "itemId": "order-service",
          "itemTypeDefinitionRef": {
            "name": "plugin",
            "namespace": "mia-platform"
          },
          "labels": {
            "environment": "prod"
          },
          "lifecycleStatus": "published",
          "links": [
            {
              "displayName": "E-Commerce",
              "url": "https://example.com/"
            }
          ],
          "maintainers": [
            {
              "name": "E-Commerce Team",
              "email": "e-commerce@mail.eu"
            }
          ],
          "name": "Order Service",
          "relationships": [
            {
              "type": "depends-on",
              "target": "MongoDB v8"
            }
          ],
          "releaseDate": "2025-09-17T10:30:45Z",
          "repositoryUrl": "https://github.com/mia-platform-marketplace/public-catalog",
          "resources": {
            "services": {
              "order-service": {
                "type": "plugin",
                "name": "order-service",
                "dockerImage": "order-service:1.0.0",
                "defaultEnvironmentVariables": [
                  {
                    "name": "LOG_LEVEL",
                    "value": "info",
                    "valueType": "plain"
                  }
                ]
              }
            }
          },
          "supportedBy": "My Company",
          "supportedByImageUrl": "https://mia-platform.eu/wp-content/uploads/mia.svg",
          "tags": [
            "e-commerce"
          ],
          "tenantId": "my-company",
          "type": "plugin",
          "version": {
            "name": "1.0.0",
            "releaseNote": "# About this version\n\nThe first release of the service 🎉\n"
          },
          "visibility": {
            "public": false,
            "allTenants": false
          }
        }
      },
      "software-catalog-item-release": {
        "title": "Software Catalog item release",
        "description": "A single release of a Software Catalog item.",
        "type": "object",
        "properties": {
          "description": {
            "description": "A brief description of this item.",
            "type": "string"
          },
          "isLatest": {
            "description": "A flag stating if the this item is the latest release of the item.",
            "type": "boolean"
          },
          "lifecycleStatus": {
            "description": "The lifecycle status of this item.",
            "type": "string",
            "enum": [
              "coming-soon",
              "draft",
              "published",
              "maintenance",
              "deprecated",
              "archived"
            ]
          },
          "name": {
            "description": "The human-readable title of this item.",
            "type": "string",
            "minLength": 1,
            "example": "CRUD Service"
          },
          "reference": {
            "description": "The reference to the item in the form of the MongoDB `_id` of the corresponding document.",
            "type": "string",
            "example": "63775c07a09ac0996ebfb7bc"
          },
          "releaseDate": {
            "description": "The time when this item was published.",
            "type": "string",
            "format": "date-time",
            "example": "2025-09-17T10:30:45Z"
          },
          "releaseNote": {
            "description": "The release note of this version. It should support Markdown.",
            "type": "string"
          },
          "security": {
            "description": "A flag stating if this version addresses any vulnerability.",
            "type": "boolean"
          },
          "version": {
            "description": "The name of this version. It should follow Semantic Versioning. A fallback version `NA` is also accepted for items of types that do not support versioning, or for retro-compatibility reasons. Read-only.",
            "oneOf": [
              {
                "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
                "type": "string"
              },
              {
                "enum": [
                  "NA"
                ]
              }
            ]
          },
          "visibility": {
            "description": "The visibility of this item. It can be public (i.e., visible to any user calling the APIs, even if not authenticated with the Console), \"all tenants\" (i.e., visible to all tenants of the Console installation), or private (i.e., only visible to the item's tenant).",
            "type": "object",
            "properties": {
              "allTenants": {
                "description": "A flag stating whether this item's release should be visible to all tenants of the Console installation.",
                "type": "boolean",
                "default": false
              },
              "public": {
                "description": "A flag stating whether this item's release should be visible to any user calling the APIs, even if not authenticated with the Console.",
                "type": "boolean",
                "default": false
              }
            },
            "additionalProperties": false,
            "example": {
              "allTenants": false,
              "public": true
            }
          }
        },
        "additionalProperties": false,
        "required": [
          "name",
          "description",
          "version",
          "reference",
          "releaseNote",
          "releaseDate",
          "lifecycleStatus"
        ],
        "example": {
          "name": "Order Service",
          "description": "A standardized service to handle orders from an e-commerce website.",
          "version": "1.0.0",
          "lifecycleStatus": "published",
          "isLatest": true,
          "reference": "63775c07a09ac0996ebfb7bc",
          "releaseDate": "2025-09-17T10:30:45Z",
          "releaseNote": "# About this version\n\nThe first release of the service 🎉\n",
          "security": false,
          "visibility": {
            "public": false,
            "allTenants": false
          }
        }
      },
      "software-catalog-versioned-item": {
        "title": "Software Catalog versioned item",
        "description": "A single version of a Software Catalog item with required version.",
        "type": "object",
        "properties": {
          "_id": {
            "description": "The MongoDB `_id` of this item's version's document.",
            "type": "string",
            "example": "63775c07a09ac0996ebfb7bc"
          },
          "annotations": {
            "description": "An unstructured key value map that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying this object.",
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "maxLength": 262144
            },
            "example": {
              "imageregistry": "https://hub.docker.com/",
              "mia-platform.eu/version": "14.0.0"
            }
          },
          "category": {
            "description": "The information regarding this item's version's category.",
            "type": "object",
            "properties": {
              "id": {
                "description": "The unique identifier of the category.",
                "type": "string"
              },
              "label": {
                "description": "The human-readable label of the category. Read-only.",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "label"
            ],
            "example": {
              "id": "ai-agents",
              "label": "AI Agents"
            }
          },
          "componentsIds": {
            "description": "A list aggregating any `sourceComponentId` declared in the `.resources.services` of this item's version. Read-only.",
            "items": {
              "type": "string"
            },
            "type": "array",
            "example": [
              "api-gateway",
              "crud-service"
            ]
          },
          "description": {
            "description": "A brief description of this item.",
            "type": "string"
          },
          "documentation": {
            "description": "A reference to the documentation regarding this item.",
            "type": "object",
            "properties": {
              "type": {
                "description": "The type of documentation.",
                "type": "string",
                "enum": [
                  "externalLink",
                  "markdown"
                ]
              },
              "url": {
                "description": "The URL where to reach for the documentation.",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "required": [
              "type",
              "url"
            ],
            "example": {
              "type": "externalLink",
              "url": "https://example.com"
            }
          },
          "imageUrl": {
            "description": "The URL of the image associated with this item.",
            "type": "string"
          },
          "isLatest": {
            "description": "A flag stating if the this item is the latest release of the item.",
            "type": "boolean"
          },
          "itemId": {
            "description": "A string that, alongside with `.version.name`, uniquely identifies this item within its namespace (`.tenantId`). Read-only.",
            "type": "string",
            "pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
            "minLength": 1,
            "maxLength": 63,
            "example": "crud-service"
          },
          "itemTypeDefinitionRef": {
            "description": "The reference to an Item Type Definition in the form of its composite primary key. Read-only.",
            "type": "object",
            "properties": {
              "name": {
                "description": "The name of the Item Type Definition (references its `.metadata.name`).",
                "type": "string",
                "pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
                "minLength": 1,
                "maxLength": 63,
                "example": "plugin"
              },
              "namespace": {
                "description": "The identifier of the Item Type Definition namespace (references its `.metadata.namespace.id`).",
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "name",
              "namespace"
            ],
            "additionalProperties": false,
            "example": {
              "name": "plugin",
              "namespace": "mia-platform"
            }
          },
          "labels": {
            "description": "A map of string keys and values that can be used to organize and categorize (scope and select) objects.",
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "pattern": "^$|^[a-zA-Z0-9](?:[a-zA-Z0-9._-]{0,61}[a-zA-Z0-9])?$",
              "maxLength": 63
            },
            "example": {
              "environment": "dev",
              "mia-platform.eu/tenant": "my-company",
              "track": ""
            }
          },
          "lifecycleStatus": {
            "description": "The lifecycle status of this item.",
            "type": "string",
            "enum": [
              "coming-soon",
              "draft",
              "published",
              "maintenance",
              "deprecated",
              "archived"
            ]
          },
          "links": {
            "description": "A list of external hyperlinks.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "description": "The URL in standard URI format.",
                  "type": "string",
                  "pattern": "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&\\/=]*)$"
                },
                "displayName": {
                  "description": "A user-friendly title for the link.",
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "required": [
                "url"
              ],
              "example": {
                "url": "https://mia-platform.eu/",
                "displayName": "Mia-Platform"
              }
            }
          },
          "maintainers": {
            "description": "A list of organizational entities maintaining this object.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "description": "The display name of the maintainer.",
                  "type": "string",
                  "minLength": 1
                },
                "email": {
                  "description": "A contact email of the maintainer.",
                  "type": "string",
                  "format": "email",
                  "minLength": 1
                }
              },
              "additionalProperties": false,
              "required": [
                "name"
              ],
              "example": {
                "name": "John Doe",
                "email": "john.doe@mail.com"
              }
            }
          },
          "name": {
            "description": "The human-readable title of this item.",
            "type": "string",
            "minLength": 1,
            "example": "CRUD Service"
          },
          "providerId": {
            "description": "The identifier of the provider used to retrieve markdown documentation content and external resources, if supported by the item's type.",
            "type": "string"
          },
          "relationships": {
            "description": "A list of relationships from this item to any other entity (either part of the Software Catalog or not).",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "target": {
                  "description": "The receiving end of the relationships. It can be a URN-reference to another Software Catalog entity or an arbitrary string.",
                  "type": "string"
                },
                "type": {
                  "description": "The type of the relationships. It can be one of the Software Catalog well-known relationships or an arbitrary string.",
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "required": [
                "target",
                "type"
              ]
            },
            "example": [
              {
                "type": "uses",
                "target": "urn:mia-platform:mktp:crud-service?=version=7.2.3"
              },
              {
                "type": "stores-data-on",
                "target": "In-memory DB"
              }
            ]
          },
          "releaseDate": {
            "description": "The time when this item was published.",
            "type": "string",
            "format": "date-time",
            "example": "2025-09-17T10:30:45Z"
          },
          "repositoryUrl": {
            "description": "The URL of the repository containing the source code of the resource(s) created by this item.",
            "type": "string"
          },
          "resources": {
            "description": "The representation of the resource(s) that will be created starting from this item. It should be validated through the matching Item Type Definition.",
            "type": "object",
            "additionalProperties": true
          },
          "supportedBy": {
            "description": "The identifier of the company that has produced this item.",
            "type": "string"
          },
          "supportedByImageUrl": {
            "description": "The URL of the image associated with the company that has produced this item.",
            "type": "string"
          },
          "tags": {
            "description": "A list of single-valued strings.",
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9:+#]+(-[a-z0-9:+#]+)*$",
              "minLength": 1,
              "maxLength": 63
            },
            "example": [
              "ai",
              "production"
            ]
          },
          "tenantId": {
            "description": "The identifier of the tenant to which this item belongs. Within this tenant, the combination of the `.name` and the `.version.name` of this item must be unique. Read-only.",
            "type": "string"
          },
          "type": {
            "description": "The type of this item's version. Deprecated in favour of `.itemTypeDefinitionRef`. It must always match the `.itemTypeDefinitionRef.name` of this item. Read-only.",
            "type": "string",
            "deprecated": true
          },
          "version": {
            "description": "The version of this item.",
            "type": "object",
            "properties": {
              "name": {
                "description": "The name of this version. It should follow Semantic Versioning. A fallback version `NA` is also accepted for items of types that do not support versioning, or for retro-compatibility reasons. Read-only.",
                "oneOf": [
                  {
                    "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
                    "type": "string"
                  },
                  {
                    "enum": [
                      "NA"
                    ]
                  }
                ]
              },
              "releaseNote": {
                "description": "The release note of this version. It should support Markdown.",
                "type": "string"
              },
              "security": {
                "description": "A flag stating if this version addresses any vulnerability.",
                "type": "boolean"
              }
            },
            "additionalProperties": false,
            "required": [
              "name",
              "releaseNote"
            ],
            "example": {
              "name": "1.0.0",
              "releaseNote": "# What's new\n\nHere comes some new **amazing** features!\n"
            }
          },
          "visibility": {
            "description": "The visibility of this item. It can be public (i.e., visible to any user calling the APIs, even if not authenticated with the Console), \"all tenants\" (i.e., visible to all tenants of the Console installation), or private (i.e., only visible to the item's tenant).",
            "type": "object",
            "properties": {
              "allTenants": {
                "description": "A flag stating whether this item's release should be visible to all tenants of the Console installation.",
                "type": "boolean",
                "default": false
              },
              "public": {
                "description": "A flag stating whether this item's release should be visible to any user calling the APIs, even if not authenticated with the Console.",
                "type": "boolean",
                "default": false
              }
            },
            "additionalProperties": false,
            "example": {
              "allTenants": false,
              "public": true
            }
          }
        },
        "additionalProperties": false,
        "required": [
          "_id",
          "name",
          "itemId",
          "tenantId",
          "type",
          "itemTypeDefinitionRef",
          "releaseDate",
          "lifecycleStatus",
          "version"
        ],
        "example": {
          "_id": "63775c07a09ac0996ebfb7bc",
          "annotations": {
            "mia-platform.eu/version": "14.0.0"
          },
          "category": {
            "id": "e-commerce",
            "label": "E-Commerce"
          },
          "description": "A standardized service to handle orders from an e-commerce website.",
          "documentation": {
            "type": "externalLink",
            "url": "https://docs.mia-platform.eu/"
          },
          "imageUrl": "https://mia-platform.eu/wp-content/uploads/mia.svg",
          "isLatest": true,
          "itemId": "order-service",
          "itemTypeDefinitionRef": {
            "name": "plugin",
            "namespace": "mia-platform"
          },
          "labels": {
            "environment": "prod"
          },
          "lifecycleStatus": "published",
          "links": [
            {
              "displayName": "E-Commerce",
              "url": "https://example.com/"
            }
          ],
          "maintainers": [
            {
              "name": "E-Commerce Team",
              "email": "e-commerce@mail.eu"
            }
          ],
          "name": "Order Service",
          "relationships": [
            {
              "type": "depends-on",
              "target": "MongoDB v8"
            }
          ],
          "releaseDate": "2025-09-17T10:30:45Z",
          "repositoryUrl": "https://github.com/mia-platform-marketplace/public-catalog",
          "resources": {
            "services": {
              "order-service": {
                "type": "plugin",
                "name": "order-service",
                "dockerImage": "order-service:1.0.0",
                "defaultEnvironmentVariables": [
                  {
                    "name": "LOG_LEVEL",
                    "value": "info",
                    "valueType": "plain"
                  }
                ]
              }
            }
          },
          "supportedBy": "My Company",
          "supportedByImageUrl": "https://mia-platform.eu/wp-content/uploads/mia.svg",
          "tags": [
            "e-commerce"
          ],
          "tenantId": "my-company",
          "type": "plugin",
          "version": {
            "name": "1.0.0",
            "releaseNote": "# About this version\n\nThe first release of the service 🎉\n"
          },
          "visibility": {
            "public": false,
            "allTenants": false
          }
        }
      },
      "software-catalog-item-metadata": {
        "title": "Software Catalog item metadata",
        "description": "The metadata of a Software Catalog item's version.",
        "type": "object",
        "properties": {
          "itemId": {
            "description": "A string that, alongside with `.version.name`, uniquely identifies this item within its namespace (`.tenantId`). Read-only.",
            "type": "string",
            "pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
            "minLength": 1,
            "maxLength": 63,
            "example": "crud-service"
          },
          "tenantId": {
            "description": "The identifier of the tenant to which this item belongs. Within this tenant, the combination of the `.name` and the `.version.name` of this item must be unique. Read-only.",
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "application",
              "plugin",
              "proxy",
              "sidecar",
              "template"
            ]
          },
          "versions": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "componentId": {
                  "type": "string"
                },
                "dockerImage": {
                  "pattern": "^(?:[a-z0-9.\\-\\/:]+\\/)?([\\w.}{\\-\\/]+)(:[\\w.}{\\-]+)?$",
                  "type": "string"
                },
                "id": {
                  "type": "string"
                },
                "name": {
                  "description": "The human-readable title of this item.",
                  "type": "string",
                  "minLength": 1,
                  "example": "CRUD Service"
                },
                "url": {
                  "type": "string"
                },
                "version": {
                  "description": "The name of this version. It should follow Semantic Versioning. A fallback version `NA` is also accepted for items of types that do not support versioning, or for retro-compatibility reasons. Read-only.",
                  "oneOf": [
                    {
                      "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
                      "type": "string"
                    },
                    {
                      "enum": [
                        "NA"
                      ]
                    }
                  ]
                }
              },
              "required": [
                "id",
                "version"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "additionalProperties": false,
        "required": [
          "itemId",
          "tenantId",
          "type",
          "versions"
        ]
      },
      "software-catalog-item-type-definition": {
        "title": "Software Catalog item type definition",
        "description": "An entity used to extend the Software Catalog beyond its built-in capabilities defining a new type of items.",
        "type": "object",
        "properties": {
          "apiVersion": {
            "description": "The versioned schema of this representation of an object.",
            "enum": [
              "software-catalog.mia-platform.eu/v1"
            ]
          },
          "kind": {
            "description": "The family of resources this object belongs to.",
            "enum": [
              "item-type-definition"
            ]
          },
          "metadata": {
            "description": "Descriptive properties referring to this object.",
            "type": "object",
            "properties": {
              "namespace": {
                "description": "The namespace this object belongs to. Within this namespace, the `.metadata.name` of this object must be unique. Read-only.",
                "type": "object",
                "properties": {
                  "scope": {
                    "description": "The hierarchical level of the namespace.",
                    "enum": [
                      "tenant"
                    ]
                  },
                  "id": {
                    "description": "The identifier of the tenant.",
                    "type": "string",
                    "minLength": 1
                  }
                },
                "additionalProperties": false,
                "required": [
                  "scope",
                  "id"
                ],
                "example": {
                  "scope": "tenant",
                  "id": "my-company"
                }
              },
              "name": {
                "description": "A string that uniquely identifies this object within its namespace (`.metadata.namespace`). Must be equal to the `.spec.type` of this object. Read-only.",
                "type": "string",
                "pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
                "minLength": 1,
                "maxLength": 63,
                "example": "plugin"
              },
              "visibility": {
                "description": "The visibility on this object. It can be public (i.e., visible to all tenants of the Console installation), or private (i.e., only visible to the namespace this object belongs to).",
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "scope": {
                        "description": "The hierarchical level at which this object is visible.",
                        "enum": [
                          "console"
                        ]
                      }
                    },
                    "required": [
                      "scope"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "scope": {
                        "description": "The hierarchical level at which this object is visible.",
                        "enum": [
                          "tenant"
                        ]
                      },
                      "ids": {
                        "description": "A list of identifiers of the tenants with visibility on this object. It can contain only one item that must be equal to the `.metadata.namespace.id` of this object.",
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "minItems": 1,
                        "maxItems": 1
                      }
                    },
                    "required": [
                      "scope",
                      "ids"
                    ]
                  }
                ],
                "example": {
                  "scope": "console"
                }
              },
              "displayName": {
                "description": "The human-readable title of this object. Clients may use it as the title associated with the items of the defined type. Defaults to the `.metadata.name` of this object.",
                "type": "string",
                "minLength": 1,
                "example": "Plugin"
              },
              "description": {
                "description": "A brief description of this object. Clients may use it as the description associated with the items of the defined type.",
                "type": "string"
              },
              "icon": {
                "description": "An icon associated with this object. Clients may use it as the icon associated with the items of the defined type.",
                "type": "object",
                "properties": {
                  "mediaType": {
                    "description": "The MIME type of the image.",
                    "type": "string",
                    "enum": [
                      "image/png",
                      "image/svg+xml"
                    ]
                  },
                  "base64Data": {
                    "description": "The image data encoded in Base64 format.",
                    "type": "string"
                  }
                },
                "additionalProperties": false,
                "required": [
                  "mediaType",
                  "base64Data"
                ],
                "example": {
                  "mediaType": "image/png",
                  "base64Data": "iVBORw=="
                }
              },
              "documentation": {
                "description": "A reference to the documentation regarding this object. Clients may use it as the documentation associated with the items of the defined type.",
                "type": "object",
                "properties": {
                  "type": {
                    "description": "The type of documentation.",
                    "enum": [
                      "external"
                    ]
                  },
                  "url": {
                    "description": "The URL of the documentation page.",
                    "type": "string",
                    "pattern": "^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&\\/=]*)$"
                  }
                },
                "additionalProperties": false,
                "required": [
                  "type",
                  "url"
                ],
                "example": {
                  "type": "external",
                  "url": "https://example.com"
                }
              },
              "labels": {
                "description": "A map of string keys and values that can be used to organize and categorize (scope and select) objects.",
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "pattern": "^$|^[a-zA-Z0-9](?:[a-zA-Z0-9._-]{0,61}[a-zA-Z0-9])?$",
                  "maxLength": 63
                },
                "example": {
                  "environment": "dev",
                  "mia-platform.eu/tenant": "my-company",
                  "track": ""
                }
              },
              "annotations": {
                "description": "An unstructured key value map that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying this object.",
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "maxLength": 262144
                },
                "example": {
                  "imageregistry": "https://hub.docker.com/",
                  "mia-platform.eu/version": "14.0.0"
                }
              },
              "tags": {
                "description": "A list of single-valued strings.",
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z0-9:+#]+(-[a-z0-9:+#]+)*$",
                  "minLength": 1,
                  "maxLength": 63
                },
                "example": [
                  "ai",
                  "production"
                ]
              },
              "links": {
                "description": "A list of external hyperlinks.",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "description": "The URL in standard URI format.",
                      "type": "string",
                      "pattern": "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&\\/=]*)$"
                    },
                    "displayName": {
                      "description": "A user-friendly title for the link.",
                      "type": "string"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "url"
                  ],
                  "example": {
                    "url": "https://mia-platform.eu/",
                    "displayName": "Mia-Platform"
                  }
                }
              },
              "maintainers": {
                "description": "A list of organizational entities maintaining this object.",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "description": "The display name of the maintainer.",
                      "type": "string",
                      "minLength": 1
                    },
                    "email": {
                      "description": "A contact email of the maintainer.",
                      "type": "string",
                      "format": "email",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "name"
                  ],
                  "example": {
                    "name": "John Doe",
                    "email": "john.doe@mail.com"
                  }
                }
              },
              "publisher": {
                "description": "The entity providing this object.",
                "type": "object",
                "properties": {
                  "name": {
                    "description": "The display name of the publisher.",
                    "type": "string",
                    "minLength": 1
                  },
                  "url": {
                    "description": "A link to a publisher webpage.",
                    "type": "string",
                    "minLength": 1
                  },
                  "image": {
                    "description": "A logo or relevant image of the publisher.",
                    "type": "object",
                    "properties": {
                      "mediaType": {
                        "description": "The MIME type of the image.",
                        "type": "string",
                        "enum": [
                          "image/png",
                          "image/svg+xml"
                        ]
                      },
                      "base64Data": {
                        "description": "The image data encoded in Base64 format.",
                        "type": "string"
                      }
                    },
                    "additionalProperties": false,
                    "required": [
                      "mediaType",
                      "base64Data"
                    ],
                    "example": {
                      "mediaType": "image/png",
                      "base64Data": "iVBORw=="
                    }
                  }
                },
                "additionalProperties": false,
                "required": [
                  "name"
                ],
                "example": {
                  "name": "Mia-Platform",
                  "url": "https://mia-platform.eu/",
                  "image": {
                    "mediaType": "image/svg+xml",
                    "base64Data": "w0KGgoAA"
                  }
                }
              }
            },
            "additionalProperties": true,
            "required": [
              "namespace",
              "name",
              "visibility"
            ]
          },
          "spec": {
            "description": "The specification of the desired state of this object.",
            "type": "object",
            "properties": {
              "type": {
                "description": "The item type defined by this object. It must match the `.metadata.name` of this object. Read-only.",
                "type": "string",
                "pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
                "minLength": 1,
                "maxLength": 63,
                "example": "plugin"
              },
              "scope": {
                "description": "The scope where items of the defined type should be managed.",
                "type": "string",
                "enum": [
                  "tenant"
                ]
              },
              "isVersioningSupported": {
                "description": "A flag stating whether the items of the defined type should support versioning.",
                "type": "boolean"
              },
              "validation": {
                "description": "The JSON schema against which the `.resources` of  the items of the defined type should be validated.",
                "type": "object",
                "properties": {
                  "mechanism": {
                    "description": "The validation mechanism.",
                    "enum": [
                      "json-schema"
                    ]
                  },
                  "schema": {
                    "description": "The validation JSON Schema. It must be a valid JSON Schema draft 07.",
                    "type": "object",
                    "additionalProperties": true
                  }
                },
                "additionalProperties": false,
                "required": [
                  "mechanism",
                  "schema"
                ],
                "example": {
                  "mechanism": "json-schema",
                  "schema": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "name"
                    ]
                  }
                }
              },
              "controlledFields": {
                "description": "A list of fields managed by the server when changing the version of an item of the defined type.",
                "type": "array",
                "items": {
                  "description": "The information needed to access a specific value of the item.",
                  "type": "object",
                  "properties": {
                    "jsonPath": {
                      "description": "The JSON path to access the item value.",
                      "type": "string"
                    },
                    "key": {
                      "description": "The unique name of the field.",
                      "type": "string"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "key",
                    "jsonPath"
                  ]
                },
                "example": [
                  {
                    "key": "apiVersion",
                    "jsonPath": "meta.apiVersion"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "required": [
              "type",
              "scope",
              "validation"
            ]
          },
          "__v": {
            "description": "The opaque value that represents the internal version of this object. Clients may not set this value and must treat it as opaque. Read-only.",
            "type": "integer",
            "minimum": 0
          }
        },
        "additionalProperties": false,
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "example": {
          "apiVersion": "software-catalog.mia-platform.eu/v1",
          "kind": "item-type-definition",
          "metadata": {
            "namespace": {
              "scope": "tenant",
              "id": "mia-platform-company"
            },
            "name": "docker-image",
            "visibility": {
              "scope": "console"
            },
            "displayName": "Docker Image",
            "description": "A single Docker image",
            "icon": {
              "mediaType": "image/svg+xml",
              "base64Data": "abc="
            },
            "documentation": {
              "type": "external",
              "url": "https://docs.mia-platform.eu/"
            },
            "labels": {
              "environment": "prod"
            },
            "annotations": {
              "mia-platform.eu/version": "14.0.0"
            },
            "tags": [
              "cloud"
            ],
            "links": [
              {
                "displayName": "Homepage",
                "url": "https://www.docker.com/"
              }
            ],
            "maintainers": [
              {
                "name": "Mia-Platform Core Team",
                "email": "support@mia-platform.eu"
              }
            ],
            "publisher": {
              "name": "Mia-Platform",
              "url": "https://mia-platform.eu/",
              "image": {
                "mediaType": "image/png",
                "base64Data": "abc="
              }
            }
          },
          "spec": {
            "type": "docker-image",
            "scope": "tenant",
            "isVersioningSupported": true,
            "validation": {
              "mechanism": "json-schema",
              "schema": {
                "type": "object",
                "properties": {
                  "imageName": {
                    "description": "The name of the Docker image (without registry or tag)",
                    "type": "string",
                    "pattern": "^[a-z0-9]+([._-][a-z0-9]+)*$"
                  },
                  "registry": {
                    "description": "The Docker registry hostname where the image is stored",
                    "type": "string",
                    "pattern": "^[a-z0-9]+([.-][a-z0-9]+)*\\.[a-z]{2,}([:\\d+])?(/[a-z0-9._-]+)*$|^[a-z0-9]+([.-][a-z0-9]+)*$"
                  },
                  "tag": {
                    "description": "The tag/version of the Docker image",
                    "type": "string",
                    "pattern": "^(latest|[0-9]+\\.[0-9]+\\.[0-9]+(-[a-z]+[0-9]*)?|[0-9]+\\.[0-9]+\\.[0-9]+)$"
                  }
                },
                "required": [
                  "imageName",
                  "registry",
                  "tag"
                ],
                "additionalProperties": false
              }
            }
          },
          "__v": 0
        }
      },
      "legacy-catalog-category": {
        "additionalProperties": false,
        "description": "Data model of a Catalog category",
        "properties": {
          "categoryId": {
            "type": "string"
          },
          "label": {
            "type": "string"
          }
        },
        "required": [
          "categoryId",
          "label"
        ],
        "title": "Legacy catalog category",
        "type": "object"
      },
      "legacy-catalog-item-manifest": {
        "additionalProperties": false,
        "description": "Data model of a Catalog item to apply",
        "properties": {
          "categoryId": {
            "description": "Identifier of the item's category",
            "type": "string"
          },
          "comingSoon": {
            "description": "Flag that will prevent the use of the item",
            "nullable": true,
            "type": "boolean"
          },
          "description": {
            "description": "Brief description of the item",
            "type": "string"
          },
          "documentation": {
            "description": "Documentation of the item",
            "nullable": true,
            "properties": {
              "type": {
                "enum": [
                  "externalLink",
                  "markdown"
                ],
                "type": "string"
              },
              "url": {
                "format": "uri-reference",
                "type": "string"
              }
            },
            "required": [
              "type",
              "url"
            ],
            "type": "object"
          },
          "imageUrl": {
            "description": "Url of the image associated with the item",
            "format": "uri-reference",
            "type": "string"
          },
          "isVersioningSupported": {
            "description": "States if versioning is supported for the custom resource defined by the CRD. Applicable only for type \"custom-resource-definition\"",
            "type": "boolean"
          },
          "itemId": {
            "description": "RFC-1035 compliant identifier of the item. It forms a composite PK with tenantId and, if present, version.name",
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
            "type": "string"
          },
          "name": {
            "description": "Human-readable name of the item",
            "minLength": 1,
            "type": "string"
          },
          "providerId": {
            "description": "Identifier of the provider used to retrieve markdown documentation content and external resources, if supported by the item type",
            "type": "string"
          },
          "publishOnMiaDocumentation": {
            "description": "Flag stating if the resource documentation should be published on Mia-Platform public documentation",
            "nullable": true,
            "type": "boolean"
          },
          "releaseStage": {
            "description": "Release stage of the item",
            "enum": [
              "beta",
              "deprecated",
              "",
              "preview",
              "stable"
            ],
            "type": "string"
          },
          "repositoryUrl": {
            "description": "URL of the repository containing the source code of the resource created by the item",
            "format": "uri-reference",
            "nullable": true,
            "type": "string"
          },
          "resources": {
            "additionalProperties": true,
            "description": "Representation of the resource that will be created starting from this item. It could be validated through the matching CRD",
            "type": "object"
          },
          "supportedBy": {
            "description": "Identifier of the company that has produced the item",
            "type": "string"
          },
          "supportedByImageUrl": {
            "description": "Url of the image associated with the company that has produced the item",
            "format": "uri-reference",
            "type": "string"
          },
          "tenantId": {
            "description": "Identifier of the tenant to which the item belongs. It forms a composite PK with itemId and, if present, version.name",
            "type": "string"
          },
          "type": {
            "description": "Type of the item. It must match a CRD resources.name property",
            "type": "string"
          },
          "version": {
            "description": "Version of the item following semver",
            "properties": {
              "name": {
                "description": "Semantic version",
                "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
                "type": "string"
              },
              "releaseNote": {
                "description": "Markdown release note",
                "type": "string"
              },
              "security": {
                "description": "Flag stating if the version addresses any vulnerability",
                "type": "boolean"
              }
            },
            "required": [
              "name",
              "releaseNote"
            ],
            "type": "object"
          },
          "visibility": {
            "description": "Visibility of the item",
            "properties": {
              "allTenants": {
                "default": false,
                "description": "If true, the item will be accessible to all companies",
                "type": "boolean"
              },
              "public": {
                "default": false,
                "description": "If true, the item will be accessible from any user that access the Console, even if not authenticated",
                "type": "boolean"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "name",
          "itemId",
          "tenantId",
          "type",
          "resources"
        ],
        "title": "Legacy catalog item manifest",
        "type": "object"
      },
      "legacy-catalog-item": {
        "additionalProperties": false,
        "description": "Data model of a Catalog item",
        "properties": {
          "_id": {
            "description": "Database identifier of the item",
            "type": "string"
          },
          "category": {
            "additionalProperties": false,
            "description": "Identifier of the item's category",
            "properties": {
              "id": {
                "type": "string"
              },
              "label": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "label"
            ],
            "type": "object"
          },
          "comingSoon": {
            "description": "Flag that will prevent the use of the item",
            "nullable": true,
            "type": "boolean"
          },
          "componentsIds": {
            "description": "List of source component ids of the services in the item's resources",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": {
            "description": "Brief description of the item",
            "type": "string"
          },
          "documentation": {
            "description": "Documentation of the item",
            "nullable": true,
            "properties": {
              "type": {
                "enum": [
                  "externalLink",
                  "markdown"
                ],
                "type": "string"
              },
              "url": {
                "format": "uri-reference",
                "type": "string"
              }
            },
            "required": [
              "type",
              "url"
            ],
            "type": "object"
          },
          "imageUrl": {
            "description": "Url of the image associated with the item",
            "format": "uri-reference",
            "type": "string"
          },
          "isLatest": {
            "description": "Flag stating if the the current document is the latest version of the item",
            "type": "boolean"
          },
          "isVersioningSupported": {
            "description": "States if versioning is supported for the custom resource defined by the CRD. Applicable only for type \"custom-resource-definition\"",
            "type": "boolean"
          },
          "itemId": {
            "description": "RFC-1035 compliant identifier of the item. It forms a composite PK with tenantId and, if present, version.name",
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
            "type": "string"
          },
          "name": {
            "description": "Human-readable name of the item",
            "minLength": 1,
            "type": "string"
          },
          "providerId": {
            "description": "Identifier of the provider used to retrieve markdown documentation content and external resources, if supported by the item type",
            "type": "string"
          },
          "publishOnMiaDocumentation": {
            "description": "Flag stating if the resource documentation should be published on Mia-Platform public documentation",
            "nullable": true,
            "type": "boolean"
          },
          "releaseDate": {
            "description": "Creation date of this item's release",
            "format": "date-time",
            "type": "string"
          },
          "releaseStage": {
            "description": "Release stage of the item",
            "enum": [
              "beta",
              "deprecated",
              "",
              "preview",
              "stable"
            ],
            "type": "string"
          },
          "repositoryUrl": {
            "description": "URL of the repository containing the source code of the resource created by the item",
            "format": "uri-reference",
            "nullable": true,
            "type": "string"
          },
          "resources": {
            "additionalProperties": true,
            "description": "Representation of the resource that will be created starting from this item. It could be validated through the matching CRD",
            "type": "object"
          },
          "supportedBy": {
            "description": "Identifier of the company that has produced the item",
            "type": "string"
          },
          "supportedByImageUrl": {
            "description": "Url of the image associated with the company that has produced the item",
            "format": "uri-reference",
            "type": "string"
          },
          "tenantId": {
            "description": "Identifier of the tenant to which the item belongs. It forms a composite PK with itemId and, if present, version.name",
            "type": "string"
          },
          "type": {
            "description": "Type of the item. It must match a CRD resources.name property",
            "type": "string"
          },
          "version": {
            "description": "Version of the item following semver",
            "properties": {
              "name": {
                "description": "Semantic version",
                "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
                "type": "string"
              },
              "releaseNote": {
                "description": "Markdown release note",
                "type": "string"
              },
              "security": {
                "description": "Flag stating if the version addresses any vulnerability",
                "type": "boolean"
              }
            },
            "required": [
              "name",
              "releaseNote"
            ],
            "type": "object"
          },
          "visibility": {
            "description": "Visibility of the item",
            "properties": {
              "allTenants": {
                "default": false,
                "description": "If true, the item will be accessible to all companies",
                "type": "boolean"
              },
              "public": {
                "default": false,
                "description": "If true, the item will be accessible from any user that access the Console, even if not authenticated",
                "type": "boolean"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "_id",
          "name",
          "itemId",
          "tenantId",
          "type"
        ],
        "title": "Legacy catalog item",
        "type": "object"
      },
      "legacy-catalog-release": {
        "additionalProperties": false,
        "description": "Data model of a Catalog item release",
        "properties": {
          "comingSoon": {
            "description": "Flag that will prevent the use of the item",
            "nullable": true,
            "type": "boolean"
          },
          "description": {
            "description": "Brief description of the item",
            "type": "string"
          },
          "isLatest": {
            "description": "Flag stating if the the current document is the latest version of the item",
            "type": "boolean"
          },
          "name": {
            "description": "Human-readable name of the item",
            "minLength": 1,
            "type": "string"
          },
          "reference": {
            "description": "Mongo objectId of the item",
            "type": "string"
          },
          "releaseDate": {
            "description": "Creation date of this item's release",
            "format": "date-time",
            "type": "string"
          },
          "releaseNote": {
            "description": "Markdown release note",
            "type": "string"
          },
          "releaseStage": {
            "description": "Release stage of the item",
            "enum": [
              "beta",
              "deprecated",
              "",
              "preview",
              "stable"
            ],
            "type": "string"
          },
          "security": {
            "description": "Flag stating if the version addresses any vulnerability",
            "type": "boolean"
          },
          "version": {
            "oneOf": [
              {
                "description": "Semantic version",
                "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
                "type": "string"
              },
              {
                "description": "Fallback version",
                "enum": [
                  "NA"
                ]
              }
            ]
          },
          "visibility": {
            "description": "Visibility of the item",
            "properties": {
              "allTenants": {
                "default": false,
                "description": "If true, the item will be accessible to all companies",
                "type": "boolean"
              },
              "public": {
                "default": false,
                "description": "If true, the item will be accessible from any user that access the Console, even if not authenticated",
                "type": "boolean"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "name",
          "description",
          "version",
          "reference",
          "releaseNote",
          "releaseDate"
        ],
        "title": "Legacy catalog release",
        "type": "object"
      },
      "legacy-catalog-versioned-item": {
        "additionalProperties": false,
        "description": "Data model of a Catalog item with required version",
        "properties": {
          "_id": {
            "description": "Database identifier of the item",
            "type": "string"
          },
          "category": {
            "additionalProperties": false,
            "description": "Identifier of the item's category",
            "properties": {
              "id": {
                "type": "string"
              },
              "label": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "label"
            ],
            "type": "object"
          },
          "comingSoon": {
            "description": "Flag that will prevent the use of the item",
            "nullable": true,
            "type": "boolean"
          },
          "componentsIds": {
            "description": "List of source component ids of the services in the item's resources",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": {
            "description": "Brief description of the item",
            "type": "string"
          },
          "documentation": {
            "description": "Documentation of the item",
            "nullable": true,
            "properties": {
              "type": {
                "enum": [
                  "externalLink",
                  "markdown"
                ],
                "type": "string"
              },
              "url": {
                "format": "uri-reference",
                "type": "string"
              }
            },
            "required": [
              "type",
              "url"
            ],
            "type": "object"
          },
          "imageUrl": {
            "description": "Url of the image associated with the item",
            "format": "uri-reference",
            "type": "string"
          },
          "isLatest": {
            "description": "Flag stating if the the current document is the latest version of the item",
            "type": "boolean"
          },
          "isVersioningSupported": {
            "description": "States if versioning is supported for the custom resource defined by the CRD. Applicable only for type \"custom-resource-definition\"",
            "type": "boolean"
          },
          "itemId": {
            "description": "RFC-1035 compliant identifier of the item. It forms a composite PK with tenantId and, if present, version.name",
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
            "type": "string"
          },
          "name": {
            "description": "Human-readable name of the item",
            "minLength": 1,
            "type": "string"
          },
          "providerId": {
            "description": "Identifier of the provider used to retrieve markdown documentation content and external resources, if supported by the item type",
            "type": "string"
          },
          "publishOnMiaDocumentation": {
            "description": "Flag stating if the resource documentation should be published on Mia-Platform public documentation",
            "nullable": true,
            "type": "boolean"
          },
          "releaseDate": {
            "description": "Creation date of this item's release",
            "format": "date-time",
            "type": "string"
          },
          "releaseStage": {
            "description": "Release stage of the item",
            "enum": [
              "beta",
              "deprecated",
              "",
              "preview",
              "stable"
            ],
            "type": "string"
          },
          "repositoryUrl": {
            "description": "URL of the repository containing the source code of the resource created by the item",
            "format": "uri-reference",
            "nullable": true,
            "type": "string"
          },
          "resources": {
            "additionalProperties": true,
            "description": "Representation of the resource that will be created starting from this item. It could be validated through the matching CRD",
            "type": "object"
          },
          "supportedBy": {
            "description": "Identifier of the company that has produced the item",
            "type": "string"
          },
          "supportedByImageUrl": {
            "description": "Url of the image associated with the company that has produced the item",
            "format": "uri-reference",
            "type": "string"
          },
          "tenantId": {
            "description": "Identifier of the tenant to which the item belongs. It forms a composite PK with itemId and, if present, version.name",
            "type": "string"
          },
          "type": {
            "description": "Type of the item. It must match a CRD resources.name property",
            "type": "string"
          },
          "version": {
            "description": "Version of the item",
            "properties": {
              "name": {
                "oneOf": [
                  {
                    "description": "Semantic version",
                    "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
                    "type": "string"
                  },
                  {
                    "description": "Fallback version",
                    "enum": [
                      "NA"
                    ]
                  }
                ]
              },
              "releaseNote": {
                "description": "Markdown release note",
                "type": "string"
              },
              "security": {
                "description": "Flag stating if the version addresses any vulnerability",
                "type": "boolean"
              }
            },
            "required": [
              "name",
              "releaseNote"
            ],
            "type": "object"
          },
          "visibility": {
            "description": "Visibility of the item",
            "properties": {
              "allTenants": {
                "default": false,
                "description": "If true, the item will be accessible to all companies",
                "type": "boolean"
              },
              "public": {
                "default": false,
                "description": "If true, the item will be accessible from any user that access the Console, even if not authenticated",
                "type": "boolean"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "_id",
          "name",
          "itemId",
          "tenantId",
          "type",
          "version"
        ],
        "title": "Legacy catalog versioned item",
        "type": "object"
      },
      "legacy-catalog-item-metadata": {
        "additionalProperties": false,
        "description": "Data model of a Catalog item metadata",
        "properties": {
          "itemId": {
            "description": "RFC-1035 compliant identifier of the item. It forms a composite PK with tenantId and, if present, version.name",
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
            "type": "string"
          },
          "tenantId": {
            "description": "Identifier of the tenant to which the item belongs. It forms a composite PK with itemId and, if present, version.name",
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "template",
              "plugin",
              "example",
              "proxy",
              "sidecar"
            ]
          },
          "versions": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "componentId": {
                  "type": "string"
                },
                "dockerImage": {
                  "pattern": "^(?:[a-z0-9.\\-\\/:]+\\/)?([\\w.}{\\-\\/]+)(:[\\w.}{\\-]+)?$",
                  "type": "string"
                },
                "id": {
                  "type": "string"
                },
                "name": {
                  "description": "Human-readable name of the item",
                  "minLength": 1,
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "version": {
                  "oneOf": [
                    {
                      "description": "Semantic version",
                      "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
                      "type": "string"
                    },
                    {
                      "description": "Fallback version",
                      "enum": [
                        "NA"
                      ]
                    }
                  ]
                }
              },
              "required": [
                "id",
                "version"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "itemId",
          "tenantId",
          "type",
          "versions"
        ],
        "title": "Legacy catalog item metadata",
        "type": "object"
      }
    }
  },
  "paths": {
    "/api/marketplace/item-type-definitions": {
      "get": {
        "operationId": "softwareCatalogItemTypeDefinitionGetList",
        "summary": "Returns a list of all the Item Type Definitions the caller has permission to see",
        "tags": [
          "marketplace"
        ],
        "description": "Returns a paginated list of all the Item Type Definitions the caller has permission to see (i.e., the ones available to all tenants and the private ones of tenants the user has permission to see)",
        "parameters": [
          {
            "schema": {
              "default": 1,
              "minimum": 1,
              "type": "integer"
            },
            "in": "query",
            "name": "page",
            "required": false,
            "description": "Page number to be retrieved"
          },
          {
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "type": "integer"
            },
            "in": "query",
            "name": "perPage",
            "required": false,
            "description": "Number of items per page"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "displayName",
            "required": false,
            "description": "A comma-separated list of case-sensitive display names to filter by"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "labels",
            "required": false,
            "description": "A comma-separated list of Kubernetes-like [equality-based selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#equality-based-requirement)"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "maintainers",
            "required": false,
            "description": "A comma-separated list of case-sensitive maintainer names to filter by"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "name",
            "required": false,
            "description": "A comma-separated list of names to filter by"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "namespace",
            "required": false,
            "description": "A comma-separated list of namespace IDs to filter by"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "publisher",
            "required": false,
            "description": "A comma-separated list of case-sensitive publisher names to filter by"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "search",
            "required": false,
            "description": "A string value used to perform a case-insensitive fuzzy regex search on the `metadata.name`, `metadata.displayName`, and `metadata.publisher.name` fields"
          },
          {
            "schema": {
              "pattern": "^(-?)(?:name|displayName|publisher)(?:,(-?)(?:name|displayName|publisher))*$",
              "type": "string"
            },
            "in": "query",
            "name": "sort",
            "required": false,
            "description": "A comma-separated list of fields for which the results should be sorted. Possible values are `name`, `displayName`, `publisher`. Default sort is ascending, for descending order add a \"-\" before the field"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "urn",
            "required": false,
            "description": "A comma-separated list of URNs used to fetch a specific Item Type Definition, where the URN pattern is `urn:<metadata.namespace.id>:mktp:itd:<metadata.name>`. This query parameter will make the server **ignore any other filtering query parameter**"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "visibility",
            "required": false,
            "description": "A comma-separated list of visibility values to filter by. Acceptable values are `console` (to target ITDs available to all tenants) and tenant IDs"
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "List of Item Type Definitions",
            "headers": {
              "x-total-items": {
                "schema": {
                  "type": "number"
                },
                "description": "Total number of items available"
              },
              "x-total-pages": {
                "schema": {
                  "type": "number"
                },
                "description": "Total number of pages available"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "description": "List of Item Type Definitions",
                  "items": {
                    "$ref": "#/components/schemas/software-catalog-item-type-definition"
                  },
                  "type": "array"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      },
      "head": {
        "operationId": "softwareCatalogItemTypeDefinitionGetList-head",
        "summary": "Returns a list of all the Item Type Definitions the caller has permission to see",
        "tags": [
          "marketplace"
        ],
        "description": "Returns a paginated list of all the Item Type Definitions the caller has permission to see (i.e., the ones available to all tenants and the private ones of tenants the user has permission to see)",
        "parameters": [
          {
            "schema": {
              "default": 1,
              "minimum": 1,
              "type": "integer"
            },
            "in": "query",
            "name": "page",
            "required": false,
            "description": "Page number to be retrieved"
          },
          {
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "type": "integer"
            },
            "in": "query",
            "name": "perPage",
            "required": false,
            "description": "Number of items per page"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "displayName",
            "required": false,
            "description": "A comma-separated list of case-sensitive display names to filter by"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "labels",
            "required": false,
            "description": "A comma-separated list of Kubernetes-like [equality-based selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#equality-based-requirement)"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "maintainers",
            "required": false,
            "description": "A comma-separated list of case-sensitive maintainer names to filter by"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "name",
            "required": false,
            "description": "A comma-separated list of names to filter by"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "namespace",
            "required": false,
            "description": "A comma-separated list of namespace IDs to filter by"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "publisher",
            "required": false,
            "description": "A comma-separated list of case-sensitive publisher names to filter by"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "search",
            "required": false,
            "description": "A string value used to perform a case-insensitive fuzzy regex search on the `metadata.name`, `metadata.displayName`, and `metadata.publisher.name` fields"
          },
          {
            "schema": {
              "pattern": "^(-?)(?:name|displayName|publisher)(?:,(-?)(?:name|displayName|publisher))*$",
              "type": "string"
            },
            "in": "query",
            "name": "sort",
            "required": false,
            "description": "A comma-separated list of fields for which the results should be sorted. Possible values are `name`, `displayName`, `publisher`. Default sort is ascending, for descending order add a \"-\" before the field"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "urn",
            "required": false,
            "description": "A comma-separated list of URNs used to fetch a specific Item Type Definition, where the URN pattern is `urn:<metadata.namespace.id>:mktp:itd:<metadata.name>`. This query parameter will make the server **ignore any other filtering query parameter**"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "visibility",
            "required": false,
            "description": "A comma-separated list of visibility values to filter by. Acceptable values are `console` (to target ITDs available to all tenants) and tenant IDs"
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "List of Item Type Definitions",
            "headers": {
              "x-total-items": {
                "schema": {
                  "type": "number"
                },
                "description": "Total number of items available"
              },
              "x-total-pages": {
                "schema": {
                  "type": "number"
                },
                "description": "Total number of pages available"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "description": "List of Item Type Definitions",
                  "items": {
                    "$ref": "#/components/schemas/software-catalog-item-type-definition"
                  },
                  "type": "array"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/tenants/{tenantId}/marketplace/item-type-definitions": {
      "put": {
        "operationId": "softwareCatalogItemTypeDefinitionUpsertOne",
        "summary": "Creates a new definition, or replaces an existing one",
        "tags": [
          "marketplace"
        ],
        "description": "Creates or replaces an Item Type Definition. The match is tried against the resource compound primary key composed by `metadata.namespace.id` and `metadata.name`",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/software-catalog-item-type-definition"
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true,
            "description": "ID of the tenant namespace of the Item Type Definition to create or replace (it will be matched against `body.metadata.namespace.id`)"
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_upsert_marketplace_item_type_definition",
            "preventBodyLoad": true
          }
        },
        "responses": {
          "200": {
            "description": "Item Type Definition edited",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Item Type Definition edited",
                  "$ref": "#/components/schemas/software-catalog-item-type-definition"
                }
              }
            }
          },
          "201": {
            "description": "Item Type Definition created",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Item Type Definition created",
                  "$ref": "#/components/schemas/software-catalog-item-type-definition"
                }
              }
            }
          },
          "409": {
            "description": "Conflict between the `__v` passed in body and the one of the remote resource",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Conflict between the `__v` passed in body and the one of the remote resource"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/tenants/{tenantId}/marketplace/item-type-definitions/{name}": {
      "get": {
        "operationId": "softwareCatalogItemTypeDefinitionGetOne",
        "summary": "Returns an Item Type Definition given its name, and tenant namespace",
        "tags": [
          "marketplace"
        ],
        "description": "Retrieves a specific Item Type Definition identified by its compound primary key as path parameters (i.e., id of the tenant namespace, and name of the definition)",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "name",
            "required": true,
            "description": "Name of the Item Type Definition to retrieve (it will be matched against `metadata.name`)"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true,
            "description": "ID of the tenant namespace of the Item Type Definition to retrieve (it will be matched against `metadata.namespace.id`)"
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Item Type Definition",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/software-catalog-item-type-definition",
                  "description": "Item Type Definition"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      },
      "head": {
        "operationId": "softwareCatalogItemTypeDefinitionGetOne-head",
        "summary": "Returns an Item Type Definition given its name, and tenant namespace",
        "tags": [
          "marketplace"
        ],
        "description": "Retrieves a specific Item Type Definition identified by its compound primary key as path parameters (i.e., id of the tenant namespace, and name of the definition)",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "name",
            "required": true,
            "description": "Name of the Item Type Definition to retrieve (it will be matched against `metadata.name`)"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true,
            "description": "ID of the tenant namespace of the Item Type Definition to retrieve (it will be matched against `metadata.namespace.id`)"
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Item Type Definition",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/software-catalog-item-type-definition",
                  "description": "Item Type Definition"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "softwareCatalogItemTypeDefinitionsDeleteOne",
        "summary": "Deletes an Item Type Definition given its name, and tenant namespace",
        "tags": [
          "marketplace"
        ],
        "description": "Deletes a specific Item Type Definition identified by its compound primary key as path parameters (i.e., id of the tenant namespace, and name of the definition)",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "name",
            "required": true,
            "description": "Name of the Item Type Definition to delete (it will be matched against `metadata.name`)"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true,
            "description": "ID of the tenant namespace of the Item Type Definition to delete (it will be matched against `metadata.namespace.id`)"
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_delete_marketplace_item_type_definition",
            "preventBodyLoad": true
          }
        },
        "responses": {
          "204": {
            "description": "Default Response"
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/marketplace": {
      "get": {
        "operationId": "marketplaceGetItemsList",
        "summary": "Returns the list of available Marketplace items",
        "tags": [
          "marketplace"
        ],
        "description": "Returns the list of available Marketplace items",
        "parameters": [
          {
            "schema": {
              "default": 1,
              "minimum": 1,
              "type": "integer"
            },
            "in": "query",
            "name": "page",
            "required": false,
            "description": "Page number to be retrieved"
          },
          {
            "schema": {
              "maximum": 200,
              "minimum": 1,
              "type": "integer",
              "default": 50
            },
            "in": "query",
            "name": "perPage",
            "required": false,
            "description": "Number of items per page"
          },
          {
            "schema": {
              "maximum": 200,
              "minimum": 1,
              "type": "integer",
              "default": 50
            },
            "in": "query",
            "name": "per_page",
            "required": false,
            "description": "Number of items per page. **Deprecated in favor of `perPage`**"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "availableTo",
            "required": false,
            "description": "A comma-separated string of possible item visibilities: \"public\", \"all-tenants\", \"private\". It is mutually exclusive with \"includeTenantId\""
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "category",
            "required": false,
            "description": "A comma-separated string of possible item categories"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "includeTenantId",
            "required": false,
            "description": "The Id of the Tenant for which to return both the public and private marketplace resources. It is mutually exclusive with \"availableTo\""
          },
          {
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "in": "query",
            "name": "itemUrns",
            "required": false,
            "description": "List of item URNs used to fetch only specific items, where the URN pattern is `urn:<<tenantId>>:mktp:<<itemId>>`, or `urn:<<tenantId>>:mktp:<<itemId>>?=version=<<version>>`. Each list element should be passed on a different query param (ie. itemUrns=urn1&itemUrns=urn2)"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "lifecycleStatus",
            "required": false,
            "description": "A comma-separated string of possible item release stages: \"coming-soon\", \"draft\", \"published\", \"maintenance\", \"deprecated\", \"archived\""
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "name",
            "required": false,
            "description": "Regex for filtering items by name"
          },
          {
            "schema": {
              "type": "boolean"
            },
            "in": "query",
            "name": "resolveResourcesData",
            "required": false,
            "description": "If true the returned items contain also the resources data as well as metadata"
          },
          {
            "schema": {
              "enum": [
                "name",
                "-name",
                "category",
                "-category"
              ],
              "type": "string"
            },
            "in": "query",
            "name": "sort",
            "required": false,
            "description": "The field to which sort results. Default sort is ascending, for descending order add a \"-\" before the field (e.g. -name)."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "tenantId",
            "required": false,
            "description": "The Id of the Tenant for which to filter the marketplace resources"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "types",
            "required": false,
            "description": "A comma separated string of marketplace Item Type Definition references. Each value may be a full Item Type Definition URN (following the pattern `urn:<itd.metadata.namespace.id>:mktp:itd:<itd.metadata.name>`), or a just an Item Type Definition name (i.e., `itd.metadata.name`) which will be considered belonging to the Mia-Platform default namespace"
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "headers": {
              "x-total-items": {
                "schema": {
                  "type": "number"
                },
                "description": "Total number of items available"
              },
              "x-total-pages": {
                "schema": {
                  "type": "number"
                },
                "description": "Total number of pages available"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/software-catalog-item"
                  },
                  "type": "array"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      },
      "head": {
        "operationId": "marketplaceGetItemsList-head",
        "summary": "Returns the list of available Marketplace items",
        "tags": [
          "marketplace"
        ],
        "description": "Returns the list of available Marketplace items",
        "parameters": [
          {
            "schema": {
              "default": 1,
              "minimum": 1,
              "type": "integer"
            },
            "in": "query",
            "name": "page",
            "required": false,
            "description": "Page number to be retrieved"
          },
          {
            "schema": {
              "maximum": 200,
              "minimum": 1,
              "type": "integer",
              "default": 50
            },
            "in": "query",
            "name": "perPage",
            "required": false,
            "description": "Number of items per page"
          },
          {
            "schema": {
              "maximum": 200,
              "minimum": 1,
              "type": "integer",
              "default": 50
            },
            "in": "query",
            "name": "per_page",
            "required": false,
            "description": "Number of items per page. **Deprecated in favor of `perPage`**"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "availableTo",
            "required": false,
            "description": "A comma-separated string of possible item visibilities: \"public\", \"all-tenants\", \"private\". It is mutually exclusive with \"includeTenantId\""
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "category",
            "required": false,
            "description": "A comma-separated string of possible item categories"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "includeTenantId",
            "required": false,
            "description": "The Id of the Tenant for which to return both the public and private marketplace resources. It is mutually exclusive with \"availableTo\""
          },
          {
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "in": "query",
            "name": "itemUrns",
            "required": false,
            "description": "List of item URNs used to fetch only specific items, where the URN pattern is `urn:<<tenantId>>:mktp:<<itemId>>`, or `urn:<<tenantId>>:mktp:<<itemId>>?=version=<<version>>`. Each list element should be passed on a different query param (ie. itemUrns=urn1&itemUrns=urn2)"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "lifecycleStatus",
            "required": false,
            "description": "A comma-separated string of possible item release stages: \"coming-soon\", \"draft\", \"published\", \"maintenance\", \"deprecated\", \"archived\""
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "name",
            "required": false,
            "description": "Regex for filtering items by name"
          },
          {
            "schema": {
              "type": "boolean"
            },
            "in": "query",
            "name": "resolveResourcesData",
            "required": false,
            "description": "If true the returned items contain also the resources data as well as metadata"
          },
          {
            "schema": {
              "enum": [
                "name",
                "-name",
                "category",
                "-category"
              ],
              "type": "string"
            },
            "in": "query",
            "name": "sort",
            "required": false,
            "description": "The field to which sort results. Default sort is ascending, for descending order add a \"-\" before the field (e.g. -name)."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "tenantId",
            "required": false,
            "description": "The Id of the Tenant for which to filter the marketplace resources"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "types",
            "required": false,
            "description": "A comma separated string of marketplace Item Type Definition references. Each value may be a full Item Type Definition URN (following the pattern `urn:<itd.metadata.namespace.id>:mktp:itd:<itd.metadata.name>`), or a just an Item Type Definition name (i.e., `itd.metadata.name`) which will be considered belonging to the Mia-Platform default namespace"
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "headers": {
              "x-total-items": {
                "schema": {
                  "type": "number"
                },
                "description": "Total number of items available"
              },
              "x-total-pages": {
                "schema": {
                  "type": "number"
                },
                "description": "Total number of pages available"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/software-catalog-item"
                  },
                  "type": "array"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/tenants/{tenantId}/marketplace/items": {
      "post": {
        "operationId": "marketplaceApplyItems",
        "summary": "Upsert multiple Marketplace items",
        "tags": [
          "marketplace"
        ],
        "description": "Upsert multiple Marketplace items",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "resources": {
                    "items": {
                      "$ref": "#/components/schemas/software-catalog-item-manifest"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "resources"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_apply_marketplace_item",
            "preventBodyLoad": true
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "done": {
                      "type": "boolean"
                    },
                    "items": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "_id": {
                            "type": "string"
                          },
                          "done": {
                            "type": "boolean"
                          },
                          "errors": {
                            "items": {
                              "additionalProperties": true,
                              "properties": {
                                "ajvError": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "instancePath": {
                                      "type": "string"
                                    },
                                    "keyword": {
                                      "type": "string"
                                    },
                                    "message": {
                                      "type": "string"
                                    },
                                    "params": {
                                      "additionalProperties": true,
                                      "type": "object"
                                    },
                                    "schemaPath": {
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "message": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "message"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "inserted": {
                            "type": "boolean"
                          },
                          "isLatest": {
                            "type": "boolean"
                          },
                          "isUsingVersion": {
                            "type": "boolean"
                          },
                          "itemId": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "updated": {
                            "type": "boolean"
                          },
                          "version": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "itemId",
                          "name",
                          "done",
                          "inserted",
                          "updated",
                          "errors"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "done",
                    "items"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/tenants/{tenantId}/marketplace/items/{itemId}/versions": {
      "get": {
        "operationId": "marketplaceGetItemVersions",
        "summary": "Returns the versions of a Marketplace item",
        "tags": [
          "marketplace"
        ],
        "description": "Returns the versions of a Marketplace item",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "itemId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/software-catalog-item-release"
                  },
                  "type": "array"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      },
      "head": {
        "operationId": "marketplaceGetItemVersions-head",
        "summary": "Returns the versions of a Marketplace item",
        "tags": [
          "marketplace"
        ],
        "description": "Returns the versions of a Marketplace item",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "itemId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/software-catalog-item-release"
                  },
                  "type": "array"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/tenants/{tenantId}/marketplace/items/{itemId}/versions/{version}": {
      "get": {
        "operationId": "marketplaceGetItemVersion",
        "summary": "Returns a specific version of a Marketplace item",
        "tags": [
          "marketplace"
        ],
        "description": "Returns a specific version of a Marketplace item",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "itemId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "version",
            "required": true
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/software-catalog-versioned-item"
                }
              },
              "application/json; as=manifest": {
                "schema": {
                  "$ref": "#/components/schemas/software-catalog-item-manifest"
                }
              },
              "application/yaml; as=manifest": {
                "schema": {
                  "$ref": "#/components/schemas/software-catalog-item-manifest"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      },
      "head": {
        "operationId": "marketplaceGetItemVersion-head",
        "summary": "Returns a specific version of a Marketplace item",
        "tags": [
          "marketplace"
        ],
        "description": "Returns a specific version of a Marketplace item",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "itemId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "version",
            "required": true
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/software-catalog-versioned-item"
                }
              },
              "application/json; as=manifest": {
                "schema": {
                  "$ref": "#/components/schemas/software-catalog-item-manifest"
                }
              },
              "application/yaml; as=manifest": {
                "schema": {
                  "$ref": "#/components/schemas/software-catalog-item-manifest"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "marketplaceDeleteItemVersion",
        "summary": "Deletes a specific version of a Marketplace item",
        "tags": [
          "marketplace"
        ],
        "description": "Deletes a specific version of a Marketplace item",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "itemId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "version",
            "required": true
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_delete_marketplace_item",
            "preventBodyLoad": true
          }
        },
        "responses": {
          "204": {
            "description": "Default Response",
            "headers": {
              "X-Marketplace-Item-Latest-Version": {
                "schema": {
                  "type": "string"
                },
                "description": "URN of the new latest version"
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/tenants/{tenantId}/marketplace/items/{itemId}/versions/{version}/metadata": {
      "patch": {
        "operationId": "marketplacePatchItemVersionMetadata",
        "summary": "Patches the metadata of a specific version of a Marketplace item",
        "tags": [
          "marketplace"
        ],
        "description": "Patches the metadata of a specific version of a Marketplace item",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "$set": {
                    "additionalProperties": false,
                    "properties": {
                      "annotations": {
                        "description": "An unstructured key value map that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying this object.",
                        "type": "object",
                        "additionalProperties": {
                          "type": "string",
                          "maxLength": 262144
                        },
                        "example": {
                          "imageregistry": "https://hub.docker.com/",
                          "mia-platform.eu/version": "14.0.0"
                        }
                      },
                      "categoryId": {
                        "description": "The unique identifier of this item's version's category.",
                        "type": "string"
                      },
                      "description": {
                        "description": "A brief description of this item.",
                        "type": "string"
                      },
                      "documentation": {
                        "description": "A reference to the documentation regarding this item.",
                        "type": "object",
                        "properties": {
                          "type": {
                            "description": "The type of documentation.",
                            "type": "string",
                            "enum": [
                              "externalLink",
                              "markdown"
                            ]
                          },
                          "url": {
                            "description": "The URL where to reach for the documentation.",
                            "type": "string"
                          }
                        },
                        "additionalProperties": false,
                        "required": [
                          "type",
                          "url"
                        ],
                        "example": {
                          "type": "externalLink",
                          "url": "https://example.com"
                        }
                      },
                      "imageUrl": {
                        "description": "The URL of the image associated with this item.",
                        "type": "string"
                      },
                      "labels": {
                        "description": "A map of string keys and values that can be used to organize and categorize (scope and select) objects.",
                        "type": "object",
                        "additionalProperties": {
                          "type": "string",
                          "pattern": "^$|^[a-zA-Z0-9](?:[a-zA-Z0-9._-]{0,61}[a-zA-Z0-9])?$",
                          "maxLength": 63
                        },
                        "example": {
                          "environment": "dev",
                          "mia-platform.eu/tenant": "my-company",
                          "track": ""
                        }
                      },
                      "lifecycleStatus": {
                        "description": "The lifecycle status of this item.",
                        "type": "string",
                        "enum": [
                          "coming-soon",
                          "draft",
                          "published",
                          "maintenance",
                          "deprecated",
                          "archived"
                        ]
                      },
                      "links": {
                        "description": "A list of external hyperlinks.",
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "url": {
                              "description": "The URL in standard URI format.",
                              "type": "string",
                              "pattern": "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&\\/=]*)$"
                            },
                            "displayName": {
                              "description": "A user-friendly title for the link.",
                              "type": "string"
                            }
                          },
                          "additionalProperties": false,
                          "required": [
                            "url"
                          ],
                          "example": {
                            "url": "https://mia-platform.eu/",
                            "displayName": "Mia-Platform"
                          }
                        }
                      },
                      "maintainers": {
                        "description": "A list of organizational entities maintaining this object.",
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "description": "The display name of the maintainer.",
                              "type": "string",
                              "minLength": 1
                            },
                            "email": {
                              "description": "A contact email of the maintainer.",
                              "type": "string",
                              "format": "email",
                              "minLength": 1
                            }
                          },
                          "additionalProperties": false,
                          "required": [
                            "name"
                          ],
                          "example": {
                            "name": "John Doe",
                            "email": "john.doe@mail.com"
                          }
                        }
                      },
                      "name": {
                        "description": "The human-readable title of this item.",
                        "type": "string",
                        "minLength": 1,
                        "example": "CRUD Service"
                      },
                      "providerId": {
                        "description": "The identifier of the provider used to retrieve markdown documentation content and external resources, if supported by the item's type.",
                        "type": "string"
                      },
                      "relationships": {
                        "description": "A list of relationships from this item to any other entity (either part of the Software Catalog or not).",
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "target": {
                              "description": "The receiving end of the relationships. It can be a URN-reference to another Software Catalog entity or an arbitrary string.",
                              "type": "string"
                            },
                            "type": {
                              "description": "The type of the relationships. It can be one of the Software Catalog well-known relationships or an arbitrary string.",
                              "type": "string"
                            }
                          },
                          "additionalProperties": false,
                          "required": [
                            "target",
                            "type"
                          ]
                        },
                        "example": [
                          {
                            "type": "uses",
                            "target": "urn:mia-platform:mktp:crud-service?=version=7.2.3"
                          },
                          {
                            "type": "stores-data-on",
                            "target": "In-memory DB"
                          }
                        ]
                      },
                      "releaseDate": {
                        "description": "The time when this item was published.",
                        "type": "string",
                        "format": "date-time",
                        "example": "2025-09-17T10:30:45Z"
                      },
                      "repositoryUrl": {
                        "description": "The URL of the repository containing the source code of the resource(s) created by this item.",
                        "type": "string"
                      },
                      "supportedBy": {
                        "description": "The identifier of the company that has produced this item.",
                        "type": "string"
                      },
                      "supportedByImageUrl": {
                        "description": "The URL of the image associated with the company that has produced this item.",
                        "type": "string"
                      },
                      "tags": {
                        "description": "A list of single-valued strings.",
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^[a-z0-9:+#]+(-[a-z0-9:+#]+)*$",
                          "minLength": 1,
                          "maxLength": 63
                        },
                        "example": [
                          "ai",
                          "production"
                        ]
                      },
                      "version": {
                        "additionalProperties": false,
                        "properties": {
                          "releaseNote": {
                            "description": "The release note of this version. It should support Markdown.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "releaseNote"
                        ],
                        "type": "object"
                      },
                      "visibility": {
                        "description": "The visibility of this item. It can be public (i.e., visible to any user calling the APIs, even if not authenticated with the Console), \"all tenants\" (i.e., visible to all tenants of the Console installation), or private (i.e., only visible to the item's tenant).",
                        "type": "object",
                        "properties": {
                          "allTenants": {
                            "description": "A flag stating whether this item's release should be visible to all tenants of the Console installation.",
                            "type": "boolean",
                            "default": false
                          },
                          "public": {
                            "description": "A flag stating whether this item's release should be visible to any user calling the APIs, even if not authenticated with the Console.",
                            "type": "boolean",
                            "default": false
                          }
                        },
                        "additionalProperties": false,
                        "example": {
                          "allTenants": false,
                          "public": true
                        }
                      }
                    },
                    "type": "object"
                  },
                  "$unset": {
                    "additionalProperties": false,
                    "properties": {
                      "annotations": {
                        "enum": [
                          true
                        ]
                      },
                      "categoryId": {
                        "enum": [
                          true
                        ]
                      },
                      "description": {
                        "enum": [
                          true
                        ]
                      },
                      "documentation": {
                        "enum": [
                          true
                        ]
                      },
                      "imageUrl": {
                        "enum": [
                          true
                        ]
                      },
                      "labels": {
                        "enum": [
                          true
                        ]
                      },
                      "links": {
                        "enum": [
                          true
                        ]
                      },
                      "maintainers": {
                        "enum": [
                          true
                        ]
                      },
                      "providerId": {
                        "enum": [
                          true
                        ]
                      },
                      "relationships": {
                        "enum": [
                          true
                        ]
                      },
                      "repositoryUrl": {
                        "enum": [
                          true
                        ]
                      },
                      "supportedBy": {
                        "enum": [
                          true
                        ]
                      },
                      "supportedByImageUrl": {
                        "enum": [
                          true
                        ]
                      },
                      "tags": {
                        "enum": [
                          true
                        ]
                      },
                      "visibility": {
                        "enum": [
                          true
                        ]
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "itemId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "version",
            "required": true
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_apply_marketplace_item",
            "preventBodyLoad": true
          }
        },
        "responses": {
          "200": {
            "description": "A single version of a Software Catalog item with required version.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/software-catalog-versioned-item"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/marketplace/categories": {
      "get": {
        "operationId": "marketplaceGetCategories",
        "summary": "Returns the list of available Marketplace categories",
        "tags": [
          "marketplace"
        ],
        "description": "Returns the list of available Marketplace categories",
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/software-catalog-category"
                  },
                  "type": "array"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      },
      "head": {
        "operationId": "marketplaceGetCategories-head",
        "summary": "Returns the list of available Marketplace categories",
        "tags": [
          "marketplace"
        ],
        "description": "Returns the list of available Marketplace categories",
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/software-catalog-category"
                  },
                  "type": "array"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/tenants/{tenantId}/marketplace/files": {
      "post": {
        "operationId": "marketplaceUploadFile",
        "summary": "Uploads a Marketplace-related file",
        "tags": [
          "marketplace"
        ],
        "description": "Uploads a Marketplace-related file",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          },
          {
            "schema": {
              "pattern": "^multipart/form-data",
              "type": "string"
            },
            "in": "header",
            "name": "content-type",
            "required": false
          }
        ],
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_upload_marketplace_file",
            "preventBodyLoad": true
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "_id": {
                      "type": "string"
                    },
                    "file": {
                      "type": "string"
                    },
                    "location": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "size": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "_id",
                    "name",
                    "file",
                    "size",
                    "location"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/backend/marketplace": {
      "get": {
        "tags": [
          "marketplace"
        ],
        "description": "Returns the list of available Marketplace items",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "includeTenantId",
            "required": false,
            "description": "The Id of the Tenant for which to return both the public and private marketplace resources"
          },
          {
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "in": "query",
            "name": "itemUrns",
            "required": false,
            "description": "List of item URNs used to fetch only specific items, where the URN pattern is `urn:<<tenantId>>:mktp:<<itemId>>`, or `urn:<<tenantId>>:mktp:<<itemId>>?=version=<<version>>`. Each list element should be passed on a different query param (ie. itemUrns=urn1&itemUrns=urn2)"
          },
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "perPage",
            "required": false,
            "description": "Size of the page to be downloaded"
          },
          {
            "schema": {
              "type": "boolean"
            },
            "in": "query",
            "name": "resolveResourcesData",
            "required": false,
            "description": "If true the returned items contain also the resources data as well as metadata"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "tenantId",
            "required": false,
            "description": "The Id of the Tenant for which to filter the marketplace resources"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "types",
            "required": false,
            "description": "A comma separated string of marketplace types (e.g.: plugin,template,example,application)"
          }
        ],
        "deprecated": true,
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/legacy-catalog-item"
                  },
                  "type": "array"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      },
      "head": {
        "tags": [
          "marketplace"
        ],
        "description": "Returns the list of available Marketplace items",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "includeTenantId",
            "required": false,
            "description": "The Id of the Tenant for which to return both the public and private marketplace resources"
          },
          {
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "in": "query",
            "name": "itemUrns",
            "required": false,
            "description": "List of item URNs used to fetch only specific items, where the URN pattern is `urn:<<tenantId>>:mktp:<<itemId>>`, or `urn:<<tenantId>>:mktp:<<itemId>>?=version=<<version>>`. Each list element should be passed on a different query param (ie. itemUrns=urn1&itemUrns=urn2)"
          },
          {
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "name": "perPage",
            "required": false,
            "description": "Size of the page to be downloaded"
          },
          {
            "schema": {
              "type": "boolean"
            },
            "in": "query",
            "name": "resolveResourcesData",
            "required": false,
            "description": "If true the returned items contain also the resources data as well as metadata"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "tenantId",
            "required": false,
            "description": "The Id of the Tenant for which to filter the marketplace resources"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "types",
            "required": false,
            "description": "A comma separated string of marketplace types (e.g.: plugin,template,example,application)"
          }
        ],
        "deprecated": true,
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/legacy-catalog-item"
                  },
                  "type": "array"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/backend/marketplace/{uuid}": {
      "get": {
        "tags": [
          "marketplace"
        ],
        "description": "Returns details of a specific Marketplace item given its database uuid",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "uuid",
            "required": true
          }
        ],
        "deprecated": true,
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Data model of a Catalog item with required version",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/legacy-catalog-versioned-item"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      },
      "head": {
        "tags": [
          "marketplace"
        ],
        "description": "Returns details of a specific Marketplace item given its database uuid",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "uuid",
            "required": true
          }
        ],
        "deprecated": true,
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Data model of a Catalog item with required version",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/legacy-catalog-versioned-item"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/backend/marketplace/tenants/{tenantId}/resources": {
      "post": {
        "tags": [
          "marketplace"
        ],
        "description": "Apply items to the marketplace",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "resources": {
                    "items": {
                      "$ref": "#/components/schemas/legacy-catalog-item-manifest"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "resources"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          }
        ],
        "deprecated": true,
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_apply_marketplace_item",
            "preventBodyLoad": true
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "done": {
                      "type": "boolean"
                    },
                    "items": {
                      "items": {
                        "properties": {
                          "_id": {
                            "type": "string"
                          },
                          "done": {
                            "type": "boolean"
                          },
                          "errors": {
                            "items": {
                              "additionalProperties": true,
                              "properties": {
                                "ajvError": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "instancePath": {
                                      "type": "string"
                                    },
                                    "keyword": {
                                      "type": "string"
                                    },
                                    "message": {
                                      "type": "string"
                                    },
                                    "params": {
                                      "additionalProperties": true,
                                      "type": "object"
                                    },
                                    "schemaPath": {
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "message": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "message"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "inserted": {
                            "type": "boolean"
                          },
                          "isLatest": {
                            "type": "boolean"
                          },
                          "isUsingVersion": {
                            "type": "boolean"
                          },
                          "itemId": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "updated": {
                            "type": "boolean"
                          },
                          "validationErrors": {
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "instancePath": {
                                  "type": "string"
                                },
                                "keyword": {
                                  "type": "string"
                                },
                                "message": {
                                  "type": "string"
                                },
                                "params": {
                                  "additionalProperties": true,
                                  "type": "object"
                                },
                                "schemaPath": {
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "type": "array"
                          }
                        },
                        "required": [
                          "itemId",
                          "name",
                          "done",
                          "inserted",
                          "updated",
                          "validationErrors",
                          "errors"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "done",
                    "items"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/backend/marketplace/tenants/{tenantId}/resources/{uuid}": {
      "delete": {
        "tags": [
          "marketplace"
        ],
        "description": "Deletes a specific Marketplace item given its database uuid",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "uuid",
            "required": true
          }
        ],
        "deprecated": true,
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_delete_marketplace_item",
            "preventBodyLoad": true
          }
        },
        "responses": {
          "204": {
            "description": "Default Response"
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/backend/marketplace/tenants/{tenantId}/resources/{itemId}/versions": {
      "get": {
        "tags": [
          "marketplace"
        ],
        "description": "Returns the list of a Marketplace item versions",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "itemId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          }
        ],
        "deprecated": true,
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/legacy-catalog-release"
                  },
                  "type": "array"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      },
      "head": {
        "tags": [
          "marketplace"
        ],
        "description": "Returns the list of a Marketplace item versions",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "itemId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          }
        ],
        "deprecated": true,
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/legacy-catalog-release"
                  },
                  "type": "array"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/backend/marketplace/tenants/{tenantId}/resources/{itemId}/versions/{version}": {
      "get": {
        "tags": [
          "marketplace"
        ],
        "description": "Returns details of a specific Marketplace item version",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "itemId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "version",
            "required": true
          }
        ],
        "deprecated": true,
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Data model of a Catalog item with required version",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/legacy-catalog-versioned-item"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      },
      "head": {
        "tags": [
          "marketplace"
        ],
        "description": "Returns details of a specific Marketplace item version",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "itemId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "version",
            "required": true
          }
        ],
        "deprecated": true,
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Data model of a Catalog item with required version",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/legacy-catalog-versioned-item"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "marketplace"
        ],
        "description": "Deletes a specific Marketplace item version",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "itemId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "version",
            "required": true
          }
        ],
        "deprecated": true,
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_delete_marketplace_item",
            "preventBodyLoad": true
          }
        },
        "responses": {
          "204": {
            "description": "Default Response",
            "headers": {
              "X-Marketplace-Item-Latest-Version": {
                "schema": {
                  "type": "string"
                },
                "description": "URN of the new latest version"
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/backend/marketplace/categories": {
      "get": {
        "tags": [
          "marketplace"
        ],
        "description": "Returns the list of available Marketplace categories",
        "deprecated": true,
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/software-catalog-category"
                  },
                  "type": "array"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      },
      "head": {
        "tags": [
          "marketplace"
        ],
        "description": "Returns the list of available Marketplace categories",
        "deprecated": true,
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_all"
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/software-catalog-category"
                  },
                  "type": "array"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    },
    "/api/backend/marketplace/tenants/{tenantId}/files": {
      "post": {
        "tags": [
          "marketplace"
        ],
        "description": "Upload a file to the marketplace",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "tenantId",
            "required": true
          },
          {
            "schema": {
              "pattern": "^multipart/form-data",
              "type": "string"
            },
            "in": "header",
            "name": "content-type",
            "required": false
          }
        ],
        "deprecated": true,
        "x-rond": {
          "options": {
            "ignoreTrailingSlash": true
          },
          "requestFlow": {
            "policyName": "allow_upload_marketplace_file",
            "preventBodyLoad": true
          }
        },
        "responses": {
          "200": {
            "description": "Default Response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "_id": {
                      "type": "string"
                    },
                    "file": {
                      "type": "string"
                    },
                    "location": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "size": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "_id",
                    "name",
                    "file",
                    "size",
                    "location"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "4XX": {
            "description": "Client error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Client error"
                }
              }
            }
          },
          "5XX": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/http-error",
                  "description": "Server error"
                }
              }
            }
          }
        }
      }
    }
  },
  "tags": [
    {
      "description": "Marketplace APIs",
      "name": "marketplace"
    }
  ]
}
