List the caller's recent generative export reports
GET /exports
GET /exports
Operation
GET
/exports
Returns the caller's most recent generative export reports (Google Sheets jobs created via this API or the /reports UI), newest first. Scoped through Pundit; admins see all of their own scope, non-admins see their own reports.
Operation ID:
listExportReports
·
Tags: Reports
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
limit
|
query | No | integer | Maximum number of reports to return. |
Request Body
No request body is defined for this operation.
Responses
Content Types
application/json
{
"description": "Recent export reports",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"exports": {
"type": "array",
"items": {
"type": "object",
"description": "Generative export report (Google Sheets) summary.",
"properties": {
"id": {
"type": "integer"
},
"report_type": {
"type": "string",
"enum": [
"hot_advertisers_sheets",
"hot_advertisers_excel",
"commission_drops_sheets",
"commission_rate_drops_sheets",
"epc_ecr_drops_sheets",
"epc_ecr_gains_sheets",
"top_advertisers_sheets",
"monthly_network_status_sheets",
"deals_excel",
"deals_sheets",
"advertisers_sheets",
"pipeline_sheets",
"opportunities_sheets",
"portfolio_sheets",
"rejected_stopped_sheets",
"transactions_sheets",
"clicks_sheets",
"contacts_sheets",
"publishers_sheets",
"networks_sheets",
"agencies_sheets",
"status_changes_sheets",
"terms_sheets",
"users_sheets"
]
},
"display_name": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"processing",
"completed",
"failed"
]
},
"status_display": {
"type": "string"
},
"parameters": {
"type": "object",
"additionalProperties": true
},
"filename": {
"type": "string",
"nullable": true
},
"download_url": {
"type": "string",
"format": "uri",
"nullable": true,
"description": "For file exports, a presigned S3 GET URL valid for download_expires_in_seconds. For Google Sheets exports, the spreadsheet in the caller's Drive, which does not expire and so comes with no download_expires_in_seconds."
},
"download_expires_in_seconds": {
"type": "integer",
"nullable": true
},
"error_message": {
"type": "string",
"nullable": true
},
"progress": {
"type": "object",
"nullable": true,
"description": "Set on chunked export parents; reports completed-vs-total chunk counts.",
"properties": {
"parts_ready": {
"type": "integer"
},
"total_parts": {
"type": "integer"
}
}
},
"parent_report_id": {
"type": "integer",
"nullable": true
},
"chunked_export": {
"type": "boolean"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"started_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"completed_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"status_url": {
"type": "string",
"format": "uri",
"nullable": true
}
},
"required": [
"id",
"report_type",
"status"
]
}
},
"meta": {
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"limit": {
"type": "integer"
}
}
}
},
"required": [
"exports",
"meta"
]
}
}
}
}
{
"$ref": "#/components/responses/Unauthorized"
}
API Playground
Run this GET request with your API key, or open it in a new tab. Path uses sample IDs where the OpenAPI path has {parameters}.
Sign in to enable live testing with your API key.
| Action | Method | Endpoint | Description |
|---|---|---|---|
| List the caller's recent generative export reports | GET |
/api/v1/exports |
OpenAPI operationId: listExportReports. |
GET /api/v1/exports
OpenAPI
List the caller's recent generative export reports