POST insights/reports/by-code-name/{reportCodeName}/begin-export
Initiate a real export to CSV. Some reports are limited by warehouse and/or channel - for those reports, you will need to set Channel and Warehouse permissions on your API user. This will return a 202 Accepted response and give you an exportId.
Request Information
URI Parameters
| Name | Description | Type | Additional information |
|---|---|---|---|
| reportCodeName | Unique identifier for the report in question | string | Required |
Body Parameters
Optional filters and configuration for the report
ReportExportRequest
| Name | Description | Type | Additional information |
|---|---|---|---|
| ColumnHeaderType | What type of column headers to use? human readable, or codenames? Human readable strings match the display name of the column. Codenames are more useful for machine readable output | CsvColumnHeaderType | None. |
| DateFilters | Optional. If specified, these will be applied to filters of type Date in the schema | Collection of ReportExportDateFilter | None. |
| NumericalFilters | If specified, these will be applied to filters of type Numerical in the schema | Collection of ReportExportNumericalFilter | None. |
| TextFilters | If specified, these will be applied to filters of type Text in the schema. | Collection of ReportExportTextFilter | None. |
| ForeignKeyFilters | If specified, these will be applied to filters of type ForeignKey in the schema. Values can be taken from the dropdowns endpoints. | Collection of ReportExportForeignKeyFilter | None. |
| OrderBy | Used to specify which order by option you want to use | string | None. |
| OrderDescending | Optionally swap the ordering direction to descending | boolean | None. |
Request Formats
application/json, text/json
Sample:
{
"ColumnHeaderType": "HumanReadable",
"DateFilters": [
{
"FilterCodeName": "LastOrderedDate",
"MinDateUtc": "2026-04-20T18:00:59.0694758Z",
"MaxDateUtc": "2026-05-20T18:00:59.0694758Z"
}
],
"NumericalFilters": [
{
"FilterCodeName": "Price",
"Operator": "GreaterThanOrEqualTo",
"Value": 10.0
}
],
"TextFilters": [
{
"FilterCodeName": "SKU",
"Operator": "Wildcard",
"Expression": "ABC*"
},
{
"FilterCodeName": "Supplier",
"Operator": "Equals",
"Expression": "Acme Corp"
}
],
"ForeignKeyFilters": [
{
"FilterCodeName": "ChannelId",
"Ids": [
1,
2,
3
]
}
],
"OrderBy": "SKU",
"OrderDescending": false
}
Response Information
Resource Description
Initiate a real export to CSV. Some reports are limited by warehouse and/or channel - for those reports, you will need to set Channel and Warehouse permissions on your API user. This will return a 202 Accepted response and give you an exportId.
ReportExportResponse| Name | Description | Type | Additional information |
|---|---|---|---|
| TimeZone | What timezone will the report run under? This should be your account timezone. | string | None. |
| ExportId | The export ID which can be used to fetch the results, once they are finished being generated | integer | None. |
| NumberOfUsesRemaining | If there is a limit, how many uses of the export endpoint do you have remaining? These reset at 0am UTC | integer | None. |
Response Formats
application/json, text/json
Sample:
{
"TimeZone": "(UTC) Dublin, Edinburgh, Lisbon, London",
"ExportId": 12345,
"NumberOfUsesRemaining": 95
}
application/xml, text/xml
Sample:
<ReportExportResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <TimeZone>(UTC) Dublin, Edinburgh, Lisbon, London</TimeZone> <ExportId>12345</ExportId> <NumberOfUsesRemaining>95</NumberOfUsesRemaining> </ReportExportResponse>