Issue:
I am comparing completion data from the API to the in-app reporting and noticing differences in the data. Some completions appear to be missing when filtering by content provider, content type, or verification status. Additionally, completion counts and dates do not align between the API and in-app reports.
Cause:
This difference occurs because the API and in-app reports handle completion dates differently:
- The API completed_at field only populates when a completion is verified through an integration, API, or file upload
- If a user manually marks an item as complete, the API returns a null value for completed_at
- The in-app report instead displays the added_at date as the “Completed Date” when no verified completion exists
As a result, the same completion can appear to have a date in the in-app report but a null or missing completion date in the API, leading to mismatched records or counts.
Resolution:
To reconcile differences between API and in-app reporting:
- Compare both completed_at and added_at fields when analyzing API data
- Expect completed_at = null for completions that were manually marked complete and not verified via integration or file upload in the API data
- Avoid relying solely on completed_at when validating totals or filtering results