---
title: "Start an export"
description: "A zip of the whole workspace, made in the background."
url: "https://openemail.uk/docs/api/exports/start"
area: "API"
category: "Mailbox"
---

# Start an export

A zip of the whole workspace, made in the background.

`POST /exports`

## POST /exports

A zip of the whole workspace, made in the background.

## Example

Needs `threads:read`. Takes no body and answers 201 with the export, `queued`. Read it until `status` is `ready`, then download it.

**curl**

```
curl -X POST "$OE/exports" -H "$AUTH"
```

**Response**

```
{
  "object": "export",
  "id": "exp_8c1e4a7f2b9d3e6a0c5f1b28",
  "status": "queued",
  "phase": null,
  "createdAt": "2026-09-30T09:12:44.000Z",
  "createdBy": { "name": "Ana Lima", "email": "ana@acme.com" },
  "startedAt": "2026-09-30T09:12:46.000Z",
  "finishedAt": "2026-09-30T09:31:02.000Z",
  "expiresAt": "2027-09-30T09:31:02.000Z",
  "sizeBytes": 1840233472,
  "fileName": "acme_20260930_093102.zip",
  "threadsDone": 18420,
  "threadsTotal": 18420,
  "error": null
}
```

> One export runs at a time: another while it is made is a 409 `already_running`. A workspace can be exported once a day, and an export inside that day is a 429 `export_limit_reached`.

> An app asks for a verification code first: until it has verified one, the call answers 403 `step_up_required`. An API key is never asked.

## Reference

- [`POST /exports`](https://openemail.uk/docs/api/reference/exports#post-exports): full reference
