The (Best) [CMS] API Has No Methods. I mean that in the sense that The Emperor Wears No Clothes. With twenty five years of experience in enterprise systems including twenty in CMS, I mean it with conviction.
All I want are objects populated from one or more systems such as search, CMS, product information management, and otherwise. I do not even want to pass identifiers or queries to an API; I just want the objects to appear magically when I need them, possibly in lists, possibly in pages, through some kind of magic like dependency injection.
As a cloud architect, I must minimize, centralize, and abstract all solutions within my organization from vendor-specific API calls, uses of vendor APIs and SDKs, and uses of vendor-specific data formats. My solutions should never reference vendor SDKs directly, only my layers that abstract their services.