1. Statefulness: simple example, api call that returns a query from the DB that has a high transaction load
2. Non determinism: for example returns a random number, guid or a time
3. Privacy requirements for certifications or legislation that mean private data cannot be used in a test environment.
4. GDPR laws
5. Authentication
I presume this is more microservice friendly and monolith unfriendly. But that is probably a reason on the pro side of smaller, bounded services.