Get all migration jobs

GET /jobs

Get all migration jobs

Query parameters

  • sort string

    Order in which to retrieve the results

    Format should match the following pattern: ^\w+,(DESC|ASC)$. Default value is submittedAt,DESC.

  • limit integer

    Limit the results

    Minimum value is 0.

  • type string

    Filter jobs to only of a specific job type

    Value is IN_PROGRESS.

  • projectId string

    Filter jobs by projectId

    Format should match the following pattern: ^[A-Za-z0-9\-]+$.

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • id string Required

      Format should match the following pattern: ^[A-Za-z0-9\-]+$.

    • projectId string Required

      Format should match the following pattern: ^[A-Za-z0-9\-]+$.

    • status string Required

      Values are NOT_STARTED, RUNNING, FAILED, CANCELLING, CANCELLED, COMPLETED, CLEANING_UP, or PAUSED.

    • cdcStatus string

      Values are NOT_STARTED, RUNNING, COMPLETING, COMPLETED, FAILED, CANCELLED, or PAUSED. Default value is NOT_STARTED.

    • verificationJobId string
    • options object Required

      Additional properties are NOT allowed.

      Hide options attributes Show options attributes object
      • dropCollections boolean

        Default value is false.

      • mode string Required

        Values are SNAPSHOT, CDC, INCREMENTAL, or VERIFICATION.

      • truncationReportMode string

        Values are FAIL, WARN, or SKIP.

      • errorHandling string

        Values are FAIL, WARN, or SKIP.

      • errorTolerance integer

        The number of failures (on the record level) that should be tolerated before terminating the migration. The value is strictly greater than or equal to.

        Minimum value is 0.

      • incrementalSnapshotOptions object

        Options for INCREMENTAL migration mode only.

        Additional properties are NOT allowed.

        Hide incrementalSnapshotOptions attributes Show incrementalSnapshotOptions attributes object
        • signalingTable string

          Signaling table on the source database used to coordinate the incremental snapshot. Accepts schema.table (MySQL: database.table) with the database segment taken from the source connection, or a full database.schema.table name.

        • chunkSize integer

          Rows per incremental-snapshot chunk (Debezium incremental.snapshot.chunk.size). When omitted, Debezium's default of 1024 applies. Larger chunks copy faster but hold more rows in memory per open chunk window.

          Minimum value is 1, maximum value is 100000.

    • jdbcConnectionString string
    • mongoDbConnectionString string
    • submittedAt string(date-time) Required
    • statistics object

      Additional properties are NOT allowed.

      Hide statistics attributes Show statistics attributes object
      • startedAt string(date-time)
      • elapsedSeconds integer(int64)
      • remainingTableCount integer
      • processingTables array[string]
      • migratedTables array[string]

        Source tables whose snapshot copy has completed. Completion means the source snapshot finished reading, not that every row migrated successfully; on failure a table listed here may also appear in failureError.

      • totalEventsSeen integer(int64)

        Default value is 0.

      • snapshotCompleted boolean

        Default value is false.

      • totalTableCount integer
      • totalEvents integer(int64)
      • totalEventSize integer(int64)
    • cdcStatistics object

      Additional properties are NOT allowed.

      Hide cdcStatistics attributes Show cdcStatistics attributes object
      • startedAt string(date-time)
      • lastEventTime string(date-time)
      • lastEventSourceDatabaseTime string(date-time)
      • eventsInLastHour integer(int64)

        Default value is 0.

      • eventsInLastMinute integer(int64)

        Default value is 0.

      • totalEventsSeen integer(int64)

        Default value is 0.

      • latestBatchMaxSourceDbLagMs integer(int64)

        For each completed batch of writes to MongoDB, the maximum time delay from when a change was made in the source database (as reported by the database) until the batch write was completed. This may be affected by clock skew between the source database clock and the machine where the migration is running.

        Default value is -1.

    • jmxConnectivity object

      Connectivity of the JMX statistics scrape (kafka-connect deployment profile only). Indicates whether the migrator is successfully scraping statistics over JMX and when it last did so, so a misconfigured/unreachable JMX endpoint or a crashed connect task is visible in the UI. Absent for deployments that do not read statistics over JMX.

      Additional properties are NOT allowed.

      Hide jmxConnectivity attributes Show jmxConnectivity attributes object
      • status string Required

        Values are AVAILABLE or UNAVAILABLE.

      • lastSuccessfulScrapeAt string(date-time)

        Time of the most recent successful JMX statistics scrape.

      • errorMessage string

        The most recent JMX connection error, when statistics are unavailable.

    • connectorStatus object

      Runtime status of the Kafka Connect connectors backing this migration job (kafka-connect / confluent deployment profiles only), reflecting the actual state reported by Kafka Connect rather than assuming success at submission time. Lets the UI show which specific connector/task has an issue instead of a job that looks healthy while a connector is FAILED. Absent for deployments not backed by Kafka Connect.

      Additional properties are NOT allowed.

      Hide connectorStatus attributes Show connectorStatus attributes object
      • source object

        Runtime status of one Kafka Connect connector (source or sink) and its tasks.

        Additional properties are NOT allowed.

        Hide source attributes Show source attributes object
        • name string

          Connector name as registered in Kafka Connect.

        • state string Required

          Runtime state reported by Kafka Connect for a connector or one of its tasks (see https://kafka.apache.org/documentation/#connect_administration). UNKNOWN is Relational Migrator's own value for a status that could not be retrieved, e.g. when the Kafka Connect worker is unreachable.

          Values are RUNNING, PAUSED, FAILED, UNASSIGNED, RESTARTING, STOPPED, or UNKNOWN.

        • tasks array[object]

          Per-task runtime status for this connector.

          Hide tasks attributes Show tasks attributes object

          Runtime status of a single Kafka Connect task, as reported by Kafka Connect.

          • id integer Required

            Task id within the connector.

          • state string Required

            Runtime state reported by Kafka Connect for a connector or one of its tasks (see https://kafka.apache.org/documentation/#connect_administration). UNKNOWN is Relational Migrator's own value for a status that could not be retrieved, e.g. when the Kafka Connect worker is unreachable.

            Values are RUNNING, PAUSED, FAILED, UNASSIGNED, RESTARTING, STOPPED, or UNKNOWN.

          • workerId string

            Kafka Connect worker the task is assigned to, when known.

          • trace string

            Failure stack trace, present when the task state is FAILED.

      • sink object

        Runtime status of one Kafka Connect connector (source or sink) and its tasks.

        Additional properties are NOT allowed.

        Hide sink attributes Show sink attributes object
        • name string

          Connector name as registered in Kafka Connect.

        • state string Required

          Runtime state reported by Kafka Connect for a connector or one of its tasks (see https://kafka.apache.org/documentation/#connect_administration). UNKNOWN is Relational Migrator's own value for a status that could not be retrieved, e.g. when the Kafka Connect worker is unreachable.

          Values are RUNNING, PAUSED, FAILED, UNASSIGNED, RESTARTING, STOPPED, or UNKNOWN.

        • tasks array[object]

          Per-task runtime status for this connector.

          Hide tasks attributes Show tasks attributes object

          Runtime status of a single Kafka Connect task, as reported by Kafka Connect.

          • id integer Required

            Task id within the connector.

          • state string Required

            Runtime state reported by Kafka Connect for a connector or one of its tasks (see https://kafka.apache.org/documentation/#connect_administration). UNKNOWN is Relational Migrator's own value for a status that could not be retrieved, e.g. when the Kafka Connect worker is unreachable.

            Values are RUNNING, PAUSED, FAILED, UNASSIGNED, RESTARTING, STOPPED, or UNKNOWN.

          • workerId string

            Kafka Connect worker the task is assigned to, when known.

          • trace string

            Failure stack trace, present when the task state is FAILED.

    • failureError object

      Additional properties are NOT allowed.

      Hide failureError attributes Show failureError attributes object
      • errorType string Required
      • message string Required
      • failureAt string(date-time) Required
      • setupError boolean Required

        Default value is false.

      • failedLocation string | null

        Location of the last error before the job failed. See the job logs for the full error breakdown.

      • failedLocationType string | null

        TABLE = source table, COLLECTION = destination collection.

        Values are TABLE or COLLECTION.

    • metadata object

      Additional properties are NOT allowed.

      Hide metadata attributes Show metadata attributes object
      • telemetryUserId string
      • verification object
        Hide verification attributes Show verification attributes object
        • samplePercentage integer

          Default value is 100.

        • isEmbeddedMode boolean

          Default value is false.

        • status string

          Values are VERIFYING, FAILED, CANCELLING, CANCELLED, VERIFIED, or ABORTED.

    • relationalTableFilters object

      An object where each key represents a schema name. Each schema contains tables you can apply table filters on.

      Hide relationalTableFilters attribute Show relationalTableFilters attribute object
      • * object Additional properties

        An object where each key represents a table name within a schema.

        Hide * attribute Show * attribute object
        • * object Additional properties

          Additional properties are NOT allowed.

          Hide * attributes Show * attributes object
          • whereClause string

            Contents of the SQL WHERE clause to filter rows for the specified source table.

          • rowCount integer(int64)

            Optional limit to the number of rows returned from the source table.

            Minimum value is 1.

    • collectionFilters object

      Include or exclude collections for this migration.

      • include only: Only collections matching the specified include filter will be migrated.
      • exclude only: All collections will be migrated, except those matching the exclude filter.
      • include and exclude: Migrate collections that match the include filter, excluding those that also match the exclude filter.
      • No filters: All collections will be migrated.
      Hide collectionFilters attributes Show collectionFilters attributes object
      • include array[string]
      • exclude array[string]
  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • errorType string Required

      An error category identifying what kind of error occurred.

    • message string Required

      A human-readable explanation of what went wrong.

    • timestamp string(date-time) Required

      The date and time the error occurred.

    • issues array[object]

      The individual problems that make up this error.

      At least 1 element.

      Hide issues attributes Show issues attributes object
      • type string Required

        An error category identifying what kind of issue occurred (SNAKE_CASE).

      • message string Required

        A human-readable explanation of what went wrong.

      • pointer string

        JSON Pointer (RFC 6901) to the offending node.

GET /jobs
curl \
 --request GET 'http://127.0.0.1:8278/api/v1/jobs'
Response examples (200)
[
  {
    "id": "string",
    "projectId": "string",
    "status": "NOT_STARTED",
    "cdcStatus": "NOT_STARTED",
    "verificationJobId": "string",
    "options": {
      "dropCollections": false,
      "mode": "SNAPSHOT",
      "truncationReportMode": "FAIL",
      "errorHandling": "FAIL",
      "errorTolerance": 42,
      "incrementalSnapshotOptions": {
        "signalingTable": "database.schema.table",
        "chunkSize": 42
      }
    },
    "jdbcConnectionString": "string",
    "mongoDbConnectionString": "string",
    "submittedAt": "2026-05-04T09:42:00Z",
    "statistics": {
      "startedAt": "2026-05-04T09:42:00Z",
      "elapsedSeconds": 42,
      "remainingTableCount": 42,
      "processingTables": [
        "string"
      ],
      "migratedTables": [
        "string"
      ],
      "totalEventsSeen": 0,
      "snapshotCompleted": false,
      "totalTableCount": 42,
      "totalEvents": 42,
      "totalEventSize": 42
    },
    "cdcStatistics": {
      "startedAt": "2026-05-04T09:42:00Z",
      "lastEventTime": "2026-05-04T09:42:00Z",
      "lastEventSourceDatabaseTime": "2026-05-04T09:42:00Z",
      "eventsInLastHour": 0,
      "eventsInLastMinute": 0,
      "totalEventsSeen": 0,
      "latestBatchMaxSourceDbLagMs": -1
    },
    "jmxConnectivity": {
      "status": "AVAILABLE",
      "lastSuccessfulScrapeAt": "2026-05-04T09:42:00Z",
      "errorMessage": "string"
    },
    "connectorStatus": {
      "source": {
        "name": "string",
        "state": "RUNNING",
        "tasks": [
          {
            "id": 42,
            "state": "RUNNING",
            "workerId": "string",
            "trace": "string"
          }
        ]
      },
      "sink": {
        "name": "string",
        "state": "RUNNING",
        "tasks": [
          {
            "id": 42,
            "state": "RUNNING",
            "workerId": "string",
            "trace": "string"
          }
        ]
      }
    },
    "failureError": {
      "errorType": "string",
      "message": "string",
      "failureAt": "2026-05-04T09:42:00Z",
      "setupError": false,
      "failedLocation": "string",
      "failedLocationType": "TABLE"
    },
    "metadata": {
      "telemetryUserId": "string",
      "verification": {
        "samplePercentage": 100,
        "isEmbeddedMode": false,
        "status": "VERIFYING"
      }
    },
    "relationalTableFilters": {
      "schema_1_name": {
        "table_1_name": {
          "whereClause": "id > 1000 AND id <= 2000"
        },
        "table_2_name": {
          "whereClause": "TRUE",
          "rowCount": 10
        }
      }
    },
    "collectionFilters": {
      "include": [
        "string"
      ],
      "exclude": [
        "string"
      ]
    }
  }
]
Response examples (500)
{
  "errorType": "VALIDATION_ERROR",
  "message": "string",
  "timestamp": "2026-05-04T09:42:00Z",
  "issues": [
    {
      "type": "RELMIG_MAPPING_TABLE_MISSING",
      "message": "string",
      "pointer": "/project/content/mappings/0123456789abcdef0123456789abcdef/fields/Name/target/name"
    }
  ]
}