Batch Operation Rest API not working as expected and mentioned in the contract

Hi,

I am trying to consume the Batch Operation APIs and want to monitor this batch operations. Also seeking to take necessary actions.

I am trying to make use of search functionality based on the operation state, but in response getting error. Example mentioned:

https://sin-1.zeebe.camunda.io/{clusterUUID}/v2/batch-operations/search

Body:

{
“filter”: {
“state”: “INCOMPLETED”
}
}

Response:

{
“items”: ,
“page”: {
“totalItems”: 0,
“hasMoreTotalItems”: false
}
}

But when the response we tried by using the batch operation key parameter, we are able to see the response:

https://sin-1.zeebe.camunda.io/{clusterUUID}/v2/batch-operations/search

Request Body:

{
“filter”: {
“batchOperationKey”: “a690c999-295d-4309-9e77-491dd5a02fb9”
}
}

Response:

{
“items”: [{
“batchOperationKey”: “a690c999-295d-4309-9e77-491dd5a02fb9”,
“state”: “INCOMPLETED”,
“batchOperationType”: “MIGRATE_PROCESS_INSTANCE”,
“startDate”: “2026-01-06T10:46:22.192Z”,
“endDate”: “2026-01-06T10:47:02.620Z”,
“operationsTotalCount”: 1,
“operationsFailedCount”: 0,
“operationsCompletedCount”: 1,
“errors”:
}],
“page”: {
“totalItems”: 1,
“hasMoreTotalItems”: false,
“startCursor”: “WyJhNjkwYzk5OS0yOTVkLTQzMDktOWU3Ny00OTFkZDVhMDJmYjkiXQ==”,
“endCursor”: “WyJhNjkwYzk5OS0yOTVkLTQzMDktOWU3Ny00OTFkZDVhMDJmYjkiXQ==”
}
}

Also noticed that state in response is INCOMPLETE and errors are also blank.

Similarly able to see response for the url:

https://sin-1.zeebe.camunda.io/{clusterUUID}/v2/batch-operations/a690c999-295d-4309-9e77-491dd5a02fb9

{
“batchOperationKey”: “a690c999-295d-4309-9e77-491dd5a02fb9”,
“state”: “INCOMPLETED”,
“batchOperationType”: “MIGRATE_PROCESS_INSTANCE”,
“startDate”: “2026-01-06T10:46:22.192Z”,
“endDate”: “2026-01-06T10:47:02.620Z”,
“operationsTotalCount”: 1,
“operationsFailedCount”: 0,
“operationsCompletedCount”: 1,
“errors”:
}

Not able to understand the inconsistency in API response and why searching batch operation functionality is not working based on the operation state.

Also - there is no contract of INCOMPLETED in the documentation for the operation state, but we are getting in the response.

[ACTIVE, CANCELED, COMPLETED, CREATED, FAILED, PARTIALLY_COMPLETED, SUSPENDED]

Please share yours thought or opinion on this. Basically I would like to monitor the batch operations and would like to take necessary actions for FAILED, PARTIALLY_INCOMPLETE state.

https://sin-1.zeebe.camunda.io/{clusterUUID}/v2/batch-operations/search

{
“sort”: [
{
“field”: “state”
}
],
“filter”: {
“state”: “ACTIVE”,
},
“page”: {
“limit”: 100
}
}

Refer the documentation for input section of the body. Based on the documentation, state has no value mentioned as INCOMPLETED.

Possible values: [ACTIVE, CANCELED, COMPLETED, CREATED, FAILED, PARTIALLY_COMPLETED, SUSPENDED]

Try the above values for search operations.

INCOMPLETED State, I am getting in response. I am aware about the endpoint inconsistency article, but just now after more than 12 hours, still seeing the same response.

{
“batchOperationKey”: “a690c999-295d-4309-9e77-491dd5a02fb9”,
“state”: “INCOMPLETED”,
“batchOperationType”: “MIGRATE_PROCESS_INSTANCE”,
“startDate”: “2026-01-06T10:46:22.192Z”,
“endDate”: “2026-01-06T10:47:02.620Z”,
“operationsTotalCount”: 1,
“operationsFailedCount”: 0,
“operationsCompletedCount”: 1,
“errors”:
}