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.
Throttle limit and the reporting API
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.
@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!
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.
(…“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.)
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
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.
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.
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