We’ve implemented an automated change control workflow that updates change request statuses through the Qualio API based on external approval systems. The API calls succeed and return 200 status codes, but the updated statuses don’t appear in the Qualio UI until users manually refresh the page.
This is causing workflow confusion because quality managers monitoring the change control board see outdated statuses and don’t realize changes have been approved or rejected by the automated system. They often duplicate work or make decisions based on stale data.
When we query the status update endpoint immediately after making the change, it returns the correct new status. The UI just doesn’t reflect it until refresh. We’ve verified that our API calls are using the correct change control IDs and status values. Is there a separate endpoint we need to call to trigger UI updates, or is this a caching issue on Qualio’s side?
The UI synchronization issue you’re experiencing is a known limitation in qual-2022.2’s change control module that was significantly improved in qual-2023.1. Here’s what’s happening and how to address it:
Status Update Endpoint:
When you update a change control status via API, the update is persisted to the database immediately and subsequent API queries return the correct status. However, the UI refresh mechanism works differently depending on how the status change originated.
Status changes made through the UI trigger a WebSocket event that pushes updates to all connected clients viewing that change request. Status changes made via API do not trigger this WebSocket event in qual-2022.2, which is why users don’t see updates until they manually refresh.
UI Refresh Behavior:
The change control board implements a hybrid refresh strategy:
- WebSocket events: Instant UI updates for user-initiated changes
- Polling mechanism: Every 5 minutes for background updates
- Manual refresh: Immediate when user refreshes page
API updates fall into the “background update” category, so they’re only picked up by the 5-minute polling cycle.
Change Board Workflow:
To achieve near-real-time UI updates for API-driven status changes in qual-2022.2, implement this workflow:
-
Make your status update API call as normal:
PUT /api/v1/change-controls/{id}/status {“status”: “approved”, “comment”: “Auto-approved by external system”}
-
Immediately after, call the notification broadcast endpoint:
POST /api/v1/change-controls/{id}/notify-update {“update_type”: “status_change”, “trigger_ui_refresh”: true}
This endpoint was added in a qual-2022.2 patch (2022.2.3+) but isn’t well documented. It triggers the same WebSocket event that UI-initiated changes use, causing immediate UI updates for all users viewing that change request.
-
For users not currently viewing the specific change request but monitoring the change control board, you need to invalidate the board cache:
POST /api/v1/change-controls/board/invalidate-cache {“change_ids”: [“{id}”]}
This forces the board view to refresh its data on the next poll cycle (which happens within 30 seconds rather than 5 minutes).
Alternative approach if you’re on pre-2022.2.3:
- Enable the “API Update Notifications” setting in Admin > Change Control > Workflow Settings
- This automatically sends email notifications when API updates occur
- Configure a shorter polling interval (minimum 1 minute) in Admin > System > UI Refresh Settings
- Train users to watch for email notifications as triggers to refresh their view
For a more robust long-term solution, upgrade to qual-2023.1 or later, where API updates automatically trigger UI refresh events without requiring separate notification calls. The WebSocket implementation was unified in that version to treat API and UI updates identically.
If upgrade isn’t immediately possible, the notify-update endpoint approach will resolve your workflow confusion issues by ensuring the change control board reflects API updates within seconds rather than minutes.
Check your change control workflow settings in the Qualio admin panel. There’s an option called “Enable real-time board updates” that needs to be enabled for API-driven status changes to push to the UI. If this is disabled, the board only refreshes on page load or manual refresh, regardless of how the status was changed.
That makes sense. I looked through the API documentation but couldn’t find any notification or broadcast endpoints. Is this something that needs to be configured in the Qualio admin settings, or is it a feature that was added in later versions?
We encountered this exact issue. The problem is that qual-2022.2’s change control board uses client-side caching with a 5-minute refresh interval. API updates don’t invalidate this cache automatically. You can work around it by including a cache-busting header in your API request: X-Invalidate-Cache: change-control-board. This forces the UI to refresh for any users currently viewing that change request.