Our Platform architecture is built around API Led Connectivity which was designed by Mulesoft(Doc).
So this architecture helps us to identify and classify our microservices. The tricky part here or maybe the part that I am confused about is the experience API. So I want to explore a few questions in the context of one app -> one platform(reusable). Can we have multiple Experience APIs? If Yes then how do we identify a candidate for an Experience API?
Mulesoft defines the Experience Layer as
Experience Layer: Data is now consumed across a broad set of channels, each of which wants access to the same data but in a variety of different forms. For example, a retail branch POS system, e-commerce site, and mobile shopping application may all want to access the same customer information fields, but each will require that information in very different formats. Experience APIs are the means by which data can be reconfigured so that it is most easily consumed by its intended audience, all from a common data source, rather than setting up separate point-to-point integrations for each channel.
So if Experience APIs are not separated they can quickly become bloated with lots of things (In the name of transformation & adding app-specific logic). So how much should an experience API do in that regard? A general way of approaching them would be helpful with some practical examples.