One question here is whether it's a goal to have the ActivityPub API be a complete replacement for a server's existing API. It could also just be a compatibility layer that lets applications do some of their work with an API server, with more specialised work happening with per-server APIs.
My two guideposts for creating the pump.io API, on which the ActivityPub API is based, were AtomPub and Embedded Experiences. Neither one was a complete drop-in replacement for the server's full API; it wasn't really a goal.
Examples of per-server API functionality:
- Monitoring for server status (such as queue health)
- Administrative tasks (approving new users, changing server settings)
These could be modeled as activities, but maybe it's not a good goal.