{ "openapi": "3.0.4", "info": { "title": "Fenergo Nebula Data Migration Query", "description": "**Data migration Query API**:\n\n
Data migration Query API provides both configurational and operational methods related to the clients data migration.\n\n
**Data migration Query API provides**:
", "version": "1.0" }, "servers": [ { "url": "/datamigrationquery" } ], "paths": { "/api/migration/{id}": { "get": { "tags": [ "Migration" ], "summary": "Gets migration metadata by id", "description": "\nThis method gets the metadata information around a created migration including data around each stage and task\n\nThe tenant id is mandatory and should be included as the header X-TENANT-ID

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "Get", "parameters": [ { "name": "id", "in": "path", "description": "Id of an existing migration", "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": { "200": { "description": "An instance of the Fenergo.Nebula.DataMigration.Query.Application.Dto.DataMigrationDto class representing the migration metadata with the specified \n id, if found; otherwise, `null`.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DataMigrationDtoServiceResponse" } } } }, "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", "type": "Error", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server error" }, "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" } ] } } } }, "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/migration/{id}/get-artifacts": { "get": { "tags": [ "Migration" ], "summary": "Gets an available artifacts list", "description": "\nThis method gets the artifacts / files that have been upload and attached to the created data migration\n\nThe tenant id is mandatory and should be included as the header X-TENANT-ID

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "GetArtifacts", "parameters": [ { "name": "id", "in": "path", "description": "Id of an existing migration", "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": { "200": { "description": "Returns a list with the artifacts names for the migration ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ArtifactDtoListServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not found. Could not find the resource", "type": "Error", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server error" }, "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" } ] } } } }, "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/migration/{id}/get-artifact-content": { "get": { "tags": [ "Migration" ], "summary": "Gets the artifact content", "description": "\nThis method gets the content for a specified artifact\n\nThe tenant id is mandatory and should be included as the header X-TENANT-ID

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "GetArtifactContent", "parameters": [ { "name": "id", "in": "path", "description": "Id of an existing migration", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "type", "in": "query", "description": "Type of the artifact", "required": true, "schema": { "type": "string", "example": "SchemaReference or Template" }, "example": "SchemaReference or Template" }, { "name": "name", "in": "query", "description": "Name of the artifact", "required": true, "schema": { "type": "string" } }, { "name": "format", "in": "query", "description": "Format of the artifact", "required": true, "schema": { "type": "string", "example": "csv, xlsx" }, "example": "csv, xlsx" }, { "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": "Returns the file content for the artifact provided", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not found. Could not find the resource", "type": "Error", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server error" }, "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" } ] } } } }, "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/migration/{id}/get-error-file": { "get": { "tags": [ "Migration" ], "summary": "Gets an error file", "description": "\nThis method returns an error file for a specified data migration containing information on the failed records\n\nThe tenant id is mandatory and should be included as the header X-TENANT-ID

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "GetErrorFile", "parameters": [ { "name": "id", "in": "path", "description": "Id of an existing migration", "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": { "200": { "description": "Returns the file content for the error file.", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not found. Could not find the resource", "type": "Error", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server error" }, "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" } ] } } } }, "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/migration/{id}/get-migrated-records-file": { "get": { "tags": [ "Migration" ], "summary": "Gets the migrated records file", "description": "\nThis method gets the list of records migrated for the specified data migration\n\nThe tenant id is mandatory and should be included as the header X-TENANT-ID

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "GetMigratedRecords", "parameters": [ { "name": "id", "in": "path", "description": "Id of an existing migration", "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": { "200": { "description": "Returns the file content for the migrated records.", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not found. Could not find the resource", "type": "Error", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server error" }, "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" } ] } } } }, "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/migration/{id}/get-error-file-signed-url": { "get": { "tags": [ "Migration" ], "summary": "Generates a signed url for the migration error csv file.", "description": "\nThis method returns a signed url pointing to the error file if it was generated\n\nThe tenant id is mandatory and should be included as the header X-TENANT-ID

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "GetErrorFileSignedUrl", "parameters": [ { "name": "id", "in": "path", "description": "Id of an existing migration", "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": { "200": { "description": "Signed Url generated correctly", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Not found. Could not find the resource", "type": "Error", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server error" }, "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" } ] } } } }, "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/record-reference-ingestion/{id}/execution": { "get": { "tags": [ "Migration" ], "summary": "Gets the record reference ingestion execution information.", "description": "\nThe tenant id is mandatory and should be included as the header X-TENANT-ID.

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "GetRecordReferenceIngestionExecution", "parameters": [ { "name": "id", "in": "path", "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": { "200": { "description": "Successful request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetProcessExecutionResultDto" } } } }, "400": { "description": "Bad request. The request has missing/invalid values.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "403": { "description": "Access to resource is forbidden.", "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. Could not find the resource.", "type": "Error", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server error." }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "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/jurisdiction-evaluation/{id}/execution": { "get": { "tags": [ "Migration" ], "summary": "Gets the evaluate jurisdictions execution information.", "description": "\nThe tenant id is mandatory and should be included as the header X-TENANT-ID.

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "GetJurisdictionEvaluationExecution", "parameters": [ { "name": "id", "in": "path", "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": { "200": { "description": "Successful request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetProcessExecutionResultDto" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "403": { "description": "Forbidden access to the tenant.", "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. Could not find the resource", "type": "Error", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server error" }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "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/record-reference-ingestion/{id}/execution-error-detail-file": { "get": { "tags": [ "Migration" ], "summary": "Provides access to the error detail file.", "description": "\nThe default format for the error detail file is jsonl.\n\nThe tenant id is mandatory and should be included as the header X-TENANT-ID.

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "GetRecordReferenceIngestionExecutionErrorDetailFile", "parameters": [ { "name": "id", "in": "path", "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": { "200": { "description": "Successful request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetCurrentProcessExecutionErrorDetailFileResultDto" } } } }, "400": { "description": "Bad request. The request has missing/invalid values.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "403": { "description": "Access to resource is forbidden.", "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. Could not find the resource.", "type": "Error", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server error." }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "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/access-layer-propagation/{id}/execution": { "get": { "tags": [ "Migration" ], "summary": "Gets the Access Layer propagation execution information.", "description": "\nThe tenant id is mandatory and should be included as the header X-TENANT-ID.

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "GetAccessLayerPropagationExecution", "parameters": [ { "name": "id", "in": "path", "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": { "200": { "description": "Successful request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetProcessExecutionResultDto" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "403": { "description": "Forbidden access to the tenant.", "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. Could not find the resource", "type": "Error", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server error" }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "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/access-layer-propagation-progress/{processId}": { "get": { "tags": [ "Migration" ], "summary": "Gets the Access Layer propagation execution progress information.", "description": "\nThe tenant id is mandatory and should be included as the header X-TENANT-ID.

Required permissions:
Following permissions are required: DataMigrationAdministrator", "parameters": [ { "name": "processId", "in": "path", "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": { "200": { "description": "Successful request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PostMigrationProgressDto" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "403": { "description": "Forbidden access to the tenant.", "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. Could not find the resource", "type": "Error", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server error" }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "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/migrations/file": { "get": { "tags": [ "Migration" ], "summary": "Get file with all migrations in it.", "description": "\nThis method exports all migrations data as a file.\n\nData included in the file: Id, Status

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "GetMigrationsFile", "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": "Successful request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetProcessExecutionResultDto" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "403": { "description": "Forbidden access to the tenant.", "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. Could not find the resource", "type": "Error", "errorCode": "Error Code" } ] } } } }, "500": { "description": "Internal server error" }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "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": { "ArtifactDto": { "required": [ "format", "name", "type" ], "type": "object", "properties": { "type": { "minLength": 1, "type": "string", "description": "Type of the artifact", "example": "SchemaReference or Template" }, "name": { "minLength": 1, "type": "string", "description": "Name of the artifact" }, "format": { "minLength": 1, "type": "string", "description": "Format of the artifact", "example": "csv, xlsx" } }, "additionalProperties": false, "description": "Artifact information" }, "ArtifactDtoListServiceResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ArtifactDto" }, "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "DataMigrationDto": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique identifier of the document", "nullable": true, "example": "baee4b61-7ebb-48b2-a44b-18ce814b703b" }, "createdDate": { "type": "string", "description": "Created date", "format": "date-time" }, "completedDate": { "type": "string", "description": "Started date", "format": "date-time", "nullable": true }, "status": { "type": "string", "description": "Migration status", "nullable": true, "example": "Processing" }, "entityCount": { "type": "integer", "description": "Total of entities to migrate", "format": "int32" }, "migratedEntityCount": { "type": "integer", "description": "Total of migrated entities", "format": "int32" }, "failedEntityCount": { "type": "integer", "description": "Total of failed entities", "format": "int32" }, "productCount": { "type": "integer", "description": "Total of products to migrate", "format": "int32" }, "migratedProductCount": { "type": "integer", "description": "Total of migrated products", "format": "int32" }, "failedProductCount": { "type": "integer", "description": "Total of failed products", "format": "int32" }, "associationCount": { "type": "integer", "description": "Total of associations to migrate", "format": "int32" }, "migratedAssociationCount": { "type": "integer", "description": "Total of migrated associations", "format": "int32" }, "failedAssociationCount": { "type": "integer", "description": "Total of failed associations", "format": "int32" }, "inputFilesCleanedUp": { "type": "boolean", "description": "Flag to confirm that files were removed or not from S3" }, "dataMigrationFilesDto": { "type": "array", "items": { "$ref": "#/components/schemas/DataMigrationFileDto" }, "description": "List of files for this data migration", "nullable": true }, "tasks": { "type": "array", "items": { "$ref": "#/components/schemas/DataMigrationTaskDto" }, "description": "Current migration task", "nullable": true }, "errorMessage": { "type": "string", "description": "Error messages associated with the migration", "nullable": true } }, "additionalProperties": false, "description": "Document metadata" }, "DataMigrationDtoServiceResponse": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/DataMigrationDto" } ], "description": "Document metadata", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "DataMigrationFileDto": { "type": "object", "properties": { "folderPath": { "type": "string", "description": "S3 key for this file", "nullable": true, "example": "/tenantId/migrationId/tableName/" }, "fileName": { "type": "string", "description": "File name", "nullable": true }, "uploadedDate": { "type": "string", "description": "Uploaded date", "format": "date-time" } }, "additionalProperties": false, "description": "Dto to represent the file in this data migration" }, "DataMigrationTaskDto": { "type": "object", "properties": { "taskName": { "type": "string", "description": "Migration task name", "nullable": true, "example": "build-schema" }, "taskStatus": { "type": "string", "description": "Migration tasks", "nullable": true, "example": "Running" } }, "additionalProperties": false, "description": "Dto to represent the data migration task" }, "GetCurrentProcessExecutionErrorDetailFileResultDto": { "type": "object", "properties": { "preSignedUrl": { "type": "string", "nullable": true } }, "additionalProperties": false }, "GetProcessExecutionResultDto": { "type": "object", "properties": { "status": { "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 }, "PostMigrationProgressDto": { "type": "object", "properties": { "isDone": { "type": "boolean", "description": "Flag informing if all events are processed" }, "associationEventsPercentageProgress": { "type": "integer", "description": "Percentage progress of association events", "format": "int32" }, "entityDataEventsPercentageProgress": { "type": "integer", "description": "Percentage progress of entity data events", "format": "int32" }, "entityDataEventsCount": { "type": "integer", "description": "Total count of entity data events produced by post migration job", "format": "int32" }, "associationEventsCount": { "type": "integer", "description": "Total count of association events produced by post migration job", "format": "int32" } }, "additionalProperties": false, "description": "Dto to represent percentage events completion of access layers post migration job" }, "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": [ ] } ] }