Download OpenAPI specification:Download
OpenAPI specification for MongoDB Relational Migrator tool
Generates application code based on your project's mapping rules and schema transformations
projectId required | string (id) ^[A-Za-z0-9\-]+$ Project ID |
collections required | Array of strings MongoDB collections to include in generated code |
includeSupportFiles required | boolean Whether to include support files, if applicable for the selected language and framework |
language required | string (codegen-language-type) Enum: "JAVA" "CSHARP" "JAVASCRIPT" "JSON" "PYTHON" |
framework required | string (codegen-framework-type) Enum: "POJO" "POCO" "SPRING_DATA" "PERSISTENCE_LAYER" "MONGOOSE_SCHEMAS" "NODE" "MONGODB_JSON_SCHEMA" "STANDARD_JSON_SCHEMA" "JSON_EXAMPLE_SCHEMA" "PYTHON_TYPED_DICT_CLASSES" |
{- "collections": [
- "string"
], - "includeSupportFiles": true,
- "language": "JAVA",
- "framework": "POJO"
}
{- "language": "JAVA",
- "framework": "POJO",
- "files": [
- {
- "name": "string",
- "filetype": "ENTITY",
- "code": "string"
}
]
}
Gets the available languages and frameworks for code generation
projectId required | string (id) ^[A-Za-z0-9\-]+$ Project ID |
{- "metadata": [
- {
- "language": "JAVA",
- "frameworks": [
- {
- "hasSupportFiles": true,
- "framework": "POJO"
}
]
}
]
}
Get all migration jobs
sort | string^\w+,(DESC|ASC)$ Default: "submittedAt,DESC" Example: sort=submittedAt,DESC Order in which to retrieve the results |
limit | integer Example: limit=20 Limit the results |
type | string (migration-jobs-get-type) Value: "IN_PROGRESS" Example: type=IN_PROGRESS Filter jobs to only of a specific job type |
projectId | string (id) ^[A-Za-z0-9\-]+$ Filter jobs by projectId |
[- {
- "id": "string",
- "projectId": "string",
- "status": "RUNNING",
- "cdcStatus": "NOT_STARTED",
- "verificationJobId": "string",
- "options": {
- "dropCollections": false,
- "mode": "SNAPSHOT",
- "errorHandling": "FAIL",
- "errorTolerance": 0
}, - "jdbcConnectionString": "string",
- "mongoDbConnectionString": "string",
- "atlasMetadata": {
- "mongoDbProjectName": "string",
- "mongoDbProjectId": "string",
- "mongoDbClusterName": "string"
}, - "submittedAt": "2019-08-24T14:15:22Z",
- "statistics": {
- "startedAt": "2019-08-24T14:15:22Z",
- "elapsedSeconds": 0,
- "remainingTableCount": 0,
- "processingTables": [
- "string"
], - "totalEventsSeen": 0,
- "snapshotCompleted": false,
- "totalTableCount": 0,
- "totalEvents": 0,
- "totalEventSize": 0
}, - "cdcStatistics": {
- "startedAt": "2019-08-24T14:15:22Z",
- "lastEventTime": "2019-08-24T14:15:22Z",
- "eventsInLastHour": 0,
- "eventsInLastMinute": 0,
- "totalEventsSeen": 0
}, - "jobUpdates": [
- {
- "eventType": "DB_SETUP_ERROR",
- "stage": "SNAPSHOTTING",
- "message": "string",
- "details": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "count": 0,
- "location": {
- "table": "string"
}
}
], - "failureError": {
- "errorType": "string",
- "message": "string",
- "failureAt": "2019-08-24T14:15:22Z",
- "setupError": false
}, - "metadata": {
- "telemetryUserId": "string",
- "verificationRequested": false,
- "verificationStatus": "VERIFYING"
}, - "relationalTableFilters": {
- "property1": {
- "property1": {
- "whereClause": "string",
- "rowCount": 0
}, - "property2": {
- "whereClause": "string",
- "rowCount": 0
}
}, - "property2": {
- "property1": {
- "whereClause": "string",
- "rowCount": 0
}, - "property2": {
- "whereClause": "string",
- "rowCount": 0
}
}
}
}
]
Post a new migration job
projectId required | string |
required | object (jdbc-connection-details) |
required | object (mongodb-connection-details) |
required | object (migration-job-descriptor-options) |
required | object (migration-verification) |
object (relational-table-filters) Schema |
{- "projectId": "string",
- "jdbcConnectionDetails": {
- "id": "string",
- "type": "string",
- "url": "string",
- "user": "string",
- "password": "string",
- "savePassword": true,
- "existingConnectionId": "string"
}, - "mongodbConnectionDetails": {
- "id": "string",
- "connectionString": "string",
- "projectId": "string",
- "savePassword": true,
- "projectName": "string",
- "clusterName": "string",
- "hasTimeSeriesCollection": false,
- "existingConnectionId": "string"
}, - "options": {
- "dropCollections": false,
- "mode": "SNAPSHOT",
- "errorHandling": "FAIL",
- "errorTolerance": 0
}, - "verification": {
- "enabled": false
}, - "relationalTableFilters": {
- "property1": {
- "property1": {
- "whereClause": "string",
- "rowCount": 0
}, - "property2": {
- "whereClause": "string",
- "rowCount": 0
}
}, - "property2": {
- "property1": {
- "whereClause": "string",
- "rowCount": 0
}, - "property2": {
- "whereClause": "string",
- "rowCount": 0
}
}
}
}
{- "id": "string",
- "projectId": "string",
- "status": "RUNNING",
- "cdcStatus": "NOT_STARTED",
- "verificationJobId": "string",
- "options": {
- "dropCollections": false,
- "mode": "SNAPSHOT",
- "errorHandling": "FAIL",
- "errorTolerance": 0
}, - "jdbcConnectionString": "string",
- "mongoDbConnectionString": "string",
- "atlasMetadata": {
- "mongoDbProjectName": "string",
- "mongoDbProjectId": "string",
- "mongoDbClusterName": "string"
}, - "submittedAt": "2019-08-24T14:15:22Z",
- "statistics": {
- "startedAt": "2019-08-24T14:15:22Z",
- "elapsedSeconds": 0,
- "remainingTableCount": 0,
- "processingTables": [
- "string"
], - "totalEventsSeen": 0,
- "snapshotCompleted": false,
- "totalTableCount": 0,
- "totalEvents": 0,
- "totalEventSize": 0
}, - "cdcStatistics": {
- "startedAt": "2019-08-24T14:15:22Z",
- "lastEventTime": "2019-08-24T14:15:22Z",
- "eventsInLastHour": 0,
- "eventsInLastMinute": 0,
- "totalEventsSeen": 0
}, - "jobUpdates": [
- {
- "eventType": "DB_SETUP_ERROR",
- "stage": "SNAPSHOTTING",
- "message": "string",
- "details": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "count": 0,
- "location": {
- "table": "string"
}
}
], - "failureError": {
- "errorType": "string",
- "message": "string",
- "failureAt": "2019-08-24T14:15:22Z",
- "setupError": false
}, - "metadata": {
- "telemetryUserId": "string",
- "verificationRequested": false,
- "verificationStatus": "VERIFYING"
}, - "relationalTableFilters": {
- "property1": {
- "property1": {
- "whereClause": "string",
- "rowCount": 0
}, - "property2": {
- "whereClause": "string",
- "rowCount": 0
}
}, - "property2": {
- "property1": {
- "whereClause": "string",
- "rowCount": 0
}, - "property2": {
- "whereClause": "string",
- "rowCount": 0
}
}
}
}
Get the status of a migration job by ID
jobId required | string (id) ^[A-Za-z0-9\-]+$ Job ID |
{- "id": "string",
- "projectId": "string",
- "status": "RUNNING",
- "cdcStatus": "NOT_STARTED",
- "verificationJobId": "string",
- "options": {
- "dropCollections": false,
- "mode": "SNAPSHOT",
- "errorHandling": "FAIL",
- "errorTolerance": 0
}, - "jdbcConnectionString": "string",
- "mongoDbConnectionString": "string",
- "atlasMetadata": {
- "mongoDbProjectName": "string",
- "mongoDbProjectId": "string",
- "mongoDbClusterName": "string"
}, - "submittedAt": "2019-08-24T14:15:22Z",
- "statistics": {
- "startedAt": "2019-08-24T14:15:22Z",
- "elapsedSeconds": 0,
- "remainingTableCount": 0,
- "processingTables": [
- "string"
], - "totalEventsSeen": 0,
- "snapshotCompleted": false,
- "totalTableCount": 0,
- "totalEvents": 0,
- "totalEventSize": 0
}, - "cdcStatistics": {
- "startedAt": "2019-08-24T14:15:22Z",
- "lastEventTime": "2019-08-24T14:15:22Z",
- "eventsInLastHour": 0,
- "eventsInLastMinute": 0,
- "totalEventsSeen": 0
}, - "jobUpdates": [
- {
- "eventType": "DB_SETUP_ERROR",
- "stage": "SNAPSHOTTING",
- "message": "string",
- "details": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "count": 0,
- "location": {
- "table": "string"
}
}
], - "failureError": {
- "errorType": "string",
- "message": "string",
- "failureAt": "2019-08-24T14:15:22Z",
- "setupError": false
}, - "metadata": {
- "telemetryUserId": "string",
- "verificationRequested": false,
- "verificationStatus": "VERIFYING"
}, - "relationalTableFilters": {
- "property1": {
- "property1": {
- "whereClause": "string",
- "rowCount": 0
}, - "property2": {
- "whereClause": "string",
- "rowCount": 0
}
}, - "property2": {
- "property1": {
- "whereClause": "string",
- "rowCount": 0
}, - "property2": {
- "whereClause": "string",
- "rowCount": 0
}
}
}
}
Pause a running migration job
jobId required | string (id) ^[A-Za-z0-9\-]+$ Job ID |
{- "id": "string",
- "projectId": "string",
- "status": "RUNNING",
- "cdcStatus": "NOT_STARTED",
- "verificationJobId": "string",
- "options": {
- "dropCollections": false,
- "mode": "SNAPSHOT",
- "errorHandling": "FAIL",
- "errorTolerance": 0
}, - "jdbcConnectionString": "string",
- "mongoDbConnectionString": "string",
- "atlasMetadata": {
- "mongoDbProjectName": "string",
- "mongoDbProjectId": "string",
- "mongoDbClusterName": "string"
}, - "submittedAt": "2019-08-24T14:15:22Z",
- "statistics": {
- "startedAt": "2019-08-24T14:15:22Z",
- "elapsedSeconds": 0,
- "remainingTableCount": 0,
- "processingTables": [
- "string"
], - "totalEventsSeen": 0,
- "snapshotCompleted": false,
- "totalTableCount": 0,
- "totalEvents": 0,
- "totalEventSize": 0
}, - "cdcStatistics": {
- "startedAt": "2019-08-24T14:15:22Z",
- "lastEventTime": "2019-08-24T14:15:22Z",
- "eventsInLastHour": 0,
- "eventsInLastMinute": 0,
- "totalEventsSeen": 0
}, - "jobUpdates": [
- {
- "eventType": "DB_SETUP_ERROR",
- "stage": "SNAPSHOTTING",
- "message": "string",
- "details": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "count": 0,
- "location": {
- "table": "string"
}
}
], - "failureError": {
- "errorType": "string",
- "message": "string",
- "failureAt": "2019-08-24T14:15:22Z",
- "setupError": false
}, - "metadata": {
- "telemetryUserId": "string",
- "verificationRequested": false,
- "verificationStatus": "VERIFYING"
}, - "relationalTableFilters": {
- "property1": {
- "property1": {
- "whereClause": "string",
- "rowCount": 0
}, - "property2": {
- "whereClause": "string",
- "rowCount": 0
}
}, - "property2": {
- "property1": {
- "whereClause": "string",
- "rowCount": 0
}, - "property2": {
- "whereClause": "string",
- "rowCount": 0
}
}
}
}
Resume a paused migration job
jobId required | string (id) ^[A-Za-z0-9\-]+$ Job ID |
{- "id": "string",
- "projectId": "string",
- "status": "RUNNING",
- "cdcStatus": "NOT_STARTED",
- "verificationJobId": "string",
- "options": {
- "dropCollections": false,
- "mode": "SNAPSHOT",
- "errorHandling": "FAIL",
- "errorTolerance": 0
}, - "jdbcConnectionString": "string",
- "mongoDbConnectionString": "string",
- "atlasMetadata": {
- "mongoDbProjectName": "string",
- "mongoDbProjectId": "string",
- "mongoDbClusterName": "string"
}, - "submittedAt": "2019-08-24T14:15:22Z",
- "statistics": {
- "startedAt": "2019-08-24T14:15:22Z",
- "elapsedSeconds": 0,
- "remainingTableCount": 0,
- "processingTables": [
- "string"
], - "totalEventsSeen": 0,
- "snapshotCompleted": false,
- "totalTableCount": 0,
- "totalEvents": 0,
- "totalEventSize": 0
}, - "cdcStatistics": {
- "startedAt": "2019-08-24T14:15:22Z",
- "lastEventTime": "2019-08-24T14:15:22Z",
- "eventsInLastHour": 0,
- "eventsInLastMinute": 0,
- "totalEventsSeen": 0
}, - "jobUpdates": [
- {
- "eventType": "DB_SETUP_ERROR",
- "stage": "SNAPSHOTTING",
- "message": "string",
- "details": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "count": 0,
- "location": {
- "table": "string"
}
}
], - "failureError": {
- "errorType": "string",
- "message": "string",
- "failureAt": "2019-08-24T14:15:22Z",
- "setupError": false
}, - "metadata": {
- "telemetryUserId": "string",
- "verificationRequested": false,
- "verificationStatus": "VERIFYING"
}, - "relationalTableFilters": {
- "property1": {
- "property1": {
- "whereClause": "string",
- "rowCount": 0
}, - "property2": {
- "whereClause": "string",
- "rowCount": 0
}
}, - "property2": {
- "property1": {
- "whereClause": "string",
- "rowCount": 0
}, - "property2": {
- "whereClause": "string",
- "rowCount": 0
}
}
}
}
Stop a running migration job
jobId required | string (id) ^[A-Za-z0-9\-]+$ Job ID |
{- "id": "string",
- "projectId": "string",
- "status": "RUNNING",
- "cdcStatus": "NOT_STARTED",
- "verificationJobId": "string",
- "options": {
- "dropCollections": false,
- "mode": "SNAPSHOT",
- "errorHandling": "FAIL",
- "errorTolerance": 0
}, - "jdbcConnectionString": "string",
- "mongoDbConnectionString": "string",
- "atlasMetadata": {
- "mongoDbProjectName": "string",
- "mongoDbProjectId": "string",
- "mongoDbClusterName": "string"
}, - "submittedAt": "2019-08-24T14:15:22Z",
- "statistics": {
- "startedAt": "2019-08-24T14:15:22Z",
- "elapsedSeconds": 0,
- "remainingTableCount": 0,
- "processingTables": [
- "string"
], - "totalEventsSeen": 0,
- "snapshotCompleted": false,
- "totalTableCount": 0,
- "totalEvents": 0,
- "totalEventSize": 0
}, - "cdcStatistics": {
- "startedAt": "2019-08-24T14:15:22Z",
- "lastEventTime": "2019-08-24T14:15:22Z",
- "eventsInLastHour": 0,
- "eventsInLastMinute": 0,
- "totalEventsSeen": 0
}, - "jobUpdates": [
- {
- "eventType": "DB_SETUP_ERROR",
- "stage": "SNAPSHOTTING",
- "message": "string",
- "details": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "count": 0,
- "location": {
- "table": "string"
}
}
], - "failureError": {
- "errorType": "string",
- "message": "string",
- "failureAt": "2019-08-24T14:15:22Z",
- "setupError": false
}, - "metadata": {
- "telemetryUserId": "string",
- "verificationRequested": false,
- "verificationStatus": "VERIFYING"
}, - "relationalTableFilters": {
- "property1": {
- "property1": {
- "whereClause": "string",
- "rowCount": 0
}, - "property2": {
- "whereClause": "string",
- "rowCount": 0
}
}, - "property2": {
- "property1": {
- "whereClause": "string",
- "rowCount": 0
}, - "property2": {
- "whereClause": "string",
- "rowCount": 0
}
}
}
}
Get all projects
sort | string^\w+,(DESC|ASC)$ Default: "lastModified,DESC" Example: sort=lastModified,DESC Order in which to retrieve the results |
[- {
- "id": "string",
- "jdbcId": "string",
- "mongodbId": "string",
- "name": "string",
- "type": "string",
- "lastModified": "2019-08-24T14:15:22Z"
}
]
Get a summary of all queries related to a project
projectId required | string (id) ^[A-Za-z0-9\-]+$ Project ID |
[- {
- "id": "string",
- "projectId": "string",
- "name": "string",
- "inputQuery": "string",
- "lastModifiedAt": "2019-08-24T14:15:22Z",
- "queryType": "STORED_PROCEDURE",
- "queryStatus": "NOT_STARTED",
- "targetLanguage": "JAVA"
}
]
Create a new adhoc query
projectId required | string (id) ^[A-Za-z0-9\-]+$ Project ID |
inputQuery | string |
{- "inputQuery": "string"
}
{- "id": "string",
- "projectId": "string",
- "input": {
- "database": "string",
- "schema": "string",
- "name": "string",
- "query": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "runScriptTemplate": "string",
- "queryType": "STORED_PROCEDURE"
}, - "output": {
- "query": "string",
- "status": "NOT_STARTED",
- "lastModifiedAt": "2019-08-24T14:15:22Z",
- "language": "JAVA",
- "errorMessage": "string",
- "modified": true,
- "runScriptTemplate": "string",
- "functionName": "string"
}
}
Stop a running bulk query conversion job
projectId required | string (id) ^[A-Za-z0-9\-]+$ Project ID |
{- "pendingQueries": [
- "string"
], - "runningQueries": [
- "string"
], - "completedQueries": [
- "string"
], - "failedQueries": [
- "string"
]
}
Get the status of a bulk query conversion job
projectId required | string (id) ^[A-Za-z0-9\-]+$ Project ID |
{- "pendingQueries": [
- "string"
], - "runningQueries": [
- "string"
], - "completedQueries": [
- "string"
], - "failedQueries": [
- "string"
]
}
Create a bulk query conversion job
projectId required | string (id) ^[A-Za-z0-9\-]+$ Project ID |
language required | string (convert-query-language-type) Enum: "JAVA" "CSHARP" "JAVASCRIPT" |
queries required | Array of strings |
{- "language": "JAVA",
- "queries": [
- "string"
]
}
{- "pendingQueries": [
- "string"
], - "runningQueries": [
- "string"
], - "completedQueries": [
- "string"
], - "failedQueries": [
- "string"
]
}
Delete a query by id
projectId required | string (id) ^[A-Za-z0-9\-]+$ Project ID |
queryId required | string (id) ^[A-Za-z0-9\-]+$ Query ID |
{- "jobId": "string",
- "message": "string",
- "description": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}
Get a query by id
projectId required | string (id) ^[A-Za-z0-9\-]+$ Project ID |
queryId required | string (id) ^[A-Za-z0-9\-]+$ Query ID |
{- "query": {
- "id": "string",
- "projectId": "string",
- "input": {
- "database": "string",
- "schema": "string",
- "name": "string",
- "query": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "runScriptTemplate": "string",
- "queryType": "STORED_PROCEDURE"
}, - "output": {
- "query": "string",
- "status": "NOT_STARTED",
- "lastModifiedAt": "2019-08-24T14:15:22Z",
- "language": "JAVA",
- "errorMessage": "string",
- "modified": true,
- "runScriptTemplate": "string",
- "functionName": "string"
}
}, - "convertedRunResult": {
- "id": "string",
- "projectId": "string",
- "executionTimeMs": 0,
- "result": {
- "data": "string",
- "pageNumber": 0,
- "pageSize": 0,
- "total": 0,
- "hasMore": true
}, - "error": "string",
- "logs": {
- "stdout": "string",
- "stderr": "string"
}
}, - "sourceRunResult": {
- "id": "string",
- "projectId": "string",
- "executionTimeMs": 0,
- "result": {
- "data": "string",
- "pageNumber": 0,
- "pageSize": 0,
- "total": 0,
- "hasMore": true
}, - "error": "string",
- "logs": {
- "stdout": "string",
- "stderr": "string"
}, - "fieldMetadataMap": {
- "property1": {
- "columnType": "string",
- "columnIndex": 0
}, - "property2": {
- "columnType": "string",
- "columnIndex": 0
}
}
}
}
Convert a query
projectId required | string (id) ^[A-Za-z0-9\-]+$ Project ID |
queryId required | string (id) ^[A-Za-z0-9\-]+$ Query ID |
language required | string (convert-query-language-type) Enum: "JAVA" "CSHARP" "JAVASCRIPT" |
{- "language": "JAVA"
}
{- "id": "string",
- "projectId": "string",
- "input": {
- "database": "string",
- "schema": "string",
- "name": "string",
- "query": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "runScriptTemplate": "string",
- "queryType": "STORED_PROCEDURE"
}, - "output": {
- "query": "string",
- "status": "NOT_STARTED",
- "lastModifiedAt": "2019-08-24T14:15:22Z",
- "language": "JAVA",
- "errorMessage": "string",
- "modified": true,
- "runScriptTemplate": "string",
- "functionName": "string"
}
}