{ "openapi": "3.0.4", "info": { "title": "Fenergo Nebula Configuration Exchange Query", "description": "**Configuration Exchange Query API provides**:
", "version": "1.0" }, "servers": [ { "url": "/configexchangequery" } ], "paths": { "/api/configuration-exchange": { "get": { "tags": [ "ConfigEnvironment" ], "summary": "Get all ConfigurationEnvironments", "description": "\nReturns a list of all ConfigurationEnvironments for a given tenant

Required permissions:
Following permissions are required: ConfigurationExchangeAccess", "operationId": "GetAllConfigurationEnvironments", "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" } ], "responses": { "200": { "description": "Success. The list of ConfigurationEnvironments is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigEnvironmentDtoIEnumerableServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/configuration-exchange/{id}": { "get": { "tags": [ "ConfigEnvironment" ], "summary": "Get a ConfigurationEnvironment", "description": "\nReturns a ConfigurationEnvironment for a given ID

Required permissions:
Following permissions are required: ConfigurationExchangeAccess", "operationId": "GetConfigurationEnvironmentById", "parameters": [ { "name": "id", "in": "path", "description": "Unique Identifier of the ConfigurationEnvironment", "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": { "200": { "description": "Success. A ConfigurationEnvironment is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigEnvironmentDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found. ConfigurationEnvironment with given ID does not exist", "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-history/getLatestBySourceIds": { "post": { "tags": [ "ImportHistory" ], "summary": "Get data about the last imports of multiple source tenant configurations", "description": "\nReturns information about latest imports of the requested source tenant configurations.

Required permissions:
Following permissions are required: ConfigurationExchangeAccess", "operationId": "GetLatestImportedConfigsBySourceIds", "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": "ServiceRequest with the Fenergo.Nebula.ConfigExchange.Query.Application.Dto.LatestImportedConfigVersions.LatestImportedConfigRequestDto containing identifiers of the source tenant configs", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LatestImportedConfigRequestDtoServiceRequest" } } } }, "responses": { "200": { "description": "Success. LatestImportedConfig record is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LatestImportedConfigResponseDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not found. There is no data for the specific configuration.", "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-history": { "get": { "tags": [ "ImportRecord" ], "summary": "Get all ImportRecords", "description": "\nReturns a list of all ImportRecords for a given tenant

Required permissions:
Following permissions are required: ConfigurationExchangeAccess", "operationId": "GetAllImportRecords", "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" } ], "responses": { "200": { "description": "Success. The list of ImportRecords is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImportRecordDtoIEnumerableServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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-history/{id}": { "get": { "tags": [ "ImportRecord" ], "summary": "Get an ImportRecord", "description": "\nReturns an ImportRecord for a given ID

Required permissions:
Following permissions are required: ConfigurationExchangeAccess", "operationId": "GetImportRecordById", "parameters": [ { "name": "id", "in": "path", "description": "Unique Identifier of the ImportRecord", "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": { "200": { "description": "Success. An ImportRecord is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImportRecordDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found. ImportRecord with given ID does not exist", "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-session/{id}": { "get": { "tags": [ "ImportSession" ], "summary": "Get an ImportSession", "description": "\nReturns an ImportSession for a given ID

Required permissions:
Following permissions are required: ConfigurationExchangeAccess", "operationId": "GetImportSession", "parameters": [ { "name": "id", "in": "path", "description": "Unique Identifier of the ImportSession", "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": { "200": { "description": "Success. An ImportSession is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImportSessionDtoServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found. ImportSession with given ID does not exist", "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-session/{sessionId}/log": { "get": { "tags": [ "ImportSession" ], "summary": "Get session logs", "description": "\nReturns logs for a given import session

Required permissions:
Following permissions are required: ConfigurationExchangeAccess", "operationId": "GetLogs", "parameters": [ { "name": "sessionId", "in": "path", "description": "Unique Identifier of the ImportSession", "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": { "200": { "description": "Success. Logs returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImportSessionLogEntryDtoIEnumerableServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not Found. No logs associated with the given session id", "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-session": { "get": { "tags": [ "ImportSession" ], "summary": "Get basic details for all import sessions", "description": "\nReturns a list of all Import Sessions for a given tenant

Required permissions:
Following permissions are required: ConfigurationExchangeAccess", "operationId": "GetAllImportSessionSummaries", "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" } ], "responses": { "200": { "description": "Success. The list of Import Sessions is returned", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImportSessionSummaryDtoIEnumerableServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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": { "ConfigEnvironmentDto": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique Identifier of the environment", "format": "uuid", "example": "2920b7a7-7336-4fb1-82b7-1d691b8367fa" }, "name": { "type": "string", "description": "Friendly name of the environment", "nullable": true, "example": "Fenergo Sandbox" }, "authorisationLoginUri": { "type": "string", "description": "The URI of the Authentication provider for this environment", "nullable": true, "example": "https://identity.fenergonebula.com" }, "configurationQueryUri": { "type": "string", "description": "The base URI of the APIs for this environment", "nullable": true, "example": "https://app.fenergonebula.com" } }, "additionalProperties": false, "description": "The details of a configuration environment" }, "ConfigEnvironmentDtoIEnumerableServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ConfigEnvironmentDto" }, "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "ConfigEnvironmentDtoServiceResponse": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ConfigEnvironmentDto" }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "ConfigIdentifierDto": { "type": "object", "properties": { "configId": { "type": "string", "description": "Configuration identifier.", "format": "uuid", "example": "89f8a8c1-c721-4b25-aeb7-67f2e4ffa249" }, "configType": { "type": "string", "description": "Configuration type.", "nullable": true, "example": "lookup" } }, "additionalProperties": false, "description": "Data to identify a source tenant configuration" }, "ImportItem": { "type": "object", "properties": { "configId": { "type": "string", "nullable": true }, "targetConfigId": { "type": "string", "nullable": true }, "configVersion": { "$ref": "#/components/schemas/ImportItemVersion" }, "configType": { "type": "string", "nullable": true }, "type": { "$ref": "#/components/schemas/ImportItemType" }, "status": { "$ref": "#/components/schemas/ImportItemStatus" }, "name": { "type": "string", "nullable": true }, "equivalentIdentifierSnapshot": { "type": "string", "nullable": true }, "errorMessage": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ImportItemStatus": { "enum": [ "None", "Invalid", "MissingDependency", "LoadingError", "ImportError", "Pending", "NewDraftCreated", "Created", "Published", "Updated", "NoChange", "PermissionError" ], "type": "string" }, "ImportItemType": { "enum": [ "Selection", "Dependency" ], "type": "string" }, "ImportItemVersion": { "type": "object", "properties": { "versionNumber": { "type": "integer", "format": "int32" }, "targetVersionNumber": { "type": "integer", "format": "int32", "nullable": true }, "isManuallySelected": { "type": "boolean" }, "notes": { "type": "string", "nullable": true }, "publicationDate": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "ImportPhaseType": { "enum": [ "Selection", "DependencyCheck", "Import", "Retry" ], "type": "string" }, "ImportRecordDto": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique Identifier of the import record", "format": "uuid", "example": "2920b7a7-7336-4fb1-82b7-1d691b8367fa" }, "targetTenantId": { "type": "string", "description": "The tenant id of the target tenant", "nullable": true, "example": "4340b7a7-126-4cd2-73b4-1d691b83577e" }, "sourceTenantId": { "type": "string", "description": "The tenant id of the source tenant", "nullable": true, "example": "3840b7a7-7326-4fb1-78b7-1d691b83676b" }, "importStatus": { "$ref": "#/components/schemas/ImportStatus" } }, "additionalProperties": false, "description": "The details of an import record" }, "ImportRecordDtoIEnumerableServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ImportRecordDto" }, "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "ImportRecordDtoServiceResponse": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ImportRecordDto" }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "ImportSessionDto": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique Identifier of the import session", "format": "uuid", "example": "2920b7a7-7336-4fb1-82b7-1d691b8367fa" }, "sourceTenant": { "type": "string", "description": "The id of the source tenant for the import session", "nullable": true, "example": "3920c7a7-7836-5fb1-83b2-1d641c8337fa" }, "sourceTenantName": { "type": "string", "description": "The name of the source tenant for the import session", "nullable": true, "example": "example-name" }, "name": { "type": "string", "description": "The name of the import session", "nullable": true, "example": "1081" }, "description": { "type": "string", "description": "The description of the import session", "nullable": true, "example": "Description of the Import Session 23/04/22" }, "status": { "$ref": "#/components/schemas/ImportSessionStatus" }, "importInPublishedState": { "type": "boolean", "description": "The state of the import in a published state toggle", "example": true }, "configAsOfDate": { "type": "string", "description": "The current configuration as-of value", "format": "date-time", "example": "2019-01-06T17:16:40" }, "createdOn": { "type": "string", "description": "The date the session was created", "format": "date-time", "example": "2019-01-06T17:16:40" }, "lastImportDate": { "type": "string", "description": "The last date an import took place", "format": "date-time", "nullable": true, "example": "2019-01-06T17:16:40" }, "currentPhaseIndex": { "type": "integer", "description": "The index of the current active phase", "format": "int32", "example": 1 }, "currentPhaseType": { "$ref": "#/components/schemas/ImportPhaseType" }, "changedBy": { "type": "string", "description": "The id of the user that performed the latest action", "nullable": true, "example": "Selection" }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/ImportItem" }, "description": "The list of ImportItems", "nullable": true }, "configEnvironmentId": { "type": "string", "description": "The source config environment id", "format": "uuid", "nullable": true, "example": "3920c7a7-7836-5fb1-83b2-1d641c8337fa" }, "configEnvironmentName": { "type": "string", "description": "The source config environment name", "nullable": true, "example": "3920c7a7-7836-5fb1-83b2-1d641c8337fa" } }, "additionalProperties": false, "description": "The details of an import session" }, "ImportSessionDtoServiceResponse": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ImportSessionDto" }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "ImportSessionLogEntryDto": { "type": "object", "properties": { "resultParameters": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "description": "Log result parameters to be injected in the log's main result message", "nullable": true }, "errorMessage": { "type": "string", "description": "Optional error message to be added after the log result", "nullable": true, "example": "Failure to load configuration from source tenant" }, "resultBulletPoints": { "type": "object", "additionalProperties": { "type": "string", "nullable": true }, "description": "Non-localized bullet points to be added at the end of the log result", "nullable": true }, "logStatus": { "$ref": "#/components/schemas/LogStatus" }, "sourceConfigId": { "type": "string", "description": "The id of source config for which the log was created, when available", "nullable": true, "example": "668c50eb-9480-4e7d-9706-036fbbf3be57" }, "configType": { "type": "string", "description": "The type of config for which the log was created", "nullable": true, "example": "JourneySchema" }, "configName": { "type": "string", "description": "The name of config item for which the log was created", "nullable": true, "example": "Client Onboarding" }, "logType": { "$ref": "#/components/schemas/LogType" }, "date": { "type": "string", "description": "The date that the log entry was created", "format": "date-time", "example": "2023-05-03T08:44:55.265Z" } }, "additionalProperties": false, "description": "The details of an import log" }, "ImportSessionLogEntryDtoIEnumerableServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ImportSessionLogEntryDto" }, "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "ImportSessionStatus": { "enum": [ "Open", "InProgress", "Failed", "Completed" ], "type": "string" }, "ImportSessionSummaryDto": { "type": "object", "properties": { "sessionId": { "type": "string", "description": "Unique Identifier of the import session", "format": "uuid", "example": "2920b7a7-7336-4fb1-82b7-1d691b8367fa" }, "sessionName": { "type": "string", "description": "The name of the import session", "nullable": true, "example": "1081" }, "sourceTenantId": { "type": "string", "description": "The id of the source tenant", "format": "uuid", "nullable": true, "example": "383Ghts-4536-4585-82b7-1d694509jfdl" }, "sourceTenantName": { "type": "string", "description": "The name of the source tenant for the import session", "nullable": true, "example": "example-name" }, "sourceEnvironmentId": { "type": "string", "description": "The id of the source environment", "format": "uuid", "nullable": true, "example": "dT45b7a7-7336-4585-82b7-1d691b8367fa" }, "sourceEnvironmentName": { "type": "string", "description": "The name of the source environment", "nullable": true, "example": "example-name" }, "configAsOfDate": { "type": "string", "description": "The current configuration as-of value", "format": "date-time", "example": "2019-01-06T17:16:40" }, "lastImportDate": { "type": "string", "description": "The last date an import took place", "format": "date-time", "nullable": true, "example": "2019-01-06T17:16:40" }, "description": { "type": "string", "description": "The description of the import session", "nullable": true, "example": "Description of the Import Session 23/04/22" }, "status": { "$ref": "#/components/schemas/ImportSessionStatus" }, "lastImportedBy": { "type": "string", "description": "Id of the user who last clicked 'Import'/'Retry' for this session", "nullable": true, "example": "7a8ab37d-9cd5-48ef-8028-0e7c4a606570" } }, "additionalProperties": false, "description": "The basic details of an import session" }, "ImportSessionSummaryDtoIEnumerableServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ImportSessionSummaryDto" }, "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "ImportStatus": { "enum": [ 0, 1 ], "type": "integer", "format": "int32" }, "LatestImportedConfigRequestDto": { "type": "object", "properties": { "sourceTenantId": { "type": "string", "description": "Source tenant identifier.", "format": "uuid", "example": "3840b7a7-7326-4fb1-78b7-1d691b83676b" }, "sourceConfigIdentifiers": { "type": "array", "items": { "$ref": "#/components/schemas/ConfigIdentifierDto" }, "description": "Source config identifiers.", "nullable": true } }, "additionalProperties": false }, "LatestImportedConfigRequestDtoServiceRequest": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/LatestImportedConfigRequestDto" } }, "additionalProperties": false }, "LatestImportedConfigResponseDto": { "type": "object", "properties": { "latestVersions": { "type": "array", "items": { "$ref": "#/components/schemas/LatestImportedConfigVersionDto" }, "nullable": true }, "latestNonVersionedConfigs": { "type": "array", "items": { "$ref": "#/components/schemas/LatestImportedNonVersionedConfigDto" }, "nullable": true } }, "additionalProperties": false }, "LatestImportedConfigResponseDtoServiceResponse": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/LatestImportedConfigResponseDto" }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "LatestImportedConfigVersionDto": { "type": "object", "properties": { "configType": { "type": "string", "description": "Configuration type", "nullable": true, "example": "Lookup" }, "sourceTenantId": { "type": "string", "description": "Source tenant identifier.", "nullable": true, "example": "3840b7a7-7326-4fb1-78b7-1d691b83676b" }, "sourceEnvironmentId": { "type": "string", "description": "Source configuration environment identifier.", "format": "uuid", "nullable": true, "example": "2920b7a7-7336-4fb1-82b7-1d691b8367fa" }, "targetConfigId": { "type": "string", "description": "Target configuration identifier.", "nullable": true, "example": "4c0c0e58-cff6-41b6-9aa6-08e308592643" }, "sourceConfigId": { "type": "string", "description": "Source configuration identifier.", "nullable": true, "example": "211f3023-00ef-4736-9c5f-e0c13e07fab4" }, "sourceEquivalentIdentifierSnapshot": { "type": "string", "description": "Source-side equivalence identifier captured by the UI at the time\nof the prior successful import (sent as\n`ImportItem.EquivalentIdentifierSnapshot` on the close-phase\ncommand). This is the value the UI equivalence finder will compare\nagainst the target configuration's `equivalentIdentifier` on\nsubsequent imports, and is intentionally distinct from the display\nname — for some config types they coincide (e.g. Teams,\nRisk threshold model active name), for others they diverge\n(e.g. ComponentLibrary where the identifier is the configType\nconstant, IntegrationFlowsLibraries where it is the libraryKey).\nMay be `null` for backfilled rows or events from older UI\nclients that did not send the field.", "nullable": true, "example": "componentLibrary" }, "sourceVersionNumber": { "type": "integer", "description": "Source configuration version number.", "format": "int32", "example": 15 }, "targetVersionNumber": { "type": "integer", "description": "Target configuration version number.", "format": "int32", "example": 10 }, "importedOn": { "type": "string", "description": "Import date.", "format": "date-time", "example": "2023-05-30" } }, "additionalProperties": false }, "LatestImportedNonVersionedConfigDto": { "type": "object", "properties": { "configType": { "type": "string", "description": "Configuration type", "nullable": true, "example": "Lookup" }, "sourceTenantId": { "type": "string", "description": "Source tenant identifier.", "nullable": true, "example": "3840b7a7-7326-4fb1-78b7-1d691b83676b" }, "sourceEnvironmentId": { "type": "string", "description": "Source configuration environment identifier.", "format": "uuid", "nullable": true, "example": "2920b7a7-7336-4fb1-82b7-1d691b8367fa" }, "targetConfigId": { "type": "string", "description": "Target configuration identifier.", "nullable": true, "example": "4c0c0e58-cff6-41b6-9aa6-08e308592643" }, "sourceConfigId": { "type": "string", "description": "Source configuration identifier.", "nullable": true, "example": "211f3023-00ef-4736-9c5f-e0c13e07fab4" }, "sourceEquivalentIdentifierSnapshot": { "type": "string", "description": "Source-side equivalent identifier snapshot stored when the import succeeded.", "nullable": true, "example": "Original Team Name" }, "importedOn": { "type": "string", "description": "Import date.", "format": "date-time", "example": "2023-05-30" } }, "additionalProperties": false }, "LogStatus": { "enum": [ "None", "Invalid", "MissingDependency", "LoadingError", "ImportError", "PermissionError", "ImplementationError", "Pending", "NewDraftCreated", "Created", "Published", "Updated", "NoChange", "Info", "IdentityError", "Warning", "Imported" ], "type": "string" }, "LogType": { "enum": [ "None", "RefreshingCache", "AsOfDateChanged", "ErrorWhileRemovingConfig", "AsOfDateChangeError", "ErrorWhileChangingSelectedItemVersion", "ErrorWhileChangingDependencyVersion", "ErrorWhileRefreshingAuthToken", "AuthTokenRefreshRetry", "ErrorDuringDependencyCheck", "GlobalSessionImportError", "MissingDependencyError", "ErrorLoadingDependencies", "MissingPermissionsError", "UnexpectedLoadingError", "MissingApiClient", "DependentTypeDisabled", "ConfigsFailedToLoadForSelection", "SourceModelFailedToLoad", "ImportStarted", "ImportCompleted", "UnexpectedImportEngineError", "MissingImporter", "DependentImportCanceled", "SourceRawVersionLoadingError", "ErrorPreparingNewVersion", "ErrorPreparingNewVersionedConfig", "NewVersionImportError", "NewVersionedConfigImportError", "PublishError", "NewVersionedConfigCreated", "NewVersionCreated", "NewVersionPublished", "NonVersionedConfigLoadingError", "ErrorPreparingNonVersionedConfigUpdate", "ErrorPreparingNonVersionedConfigCreation", "NonVersionedConfigUpdateError", "NonVersionedConfigCreationError", "NewNonVersionedConfigCreated", "NewNonVersionedConfigUpdated", "ImportSkippedByDeepComparison", "ImportSkippedBySmartImport", "DependencyUpdateSkipped", "ExternalDataImportError", "NewExtDataMappingUpdated", "MissingPolicyForRegime", "InvalidScheduleConditionField", "MissingScheduleConditonField", "ScheduleConditionFieldIndexing", "MissingPolicyDataKeysForSDT", "ErrorLoadingPolicyForSDT", "InvalidSDTUpdate", "TeamSkippedAsDependency", "ErrorLoadingUserScopes", "InvalidDPRegimeUpdate", "ErrorRequestingIndirectDependency", "VersionedDependencyMissingActiveVersion", "MissingPolicyProviderInSource", "MissingPolicyProviderInTarget", "DependencyVersionConflict", "ErrorLoadingPolicyForAD", "AdvancedDashboardMissingPolicyDataKeys", "ErrorDuringClosePhase", "IntegrationFlowGlobalVariableNoChange", "RPSRImportSkippedDraftExists", "RPSRTaskReferenceUpdated", "RPSRTaskReferenceUnresolved", "RPSRTaskReferenceMappingStarted", "RPSRTaskReferenceMappingCompleted", "RPSRTargetTenantLoadFailed", "ScreeningProviderConfigurationNoChange", "SecondaryIdentifierImported", "RPSRSourceTenantLoadFailed", "RiskAmbiguousSourceDuplicateNames" ], "type": "string" }, "ObjectServiceResponse": { "type": "object", "properties": { "data": { "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "ProblemDetails": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "title": { "type": "string", "nullable": true }, "status": { "type": "integer", "format": "int32", "nullable": true }, "detail": { "type": "string", "nullable": true }, "instance": { "type": "string", "nullable": true } }, "additionalProperties": { } }, "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 } }, "securitySchemes": { "Bearer": { "type": "apiKey", "description": "Please insert JWT with Bearer into field", "name": "Authorization", "in": "header" } } }, "security": [ { "Bearer": [ ] } ] }