If packages are added using skip_metadata or if createrepo is run asynchronously, it's possible for a repo's current repodata to not match the current set of packages. Please add an API that would take in a repo ID and return whether that repo is up to date or not. It would also be useful to get a list of createrepo tasks that are running or queued up.
This is no longer an issue in the 2.x workflow of having an explicit publish step, closing this out as the v1 APIs are not continuing to be updated.