A few months ago, I associated several hundred courses to a blueprint course using the Canvas API. While all of the courses were successfully associated with the blueprint course, I have since discovered that only some of the newly associated courses synced with it. Consequently, most of the newly associated courses populated with the blueprint course's content, but several others show that they are associated with the blueprint but they remain empty course shells.
I decided to experiment on an individual course by disassociating it and re-associating it with the API. When I did this, nothing changed. For some reason, it still would not sync like many of the other courses. However, when I disassociated it and re-associated it using the UI instead of the API, it immediately synced that course and all the other previously un-synced courses with the blueprint. After that, all of the associated courses populated the blueprint content correctly. Is there any reason why some of the courses would not sync with the blueprint course when added with the API? Is there something I can do moving forward to ensure this doesn't happen again?