---
title: "Create a Report Export"
method: POST
path: "/print-mail/v1/reports/{reportID}/exports"
tags: ["Reports"]
---

# Create a Report Export

`POST /print-mail/v1/reports/{reportID}/exports`

## Request

- Base URL: `https://api.postgrid.com`
- URL: `https://api.postgrid.com/print-mail/v1/reports/{reportID}/exports`
- Auth: API key in header `X-API-Key`

Create a new export job for a saved report. This runs the report's query
asynchronously and generates a downloadable CSV file with the full results.
Your queries can run for up to 13 minutes the resulting file can be up to 100mb large.

## Path parameters

- `reportID` string, required

## Request body

- ReportExportCreate: Base properties for a report export.
  - `params` string[]: Optional parameters to bind to the SQL query of the associated report.
  - `description` string: An optional user-friendly description for the export.
  - `metadata` object: Optional key-value metadata associated with the export.

## Response `201`

The created ReportExport object, representing the pending job.

- ReportExport: Represents a report export job and its results.
  - `id` string, required: Unique identifier for the report export.
  - `object` 'report_export', required: Always `report_export`.
  - `live` boolean, required: Indicates if the export is associated with the live or test environment.
  - `report` object, required: Details of the report this export was generated from.
    - `id` string, required: The ID of the report.
    - `sqlQuery` string, required: The SQL query used for this export (snapshotted at creation time).
  - `params` string[]: Optional parameters to bind to the SQL query of the associated report.
  - `description` string: An optional user-friendly description for the export.
  - `metadata` object: Optional key-value metadata associated with the export.
  - `outputURL` string, uri: A signed URL to download the exported data (CSV format). Available when generation is complete and successful.
  - `failureMessage` string: If export generation failed, this contains the error message.
  - `truncatedToBytes` integer: If the output was truncated, indicates the byte limit reached.
  - `sizeInBytes` integer: The size of the generated export file in bytes.
  - `rowCount` integer: The number of rows in the exported data.
  - `createdAt` string, date-time, required: Timestamp when the export was created.
  - `updatedAt` string, date-time, required: Timestamp when the export was last updated (e.g., finished generation).

## Other responses

- `400`: The created ReportExport object, representing the pending job.
- `401`: The created ReportExport object, representing the pending job.
- `404`: The created ReportExport object, representing the pending job.
- `422`: The created ReportExport object, representing the pending job.
- `429`: The created ReportExport object, representing the pending job.
- `500`: The created ReportExport object, representing the pending job.

## Changes

- **2026-05-01** `c8fedcbd705e`: 4 warning, 2 info
  - added the new `internal_server_error` enum value to the `error/type` response property for the response status `500`
  - added the new `not_found_error` enum value to the `error/type` response property for the response status `404`
  - added the new `rate_limit_exceeded_error` enum value to the `error/type` response property for the response status `429`
  - added the new `validation_error` enum value to the `error/type` response property for the response status `400`
  - …2 more

[Operation history](https://skmtc.dev/postgrid/apis/postgrid-address-verification-api/changes/print-mail/v1/reports/:reportID/exports/post.md)

---

[API](https://skmtc.dev/postgrid/apis/postgrid-address-verification-api.md) - [All operations](https://skmtc.dev/postgrid/apis/postgrid-address-verification-api/llms.txt) - [OpenAPI document](https://skmtc.dev/postgrid/apis/postgrid-address-verification-api/revisions/537d2bbc624a?raw)
