A milestone is a result the program expects: an objective, the proof you expect, and the criteria that make it a success. It is what puts the content to the test.
Milestones belong to a Program pool. Paths select and order shared milestones; the Milestones endpoints continue to address the current primary path for backward compatibility. Use the Paths API to create alternatives and versions.
A contribution says "this lesson prepares this milestone". Exactly one target per contribution — a lesson or a resource, never both.
Information
Defining a milestone requires OWNER or ADMIN in the school: an expected
result is defined by whoever may change the program that carries it.