While working on the prototype, we didn't take the time to document all APIs. Let's do it now.
This will be a long work, so I'll create multiple subtasks.