@js@mstdn.io Frankly, I prefer the client-server ActivityPub API. It does leave media handling to be defined by implementers, which is not great, but I'd prefer if people implemented c-s ActivityPub and server-specific media handling over everything being server specific.
Specific reasons why I like it more is that ActivityPub allows one to express things that cannot be expressed in MastodonAPI for silly arbitrary reasons (for example, boosts with non-public targets; Mastodon claims that it has per-post privacy model, but boosts belie that: they all share their privacy settings with ~the profile).