1. A computer-implemented method executing instructions stored on a non-transitory computer-readable medium, the method comprising: receiving, at an application programming interface (API) layer on a server hosting a strongly-typed object-oriented API, a single API call to request data from the strongly-typed object-oriented API; enforcing, at the API layer, semantics for interacting with the API for security of at least one database disposed behind the API layer, wherein the single API call includes code that defines the request for the data using a dynamically-typed tuple having multiple object types and wherein the code uses one or more statements to define relationships between the multiple object types in the tuple; in response to receiving the single API call, performing a search of the at least one database using the strongly-typed object-oriented API through the API layer; obtaining the requested data from the at least one database in response to the search; and returning the requested data.