Initiate a graph report export#
Deprecated
This endpoint is deprecated and may be removed in a future release.
This endpoint was deprecated on 2026-02-12.
It is scheduled for sunset on 2029-01-31.
Description#
Asynchronously exports a graph report (only CSV available at this time).
This endpoint will execute the query of a saved report and export to the specified format (only CSV available at this time). The ID of the record containing the saved report is used for the reportID path element. Reports are stored in records of type DataSource and ReportView. The list of applicable records can be retrieved from the /records endpoint such as GET /records?$filter=type eq DataSource or type eq ReportView. A filter on the title property should be used to return a particular report.
Responses include a Location header, which indicates where to poll for export results. For more details on long-running job polling, see Operations endpoint. When the export completes, its status will be completed, and the response body includes a resourceURL. To download the exported file, perform a GET on the resourceURL with the same authentication credentials and flow as the export request. For more details, see Authentication documentation.
POST /platform/v1/graph/reports/{reportId}/export
Required OAuth Scopes
graph:read
Parameters#
Parameter |
In |
Type |
Required |
Description |
|---|---|---|---|---|
X-Version |
header |
string |
false |
Version of the API (2022-01-01) |
reportId |
path |
string |
true |
The unique identifier of the report |
body |
body |
true |
Details about the report export |
Body parameter example#
{
"format": "csv"
}
Code Samples#
curl -X POST https://api.app.wdesk.com/platform/v1/graph/reports/{reportId}/export \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'X-Version: 2022-01-01'
http POST https://api.app.wdesk.com/platform/v1/graph/reports/{reportId}/export \
X-Version:2022-01-01 \
Content-Type:application/json \
Accept:application/json \
Authorization:"Bearer {access-token}"
wget --method=POST "https://api.app.wdesk.com/platform/v1/graph/reports/{reportId}/export" \
--output-document - \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}' \
--header 'X-Version: 2022-01-01'
import requests
headers = {
'X-Version': '2022-01-01',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.app.wdesk.com/platform/v1/graph/reports/{reportId}/export', headers = headers)
print(r.headers['Location'])
Returns#
202 - Accepted#
Header |
Description |
|---|---|
Location |
The location to poll for the operation result. |
Retry-After |
The number of seconds to wait before polling for a result and between polling attempts. |
400 - Bad Request#
Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.
403 - Forbidden#
Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.
404 - Not Found#
Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.
409 - Conflict#
Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.
429 - Too Many Requests#
Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.
500 - Internal Server Error#
Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.
Example Responses#
{
"code": "400BadRequest",
"message": "The request was unacceptable, often due to a missing or invalid parameter"
}
{
"code": "401Unauthorized",
"message": "No valid API token provided"
}
{
"code": "403Forbidden",
"message": "The API token does not have permissions to perform the request"
}
{
"code": "404NotFound",
"message": "The requested resource could not be found"
}
{
"code": "409Conflict",
"message": "The request conflicts with another request"
}
{
"code": "429TooManyRequests",
"message": "Too many requests have been made against the API in too short a time"
}
{
"code": "500InternalServerError",
"message": "The server encountered an unexpected condition that prevented it from fulfilling the request"
}
{
"code": "503ServiceUnavailable",
"message": "The server cannot handle the request due to a temporary overload or scheduled maintenance"
}