Why Are Reassigned Cases via API Not Syncing Immediately to Mobile Users?

Hello

We are encountering a puzzling issue while using the CommCareHQ Case API to reassign cases between mobile workers. :slightly_smiling_face: The API confirms the reassignment & reflects it when fetching the case details but the newly assigned user does not always receive the case on their mobile app right away. :upside_down_face:

In some instances; the case appears only after the app is force-closed or reinstalled, even though regular syncs are happening. :thinking:

We have verified that the owner_id is correctly updated and that no form submission is required to process the reassignment. However; it seems like the mobile sync doesn’t consistently recognize the change. :thinking:

Could this be due to how the sync log / delta restore logic handles passive case updates made via API? :thinking: Checked https://dimagi.atlassian.net/wiki/spaces/commcarepublic/pages/2143957366/Data+APIs guide for reference. While integrating external machine learning tools (e.g.; exploring what is TensorFlow for predictive case assignment), we've noticed unexpected sync behavior during automated case reassignments via the CommCareHQ API.

Is there a recommended method to force a reliable case sync to a new user such as triggering a dummy form submission / adjusting server_modified_on? :thinking:

Any insights from developers who’ve integrated with CommCareHQ at scale would be greatly appreciated.

Thank you !! :slightly_smiling_face: