Empty/partial BI Export results almost always trace to dataset configuration, user permissions, or async job timing. Here's what to verify.
What this answers:
- Why a BI Export API request returns an empty CSV or fewer rows than expected
- The three configuration areas that drive what data appears in BI Exports
- What to check before contacting Support
When a BI Export API request returns an empty CSV or fewer rows than expected, the cause is almost always one of three things: dataset configuration, user permissions, or asynchronous job timing.
1. Dataset configuration — fields must be "configured for analytics"
BI Export datasets (folder_budget, lineitem, po_actual, itemmeasures, etc.) only carry fields that have been configured for analytics on their source panel. A field that exists in your project but isn't enabled for analytics won't appear in the export.
If you're expecting columns that aren't there, check the analytics setting on the source panel. The fix is the same as for missing GoodData attributes — see A field in our Allocadia project isn't appearing as an attribute in the GoodData data table.
2. User permissions
The user making the API call needs:
- API access enabled on their user record
- At least VIEWER access on the budget you're exporting
If the user can't see the budget in the Allocadia UI, the API won't return data for it either. The fix: have an admin grant VIEWER (or higher) access to the budget.
3. Asynchronous job timing
Some BI Export endpoints — especially /biexports/all.zip — are handled asynchronously. The first request returns an HTTP 202 with a Location header pointing to a job status URL. If your integration treats the 202 as a final response and reads the body, you'll see empty or no content.
Correct flow:
- Make the export request.
- If you get a 202, poll the
LocationURL for job status. - When the job reports complete, follow the
locationfield in the job object to retrieve the actual file.
Alternatively, supply success_callback_url and/or failure_callback_url on the initial request — the result is pushed to you when ready.
Other things worth checking
-
Datasets that depend on V11+ template features. If you're on an older GoodData project template (V8 or earlier), some V11 datasets like
activity_budgetorlineitem_allocationwon't return data — the underlying datasets don't exist on your project version. Check your GoodData project version. -
The
campaign/campaignmeasuresdatasets appear inall.zipbut are legacy and intentionally empty for most customers. Don't use them.
What to do
- Verify the dataset's source-panel analytics configuration.
- Confirm the API user has VIEWER (or higher) access to the budget.
- Confirm any 202 (async) response is being handled correctly.
If all three check out and you're still getting empty results, contact Support with the exact endpoint URL, the user, and the time of the request.
Comments
Please sign in to leave a comment.