Returns a signed HTTPS URL, valid for 30 minutes, for the file of an Available run stored in cloud storage. Download the file with a plain HTTP GET on the URL. GET and POST behave the same; POST takes no body.
Purpose: The recommended way to download report files: large files do not pass through the API and the URL expires quickly if it is leaked.
When to use: To download a completed report file that is stored in cloud storage. This is the preferred download method for the Integration Reporting APIs.
Notes:
report_idis the submission (run) ID.- Some tenants disable HTTP GET on this operation. In that case GET returns
403and you must use POST on the same path. POST always works, so prefer POST in new integrations.
| Parameter | In | Type | Required | Default | Description |
|---|---|---|---|---|---|
report_id | path | integer | Yes | Submission (run) identifier. | |
Zuora-Track-Id | header | string | No | Optional correlation identifier (up to 64 characters) that you choose. The Zuora One gateway records it; quote it to Zuora Support when you report a problem. | |
Authorization | header | string | Yes | Bearer <access_token> (Zuora OneID OAuth). |
Request body: none.
| HTTP status | Content type | Response schema |
|---|---|---|
200 | application/json | SignedUrlResponse |
400 | application/json | RiaError |
401 | application/json | GatewayError or RiaError |
403 | application/json | RiaError |
404 | application/json | SignedUrlError |
429 | application/json | GatewayError |
500 | application/json | RiaError |
502 | application/json | RiaError |
SignedUrlResponse: Signed download URL for a completed report.
| Field | Type | Required | Description |
|---|---|---|---|
success | boolean | No | true when the URL was generated. |
signed_url | string (uri) | No | HTTPS URL of the report file. Download it with a plain HTTP GET; it is valid for 30 minutes (1,800 seconds). |
Error response schemas (GatewayError, ServiceError, SpringError, SimpleError, MissingFiltersError, RunStatusConflict, RiaError, SignedUrlError) are defined once under Error response schemas in the API overview and in components/schemas.
Response codes: 200, 400, 401, 403, 404, 429, 500, 502. Each response with a body includes worked examples; responses without a body say so.
- Zuora One production. Revenue Reporting paths start with /revenue/services/v1; Integration Reporting paths start with /api/integration/v1 or /api/integration/v2.https://one.zuora.com/api/integration/v2/reports/signedurl/{report_id}
curl -i -X GET \
https://one.zuora.com/api/integration/v2/reports/signedurl/482391 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Zuora-Track-Id: close-run-2026-09-001'Success. The signed URL.
{ "success": true, "signed_url": "https://files.zuora.com/rev/1234567/reports/WF_SUMMARY_482391.csv?X-Amz-Expires=1800&X-Amz-Signature=9ac2..." }