Hi Elizabeth.
You probably can't get everything you need in one call, but it is possible to get quite a lot of data from a single report. For instance, you can use get most of an account's structure (campaigns, ad groups, ads etc) from the ad performance report by selecting those fields in the report definition.
There are some downsides to this approach though - you might need fewer calls to the API to get the data, but processing huuge reports can take some time. I'm currently working on a project where we're assembling the account structure locally from a big report, and it takes about 10 minutes of processing time per account.