Перейти к документации
API

Экспорты

Каждая операция этой группы: что она принимает, что возвращает и какими ошибками может ответить.

Операции

A zip of the whole workspace, as the Export page of the app makes it: every conversation as mbox files with its attachments, contacts as vCard, audiences, calendar events as .ics, templates with every version, rules, labels, notes and addresses. An export is made in the background, can be started once a day and is kept for 365 days.

Only the workspace owner, or a member whose role holds every permission, can export the workspace: an API key, or an app connected with every address. A key or an app limited to particular addresses or domains is a 422 capability_unsupported, and an account the workspace cannot export for is a 403 export_not_permitted.

GET/exports/preview

See what an export would hold

Разрешенияthreads:readЧитает

Whether this workspace can be exported by the caller now, when the next export can start, the export still being made, if there is one, and how much an export would hold. When allowed is false, reason says why and counts is null.

Only the workspace owner, or a member whose role holds every permission, can export the workspace: an API key, or an app connected with every address. A key or an app limited to particular addresses or domains is a 422 capability_unsupported, and an account the workspace cannot export for is a 403 export_not_permitted.

Requires the threads:read scope.

Возвращает

What an export would hold, and whether one can start.

Ошибки

Ошибки, которые может вернуть любая операция400401403404422500Каталог ошибок

Также доступно в

SDK
exports.preview()
CLI
openemail exports preview
MCP
getExportPreview

GET/exports

List the exports

Разрешенияthreads:readЧитает

Every export of the workspace, newest first, with its status and progress. limit and offset page through them, and total counts them all.

Only the workspace owner, or a member whose role holds every permission, can export the workspace: an API key, or an app connected with every address. A key or an app limited to particular addresses or domains is a 422 capability_unsupported, and an account the workspace cannot export for is a 403 export_not_permitted.

Requires the threads:read scope.

Параметры запроса

limitinteger

Exports per page, 1 to 100.

Не меньше 1Не больше 100По умолчанию25
offsetinteger

How many exports to skip.

Не меньше 0По умолчанию0

Возвращает

A page of exports, newest first.

Ошибки

Ошибки, которые может вернуть любая операция400401403404422500Каталог ошибок

Также доступно в

SDK
exports.list()
CLI
openemail exports list
MCP
getExportlistExports

POST/exports

Start an export

Разрешенияthreads:readИзменяет данные
Запрашивает код подтверждения

Starts making a zip of the whole workspace, as Export now on the Export page does. It is made in the background: read it with GET /exports/{id} until status is ready, then download it. One export can run at a time, and a workspace can be exported once a day.

Only the workspace owner, or a member whose role holds every permission, can export the workspace: an API key, or an app connected with every address. A key or an app limited to particular addresses or domains is a 422 capability_unsupported, and an account the workspace cannot export for is a 403 export_not_permitted.

Requires the threads:read scope.

Возвращает

The export, queued.

Ошибки

403

The key lacks the scope, or may not send as that address.

step_up_required: the call was made with an OAuth access token that has not been verified in the last 60 minutes. Ask for a code with POST /security/step-up, send it to POST /security/step-up/verify, then repeat the call. The person can also choose Allow changes for 60 minutes on the app in Account settings, Connected apps, on the OpenEmail website. An API key is never asked for a code.

409

already_running: an export of this workspace is already being made.

429

export_limit_reached: the workspace was exported in the last day.

Ошибки, которые может вернуть любая операция400401404422500Каталог ошибок

Также доступно в

SDK
exports.start()
CLI
openemail exports start
MCP
startExport

GET/exports/{id}

Retrieve an export

Разрешенияthreads:readЧитает

One export, with its status, its progress through the conversations and, once it is ready, its size, file name and when it is deleted.

Only the workspace owner, or a member whose role holds every permission, can export the workspace: an API key, or an app connected with every address. A key or an app limited to particular addresses or domains is a 422 capability_unsupported, and an account the workspace cannot export for is a 403 export_not_permitted.

Requires the threads:read scope.

Параметры пути

idstringОбязательно

The export id from GET /exports or POST /exports.

Возвращает

The export.

Ошибки

Ошибки, которые может вернуть любая операция400401403404422500Каталог ошибок

Также доступно в

SDK
exports.get()
CLI
openemail exports get
MCP
getExportlistExports

GET/exports/{id}/content

Download an export

Разрешенияthreads:readЧитает
Запрашивает код подтверждения

The zip itself, as application/zip with its file name in Content-Disposition. It is only there once the export is ready: before that the call is a 409 export_not_ready, and an export older than 365 days is a 409 expired.

Only the workspace owner, or a member whose role holds every permission, can export the workspace: an API key, or an app connected with every address. A key or an app limited to particular addresses or domains is a 422 capability_unsupported, and an account the workspace cannot export for is a 403 export_not_permitted.

Requires the threads:read scope.

Параметры пути

idstringОбязательно

The export id from GET /exports or POST /exports.

Возвращает

200binaryapplication/zip

The zip.

Ошибки

403

The key lacks the scope, or may not send as that address.

step_up_required: the call was made with an OAuth access token that has not been verified in the last 60 minutes. Ask for a code with POST /security/step-up, send it to POST /security/step-up/verify, then repeat the call. The person can also choose Allow changes for 60 minutes on the app in Account settings, Connected apps, on the OpenEmail website. An API key is never asked for a code.

409

export_not_ready: the export is still being made or failed. expired: it was deleted a year after it was made.

Ошибки, которые может вернуть любая операция400401404422500Каталог ошибок

Также доступно в

SDK
exports.download()
CLI
openemail exports download

Объекты

Exportobject

objectstringОбязательно
Одно из"export"
idstringОбязательно
statusstringОбязательно
Одно из"queued""running""ready""failed""expired"
phasestring

What it is doing while status is running.

Может быть nullОдно из"planning""mail""records""finishing"
createdAtstringОбязательно
Форматdate-time
createdByobject

Who started it, or null when that account is gone.

Может быть null
namestring
Может быть null
emailstring
startedAtstring
Может быть nullФорматdate-time
finishedAtstring
Может быть nullФорматdate-time
expiresAtstring

When the zip is deleted, a year after it was made.

Может быть nullФорматdate-time
sizeBytesinteger
Может быть null
fileNamestring
Может быть null
threadsDoneinteger
Не меньше 0
threadsTotalinteger
Может быть null
errorstring

Why it failed, when status is failed.

Может быть null

ExportListobject

objectstring
Одно из"list"
totalinteger

How many exports there are in all.

Не меньше 0
hasMoreboolean

Whether more exports follow this page.

ExportPreviewobject

objectstringОбязательно
Одно из"export_preview"
allowedbooleanОбязательно

Whether the caller may export this workspace.

reasonstringОбязательно

Why not, when allowed is false: not-permitted for an account that is neither the owner nor holds every permission, mailbox-login for a sign-in for one address, and two-factor-required when the workspace requires two-factor sign-in and the account has none.

Может быть nullОдно из"not-permitted""mailbox-login""two-factor-required"
nextAvailableAtstringОбязательно

When the next export can start, or null when one can start now.

Может быть nullФорматdate-time
activeExportIdstringОбязательно

The export still being made, if there is one.

Может быть null
countsobjectОбязательно

How much an export would hold now. Null when allowed is false.

Может быть null
threadsinteger

Conversations.

Не меньше 0
attachmentsinteger

Attachments inside them.

Не меньше 0
attachmentBytesinteger

The size of those attachments, in bytes.

Не меньше 0
deletedFilesinteger

Deleted files, listed by name and date but not included.

Не меньше 0
contactsinteger

Contacts.

Не меньше 0
audiencesinteger

Audiences.

Не меньше 0
calendarEventsinteger

Calendar events.

Не меньше 0
templatesinteger

Templates.

Не меньше 0
rulesinteger

Rules.

Не меньше 0
labelsinteger

Labels.

Не меньше 0
notesinteger

Notes of the caller.

Не меньше 0
addressesinteger

Addresses.

Не меньше 0