Todo Domain

Modelling the API (via collections)

Below is a diagram of the Todo domain that is the API. The key point of this diagram is to be able to reason about the context and paths of resources. Its goal is not to see everything but rather to see the essential complexity of the domain. Link relations like self, up and even edit-form, create-form and submit are accidental complexity at this level of abstraction.

This model is best understood in the context of a working knowledge with the network of data itself (and the attributes of resources)—which is why the API needs a general purpose client to make browsing the API part of the discovery (and learning process) of the domain. Browse the API here.

Note: this diagram is a logical model of the domain and contains the heart of the domain including future resources. It also doesn’t contain authorisation/authentication aspects.

Future extensions

Currently, this approach is manual and not generated from the API itself. In a public API (ie one that you don’t control both the API and the client(s)), you may want use the ‘home’ link relation at the root of the API (see json-home).

Unlock the next chapter
How do you best learn about how to use an API?
Read the documentation
Try the API and explore data required
Build up your knowledge in the context of a map and learn the specifics of connectedness through practice
Trick question: all APIs are hard to learn and use