Export CMS Pages
Downloads the CMS pages datagrid as a csv, xls or xlsx file — the same data the admin CMS → Pages "Export" button produces. The response is a binary file attachment, not JSON.
Unlike the listing, the export is not paginated — it streams every page that matches the current filters.
REST only
There is no GraphQL counterpart — binary file streams aren't expressible over GraphQL. Use this REST endpoint for the export.
Endpoint
| Endpoint | Method |
|---|---|
/api/admin/cms/pages/export | GET |
Request headers
| Header | Value |
|---|---|
Authorization | Bearer <token> |
Accept | text/csv — required. The endpoint only produces text/csv; sending Accept: application/json returns 406 Not Acceptable. |
Query parameters
| Parameter | Type | Description |
|---|---|---|
format | string | Export format — csv (the default), xls or xlsx. Any other value returns 422. Send a matching Accept header: text/csv, application/vnd.ms-excel or application/vnd.openxmlformats-officedocument.spreadsheetml.sheet. |
The export also accepts the same filters as the listing:
| Filter | Type | Description |
|---|---|---|
id | integer | Filter by page ID. |
page_title | string | Partial title match. |
url_key | string | Partial url_key match. |
channel | integer | Channel ID. |
locale | string | Locale code used for translation resolution. |
Columns
The export carries the five datagrid columns, in order:
| Header | Value |
|---|---|
ID | Page ID. |
Page Title | Page title for the resolved locale. |
URL Key | The storefront URL slug. |
Channel | Channel code. |
Locale | Resolved locale code. |
Permission
cms

