WIP: User-facing API Spec

Let's start talking about what we want out of a user-facing API.