APIs should not talk to each other.
To keep microservices simple and quick, they should only serve what they are responsible for and avoid calling another API to supplement the data. The caller of the module should be responsible for that. If at some point it becomes impossible or unmanageable, a "composed" API should be created.
Distributed transaction will not be supported.