{ "openapi": "3.0.4", "info": { "title": "Fenergo Nebula Data Migration Command", "description": "**DataMigration Command API**:\n\n
DataMigration Command API provides both configurational and operational methods related to data migration. Use the DataMigration Command API to perform data migrations. Use the Query API to retrieve the state of a data migration.\n\n
**DataMigration Command API provides**:
", "version": "2.0" }, "servers": [ { "url": "/datamigrationcommand" } ], "paths": { "/api/v2/migration/{id}/add-file": { "put": { "tags": [ "Migration" ], "summary": "Adds the information about the file data source and generate a signed url to upload the file", "description": "\nThis method adds the information about an artifact to an existing data migration which has been pre created via the create migration method.\n\nThe method returns the signed url to upload the file directly in the S3 bucket

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "GenerateSignedUrlToUploadFile", "parameters": [ { "name": "id", "in": "path", "description": "The data migration id to start", "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 migration upload request must contain the filename used to generate the signed url and a tablename to link to this file.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/GenerateSignedUrlRequestServiceRequest" } ] } }, "text/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/GenerateSignedUrlRequestServiceRequest" } ] } }, "application/*+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/GenerateSignedUrlRequestServiceRequest" } ] } } } }, "responses": { "202": { "description": "The signed url to upload the file", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/v2/migration": { "post": { "tags": [ "Migration" ], "summary": "Creates a migration instance that holds and control the data flow.", "description": "\nMigration instances are the starting point for any migration. After this isntance is created, data can be attached to it and pushed to the supported domains.\n\nReturns the migration instance Id to be used by the rest of the commands.

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "CreateMigration", "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": "Create migration request", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CreateMigrationV2RequestServiceRequest" } ] } } } }, "responses": { "202": { "description": "Id of the migration created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" } } } }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/v2/migration/{id}/start": { "put": { "tags": [ "Migration" ], "summary": "Starts a migration", "description": "\nStarts a migration. It requires that the files have been already added to the migration using /add-file and that the migration instance has finished running preparation tasks.\n\nReturns the migration instance Id to be used by the rest of the commands.

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "StartMigration", "parameters": [ { "name": "id", "in": "path", "description": "The Id of the migration to start", "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": "The Id of the migration started" }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/v2/migration/{id}/startAssociation": { "put": { "tags": [ "Migration" ], "summary": "Starts only an association migration", "description": "\nStarts only an association migration.\n\nIt requires that the source files have been already attached to the migration using /add-file, the migration instance has finished running preparation tasks and any entity related with the association is part of the current migration or previous one.\n\nReturns the migration instance Id to be used by the rest of the commands.

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "StartAssociationMigration", "parameters": [ { "name": "id", "in": "path", "description": "The migration Id to start", "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": "The Id of the migration started" }, "400": { "description": "Bad request. The request has missing/invalid values", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/v2/migration/{id}/{tableName}": { "delete": { "tags": [ "Migration" ], "summary": "Deletes a file previously added to a migration instance", "description": "\nAllows to delete files that have not been yet processed by the migration.\n\nReturns the migration instance Id to be used by the rest of the commands.

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "DeleteMigrationFile", "parameters": [ { "name": "id", "in": "path", "description": "The id of the migration", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "tableName", "in": "path", "description": "Table name related with the file", "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": "Document deleted successfully" }, "400": { "description": "Document not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/v2/migration/{id}/migration-records-file-signed-url": { "put": { "tags": [ "Migration" ], "summary": "Generates a signed url for the migration records csv file.", "description": "\nIf the file has not been generated yet, the generation gets triggered, which adds a new task to the migration (generate-migration-records-file) and update its status to completed when the file has been generated.

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "GenerateMigrationRecordsFileSignedUrl", "parameters": [ { "name": "id", "in": "path", "description": "The id of the 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": { "202": { "description": "Signed Url generated correctly", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringServiceResponse" } } } }, "400": { "description": "Request malformed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "412": { "description": "Precondition Failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/v2/record-reference-ingestion": { "post": { "tags": [ "Migration" ], "summary": "Creates an ingestion process that allows users to create or overwrite record references using the response pre-signed url.", "description": "\nUsing the response pre-signed url, please add a csv format file. The file should contain the following headers: 'tableName', 'alternateId' and 'fenxId'.\n\nThe options for tableName are \"Company\", \"Individual\", \"Entity Group\", \"Product\" or \"Association\".\n\nThis endpoint bypasses original DataMigration restrictions and should be used with caution.\n\nThe tenant id is mandatory and should be included as the header X-TENANT-ID.

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "CreateRecordReferenceIngestion", "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": "Ingestion process created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateRecordReferenceIngestionResultDto" } } } }, "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" } } } }, "500": { "description": "Internal server error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/v2/record-reference-ingestion/{id}/execution": { "post": { "tags": [ "Migration" ], "summary": "Create an execution for the ingestion process that will start immediately and which purpose is to ingest the record reference file.", "description": "\nThe ingestion execution will take a snapshot of uploaded file in the moment request the execution.

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "CreateRecordReferenceIngestionExecution", "parameters": [ { "name": "id", "in": "path", "description": "The Id of the record-reference-ingestion process returned provided when requesting pre-signed url.", "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": "Ingestion process execution accepted.", "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/ServiceResponse" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "409": { "description": "Conflict saving changes in expected version", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "There are conflicts that cannot be resolved automatically, get latest and apply your changes", "type": "Error", "errorCode": "CONFLICT" } ] } } } }, "500": { "description": "Internal server error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/v2/jurisdiction-evaluation-execution": { "post": { "tags": [ "Migration" ], "summary": "Create an execution for jurisdiction evaluation", "description": "

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "CreateJurisdictionEvaluationWithExecutionHandler", "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": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CreateJurisdictionEvaluationExecutionRequestDtoServiceRequest" } ] } } } }, "responses": { "202": { "description": "jurisdiction evaluation process execution accepted." }, "400": { "description": "Bad request. The request has missing/invalid values.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "409": { "description": "Conflict saving changes in expected version", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "There are conflicts that cannot be resolved automatically, get latest and apply your changes", "type": "Error", "errorCode": "CONFLICT" } ] } } } }, "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/v2/jurisdiction-evaluation/{id}/execution": { "post": { "tags": [ "Migration" ], "summary": "Create an execution for the jurisdiction evaluation that will start immediately and which purpose is to re-evaluate the jurisdictions of migrated entities.", "description": "

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "CreateJurisdictionEvaluationExecution", "parameters": [ { "name": "id", "in": "path", "description": "The Id of the jurisdiction-evaluation process returned provided when triggering jurisdiction evaluation", "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": "jurisdiction evaluation execution accepted.", "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/ServiceResponse" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "409": { "description": "Conflict saving changes in expected version", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "There are conflicts that cannot be resolved automatically, get latest and apply your changes", "type": "Error", "errorCode": "CONFLICT" } ] } } } }, "500": { "description": "Internal server error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/v2/access-layer-propagation-execution": { "post": { "tags": [ "Migration" ], "summary": "Create an execution for Access Layer Propagation", "description": "

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "CreateAccessLayerPropagationWithExecutionHandler", "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": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CreateJurisdictionEvaluationExecutionRequestDtoServiceRequest" } ] } } } }, "responses": { "202": { "description": "Access Layer propagation process execution accepted." }, "400": { "description": "Bad request. The request has missing/invalid values.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "409": { "description": "Conflict saving changes in expected version", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "There are conflicts that cannot be resolved automatically, get latest and apply your changes", "type": "Error", "errorCode": "CONFLICT" } ] } } } }, "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/v2/access-layer-propagation/{id}/execution": { "post": { "tags": [ "Migration" ], "summary": "Create an execution for the Access Layer propagation that will start immediately and which purpose is to propagate the access layers of migrated entities.", "description": "

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "CreateAccessLayerPropagationExecution", "parameters": [ { "name": "id", "in": "path", "description": "The Id of the access layer propagation process returned provided when triggering access layer propagation", "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": "Access Layer propagation execution accepted.", "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/ServiceResponse" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "409": { "description": "Conflict saving changes in expected version", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "There are conflicts that cannot be resolved automatically, get latest and apply your changes", "type": "Error", "errorCode": "CONFLICT" } ] } } } }, "500": { "description": "Internal server error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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/v2/migration/{id}/input-files-clean-up": { "post": { "tags": [ "Migration" ], "summary": "Deletes all the files in the migration", "description": "\nAllows to clean files added to a migration with status completed or failed.\n\nReturns the migration instance Id to be used by the rest of the commands.

Required permissions:
Following permissions are required: DataMigrationAdministrator", "operationId": "CleanUpInputFiles", "parameters": [ { "name": "id", "in": "path", "description": "The id of the 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" } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/CleanUpInputFilesDtoServiceRequest" } ] } } } }, "responses": { "202": { "description": "Document deleted successfully" }, "400": { "description": "Document not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceResponse" } } } }, "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" } ] } } } } } } } }, "components": { "schemas": { "CleanUpInputFilesDto": { "type": "object", "properties": { "force": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "CleanUpInputFilesDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/CleanUpInputFilesDto" } ], "nullable": true } }, "additionalProperties": false }, "CreateJurisdictionEvaluationExecutionRequestDto": { "type": "object", "properties": { "dataMigrationId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "CreateJurisdictionEvaluationExecutionRequestDtoServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/CreateJurisdictionEvaluationExecutionRequestDto" } ], "nullable": true } }, "additionalProperties": false }, "CreateMigrationV2Request": { "type": "object", "properties": { "jurisdictions": { "type": "array", "items": { "type": "string" }, "description": "Policy Jurisdictions to generate the policy schema", "nullable": true, "deprecated": true }, "jurisdiction": { "type": "string", "description": "Policy Jurisdiction to generate the policy schema", "nullable": true, "example": "Global" }, "productJurisdiction": { "type": "string", "description": "Product Policy Jurisdiction to generate the policy schema", "nullable": true, "example": "Global" } }, "additionalProperties": false, "description": "Request to create a migration" }, "CreateMigrationV2RequestServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/CreateMigrationV2Request" } ], "description": "Request to create a migration", "nullable": true } }, "additionalProperties": false }, "CreateRecordReferenceIngestionResultDto": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "preSignedUrl": { "type": "string", "nullable": true } }, "additionalProperties": false }, "GenerateSignedUrlRequest": { "required": [ "fileName", "tableName" ], "type": "object", "properties": { "fileName": { "minLength": 1, "type": "string", "description": "File" }, "tableName": { "minLength": 1, "type": "string", "description": "Table name what the file has information" } }, "additionalProperties": false, "description": "Request to upload a file in a data migration" }, "GenerateSignedUrlRequestServiceRequest": { "type": "object", "properties": { "data": { "allOf": [ { "$ref": "#/components/schemas/GenerateSignedUrlRequest" } ], "description": "Request to upload a file in a data migration", "nullable": true } }, "additionalProperties": false }, "ObjectServiceResponse": { "type": "object", "properties": { "data": { "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "nullable": true } }, "additionalProperties": false }, "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": [ ] } ] }