If you were looking for a more technical answer in regards to accessing the content, I (currently) see two options:
Use the “native” Corteza API
Refer to the documentation here (Accessing Corteza :: Corteza Docs) to see how you would use the API.
This would require you to obtain the auth token, as you are accessing protected resources (the records).
A downside of this is that you would need to do more work on application that is accessing the content (mostly authentication and figuring out the content’s structure)
Use sink routes
You can define a sink route to which you would bind a workflow, or an automation script.
With this you can define a custom response format, join multiple records from different modules, …
A downside of this is that you will need to include the sink signature, but since it doesn’t change, it’s “easier” to maintain then JWT tokens.
Wait for the API gateway
2021.9 will introduce an improved way of defining sink routes in a more intuitive way.
The core logic (the preparation of custom response structures) will be implemented with workflows, so this can be an upgrade of the second approach