Overview
Queries the status and progress of each project step. Corresponds to CommonProjectController.describeProjectSteps.
API details
Constraints
The caller must have an AccessKey to access the multi-cloud API. For information about how to obtain the AccessKey ID and AccessKey Secret, see Manage AccessKeys.
Request path
GET /api/v2/oms/project/steps
Request parameters
Header
Parameter |
Type |
Required |
Description |
Example value |
|---|---|---|---|---|
| X-Ob-Project-Id | String | Yes | Project ID. | proj-xxxxxxxx |
| X-Ob-Org-Id | String | Yes | Organization ID. | org-xxxxxxxx |
Query
Parameter |
Type |
Required |
Description |
Example value |
|---|---|---|---|---|
| requestId | String | No | Request ID. | d04eabba-acef-4f4b-96f1-c657******** |
| id | String | Yes | Project ID. | np_7befdmp08juo |
Response parameters
Field |
Type |
Description |
Example value |
|---|---|---|---|
| success | Boolean | Whether the request succeeded. | true |
| requestId | String | Request ID. | req-xxx-xxx |
| cost | String | Time taken. | 123ms |
| data | List<ProjectStepVO> |
List of project steps. |
ProjectStepVO fields
Field |
Type |
Description |
Example value |
|---|---|---|---|
| id | String | Step ID. | step-xxx |
| name | String | Step name, returned according to the project phase. Valid values: TRANSFER_PRECHECK (precheck), STRUCT_TRANSFER (schema migration), FULL_TRANSFER (full migration), FULL_VERIFIER (full validation), COUNT_VERIFIER (row count validation), INCR_TRANSFER (incremental migration), TRANSFER_INCR_LOG_PULL (incremental log pull, returned as a separate step depending on the incremental migration settings), INDEX_TRANSFER (index migration), and INCR_VERIFIER (incremental validation). |
FULL_TRANSFER |
| status | String | Step status. Valid values: INIT, RUNNING, FAILED, FINISHED, SUSPEND, and MONITORING. |
RUNNING |
| extraInfo | Object | Additional step information. | |
| startTime | String | Start time (UTC). | 2026-02-25T15:40:43Z |
| finishTime | String | End time (UTC). | |
| progress | Integer | Progress percentage. | 50 |
| stepInfo | Object | Step details. The type depends on name, as described below. |
stepInfo types
Step name |
stepInfo type |
Key metric fields |
|---|---|---|
FULL_TRANSFER |
FullTransferStepInfoVO | processedRecords (number of processed rows) and estimatedTotalRows (estimated total number of rows). |
INCR_TRANSFER |
IncrTransferStepInfoVO | incrCheckpoint (incremental position, in Unix seconds) and checkpointSampleTime (time the position was sampled). |
FULL_VERIFIER |
FullVerifierStepInfoVO | consistentTableCount, inconsistentTableCount, notSupportedTableCount, exceptionTableCount, processingTableCount |
COUNT_VERIFIER |
CountVerifierStepInfoVO | consistentTableCount, inconsistentTableCount, notSupportedTableCount, exceptionTableCount, processingTableCount, processedTableCount |
INCR_VERIFIER |
IncrVerifierStepInfoVO | consistentCount, initialInconsistentCount, finalInconsistentCount, startCheckpoint, endCheckpoint, sourceCheckpoint, destCheckpoint, checkpointSampleTime |
For steps not listed in the table, such as
TRANSFER_PRECHECK,STRUCT_TRANSFER,INDEX_TRANSFER, andTRANSFER_INCR_LOG_PULL, stepInfo is null.
Examples
Request example
curl --digest -u '<your AK:SK>' \
--request GET \
--url 'https://api-cloud.oceanbase.com/api/v2/oms/project/steps?id=np_7befdmp08juo' \
-H 'X-Ob-Project-Id: <project ID>' \
-H 'X-Ob-Org-Id: <organization ID>'
Response example
{
"success": true,
"requestId": "req-xxx-xxx",
"cost": "123ms",
"data": [
{
"id": "step-xxx",
"name": "FULL_TRANSFER",
"status": "RUNNING",
"progress": 50,
"stepInfo": {
"processedRecords": 50000,
"estimatedTotalRows": 100000
},
"startTime": "2026-02-25T15:40:43Z"
}
]
}
