Sign in to participate

Be Kind, Be Helpful

Ask a question, answer a question, and get to know the fine people in the Harvest community.

Forum powered by Altered Beast
This is a Topic in API and Developers

Throttle limit and the reporting API

Avatar

Suppose I wanted to create a diagram that visualizes the number of logged hours (or income) over a certain time period, grouped by project.

Since the reporting API requires me to provide a project ID (or user ID), I would need to make one call per project. This could easily exceed the throttle limit of 40 calls/15 seconds.

As I see it, this shouldn’t be such an unusual scenario. Am I missing something? Is there a workaround? Any suggestions are welcome.

Avatar

@fjeldstad Long-running reports are the single biggest threat to the performance of harvestapp.com. The API atomizes report calls for this reason, as exposing open-ended timeframe reports over all projects in an account to an automated call via API would be very risky.

If you would like to hit every project in your account to do a report visualization you will need to handle the throttle limit. Sorry that we are not able to provide a more convenient technique to get this data. The health of our servers is of top priority here at Harvest.

Hope that helps!

Avatar

I understand (and am glad) that server performance is a priority. However, I believe you could have both; if you add methods for retrieving all user- and task assignments, you can keep the restrictive throttle limit while also adding value for customers who want to use the API for reporting applications.

Avatar

(…“have both” in the sense that it would make it easier to pre-fetch time entry metadata while at the same time making fewer requests to the server.)

Avatar

This new request. Are you asking for an API method to fetch all projects assigned to a user as well as all projects assigned to a task? Basically, the inverse of these?

http://www.getharvest.com/api/user_assignment
http://www.getharvest.com/api/task_assignment

Avatar

Actually I was thinking of a method of retrieving all user and task assignment at once (regardless of project/user/task). Just to save some (potentially many) calls to the API.

Avatar

Alternatively, if the API would include a “report view” of joined data, similar to the output from the “Export to CSV” function in the GUI, that would probably be a nicer solution.

Avatar

Hi Anders,

This sounds similar to other requests we’ve had in the forum for aggregate API requests. I’ll bump this request in our tracking system for you.

As for getting a complete list of all user and task assignments, that’s a new one. I’ll make a ticket for it today.

-Doug

 

[ Please sign up to post a comment. ]