{ "openapi": "3.0.4", "info": { "title": "Fenergo Nebula Configuration Release Hub Command", "description": "**Configuration Release Hub Command API**:


Configuration Release Hub Command API provides endpoints in order to manage configuration import process.


**Configuration Release Hub Command API provides**:
", "version": "1.0" }, "servers": [ { "url": "/configreleasehubcommand" } ], "paths": { "/api/bundles": { "post": { "tags": [ "Bundle" ], "summary": "Create a Configuration Bundle", "description": "\nCreate Bundle for a given tenant.

Required permissions:
Following permissions are required: ConfigurationReleaseHubCreateBundle", "operationId": "CreateBundle", "parameters": [ { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "requestBody": { "description": "The request containing basic information required to create a new configuration bundle,\nincluding its name, description, and the reference date for retrieving configuration items.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CreateBundleRequestDtoServiceRequest" } ] } } }, "required": true }, "responses": { "202": { "description": "Success. Bundle created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BundleVersionDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationErrorModelListServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } }, "/api/bundles/{bundleVersionId}/draft": { "post": { "tags": [ "Bundle" ], "summary": "Creates a new draft version of an existing configuration bundle.", "description": "

Required permissions:
Following permissions are required: ConfigurationReleaseHubCreateBundle", "operationId": "CreateBundleVersionDraft", "parameters": [ { "name": "bundleVersionId", "in": "path", "description": "Identifier of the existing bundle configuration.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "202": { "description": "Success. Bundle draft version created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BundleVersionDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationErrorModelListServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } }, "/api/bundles/{bundleVersionId}": { "delete": { "tags": [ "Bundle" ], "summary": "Delete the existing configuration bundle version draft.", "description": "

Required permissions:
Following permissions are required: ConfigurationReleaseHubCreateBundle", "operationId": "DeleteBundleVersionDraft", "parameters": [ { "name": "bundleVersionId", "in": "path", "description": "Identifier of the existing bundle configuration.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "202": { "description": "Success. Bundle draft version deleted" }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationErrorModelListServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } }, "put": { "tags": [ "Bundle" ], "summary": "Save existing configuration bundle version.", "description": "

Required permissions:
Following permissions are required: ConfigurationReleaseHubCreateBundle", "operationId": "SaveBundleVersion", "parameters": [ { "name": "bundleVersionId", "in": "path", "description": "Identifier of the existing bundle configuration.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "requestBody": { "description": "Request object containing Bundle properties", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/SaveBundleVersionDtoServiceRequest" } ] } } } }, "responses": { "202": { "description": "Success. Bundle draft version saved", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BundleVersionDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationErrorModelListServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } }, "/api/bundles/{bundleVersionId}/items": { "post": { "tags": [ "Bundle" ], "summary": "Add configuration items to the specified bundle version.", "description": "\nThis method adds one or more configuration items to a given bundle version.

Required permissions:
Following permissions are required: ConfigurationReleaseHubCreateBundle", "operationId": "AddConfigToTheBundle", "parameters": [ { "name": "bundleVersionId", "in": "path", "description": "Identifier of the existing bundle configuration.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "requestBody": { "description": "The request object containing configuration items to add to the bundle.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/AddConfigRequestDtoListServiceRequest" } ] } } } }, "responses": { "202": { "description": "Configuration items successfully added to the bundle.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SelectedItemDtoIEnumerableServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationErrorModelListServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } }, "/api/bundles/{bundleVersionId}/items/{configKey}/{configId}": { "delete": { "tags": [ "Bundle" ], "summary": "Removes a configuration item from the specified bundle version.", "description": "

Required permissions:
Following permissions are required: ConfigurationReleaseHubCreateBundle", "operationId": "RemoveConfigFromBundle", "parameters": [ { "name": "bundleVersionId", "in": "path", "description": "Identifier of the bundle version.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "configKey", "in": "path", "description": "Configuration key to remove.", "required": true, "schema": { "type": "string" } }, { "name": "configId", "in": "path", "description": "Configuration identifier to remove.", "required": true, "schema": { "type": "string" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "202": { "description": "Configuration item successfully removed from the bundle." }, "400": { "description": "Bad request: missing or invalid parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationErrorModelListServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } }, "/api/bundles/{bundleVersionId}/submit": { "put": { "tags": [ "Bundle" ], "summary": "Submit existing configuration bundle version.", "description": "

Required permissions:
Following permissions are required: ConfigurationReleaseHubCreateBundle", "operationId": "SubmitBundleVersion", "parameters": [ { "name": "bundleVersionId", "in": "path", "description": "Identifier of the existing bundle configuration.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "202": { "description": "Success. Bundle draft version submitted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationErrorModelListServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } }, "/api/import": { "post": { "tags": [ "Import" ], "summary": "Creates a new Bundle Import session.", "description": "\nCreates a new Bundle Import session for a given tenant

Required permissions:
Following permissions are required: ConfigurationReleaseHubImportBundle", "operationId": "CreateBundleImportSession", "parameters": [ { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "requestBody": { "description": "The request containing the details for the Bundle Import session.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CreateBundleImportSessionRequestDtoServiceRequest" } ] } } }, "required": true }, "responses": { "202": { "description": "Success. Bundle created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BundleVersionDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationErrorModelListServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found", "type": "Error", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } }, "410": { "description": "Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" }, "example": { "data": null, "messages": [ { "message": "This endpoint is obsolete and was terminated on yyyy-MM-dd", "type": "Error", "errorCode": "OBSOLETE_ENDPOINT" } ] } } } } } } } }, "components": { "schemas": { "AddConfigItemDto": { "required": [ "configId" ], "type": "object", "properties": { "configId": { "minLength": 1, "type": "string" }, "configVersion": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AddConfigRequestDto": { "required": [ "configItems", "configKey" ], "type": "object", "properties": { "configKey": { "minLength": 1, "type": "string" }, "configItems": { "type": "array", "items": { "$ref": "#/components/schemas/AddConfigItemDto" } } }, "additionalProperties": false }, "AddConfigRequestDtoListServiceRequest": { "required": [ "data" ], "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/AddConfigRequestDto" } } }, "additionalProperties": false }, "BundleStatus": { "enum": [ "Draft", "Pending", "Failed", "Published", "Deleted" ], "type": "string" }, "BundleVersionDto": { "type": "object", "properties": { "bundleId": { "type": "string", "format": "uuid" }, "bundleVersionId": { "type": "string", "format": "uuid" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "versionNotes": { "type": "string", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "nullable": true }, "configurationAsOfDate": { "type": "string", "format": "date" }, "publishedAt": { "type": "string", "format": "date-time", "nullable": true }, "publishedBy": { "type": "string", "nullable": true }, "bundleVersionNumber": { "type": "integer", "format": "int32" }, "status": { "allOf": [ { "$ref": "#/components/schemas/BundleStatus" } ] } }, "additionalProperties": false }, "BundleVersionDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/BundleVersionDto" } ], "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "CreateBundleImportSessionRequestDto": { "type": "object", "properties": { "bundleId": { "type": "string", "format": "uuid" }, "bundleVersionNumber": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "CreateBundleImportSessionRequestDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/CreateBundleImportSessionRequestDto" } ], "nullable": true } }, "additionalProperties": false }, "CreateBundleRequestDto": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 100, "minLength": 1, "type": "string" }, "description": { "maxLength": 400, "type": "string", "nullable": true } }, "additionalProperties": false }, "CreateBundleRequestDtoServiceRequest": { "required": [ "data" ], "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/CreateBundleRequestDto" } ] } }, "additionalProperties": false }, "DependencyRecordDto": { "type": "object", "properties": { "dependencyId": { "type": "string", "nullable": true }, "configKey": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "dependencyVersionKey": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ObjectServiceResponse": { "type": "object", "properties": { "data": { "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "SaveBundleVersionDto": { "required": [ "configurationAsOfDate", "name" ], "type": "object", "properties": { "name": { "maxLength": 100, "minLength": 1, "type": "string" }, "description": { "maxLength": 400, "type": "string", "nullable": true }, "versionNotes": { "maxLength": 400, "type": "string", "nullable": true }, "configurationAsOfDate": { "minLength": 1, "type": "string" } }, "additionalProperties": false }, "SaveBundleVersionDtoServiceRequest": { "required": [ "data" ], "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/SaveBundleVersionDto" } ] } }, "additionalProperties": false }, "SelectConfigItemType": { "enum": [ "Auto", "Manual" ], "type": "string" }, "SelectedItemDto": { "type": "object", "properties": { "configId": { "type": "string", "nullable": true }, "configName": { "type": "string", "nullable": true }, "configVersionKey": { "type": "string", "nullable": true }, "versionLabel": { "type": "string", "nullable": true }, "versionNotes": { "type": "string", "nullable": true }, "dependencies": { "type": "array", "items": { "$ref": "#/components/schemas/DependencyRecordDto" }, "nullable": true }, "effectiveFrom": { "type": "string", "format": "date-time", "nullable": true }, "type": { "allOf": [ { "$ref": "#/components/schemas/SelectConfigItemType" } ] }, "configKey": { "type": "string", "nullable": true }, "selectedItemStatus": { "allOf": [ { "$ref": "#/components/schemas/SelectedItemStatus" } ] } }, "additionalProperties": false }, "SelectedItemDtoIEnumerableServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/SelectedItemDto" }, "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "SelectedItemStatus": { "enum": [ "DependencyCalculation", "Error", "Ready" ], "type": "string" }, "ServiceResponse": { "type": "object", "properties": { "data": { "type": "string", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "ServiceResponseMessage": { "type": "object", "properties": { "message": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "errorCode": { "type": "string", "nullable": true } }, "additionalProperties": false }, "StringServiceResponse": { "type": "object", "properties": { "data": { "type": "string", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "ValidationErrorModel": { "type": "object", "properties": { "propertyName": { "type": "string", "nullable": true }, "errorMessage": { "type": "string", "nullable": true }, "attemptedValue": { "nullable": true }, "errorCode": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ValidationErrorModelListServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ValidationErrorModel" }, "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false, "example": { "data": [ { "propertyName": "data", "errorMessage": "Data is required", "attemptedValue": "", "errorCode": "NotNullValidator" } ], "messages": [ { "message": "Data is required", "type": "Error", "errorCode": "Error Code" } ] } } }, "securitySchemes": { "Bearer": { "type": "apiKey", "description": "Please insert JWT with Bearer into field", "name": "Authorization", "in": "header" } } }, "security": [ { "Bearer": [ ] } ] }