Explicitly use Endpoint in API where needed

There are a few locations where we are using the API DSL internally but are not being explicit about the Endpoint class, which means that if someone defines a completely custom Endpoint and it doesn't have, e.g., `#error!` defined, the app won't compile.

This commit mounts these endpoints using the Endpoint class.

We still need to come up with a simple, proper protocol for custom Endpoint classes, but in the meantime, let's not be too prescriptive.