Add additional usage data for bulk API queries

Add additional usage data for bulk API queries

When setting up software to interface with Marketo's REST API, especially the bulk API, users are limited to understanding what API manipulation they have within their control—the calls and jobs they themselves have made and can poll. However, this view completely misses any other action other accounts may be using. What I'd like to see is a set of additional features around stats and usage, including:

 

1. The ability to see how many bulk jobs are queued: right now, you can only manage the amount of bulk jobs your process has created, but there's no way to see what other bulk jobs are running in parallel. I'm thinking of something as straightforward as an API call that lists the current number of bulk jobs being processed. Major bonus points if the call can also give an expected ETA when the next job that will complete first will end. This way, bulk jobs can be scheduled more effectively rather than checking existing jobs continuously. 

 

2. The ability to see how much bulk data has been passed: while subscriptions can have varying bulk data limits for the day, knowing if your API process or if others took up the entire import/export daily limits is difficult. If there was some way to check against the same mechanism that limits data, this would help developers make smarter decisions on how much data to import/export and when it makes the most sense to do so. Alternatively, this can help ensure there's a buffer of bulk data available for other processes. 

 

3.  When using any bulk job status API endpoint, having a (very rough!) estimate of when the job is anticipated to complete returned would be great. Queuing multiple jobs means the estimate you'd have for one job completing may not be accurate, and even knowing within a five-minute window when a job is anticipated to complete helps with properly queuing subsequent jobs.