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

Импорты

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

Операции

Two ways to bring an existing setup across.

A mailbox import reads an export file: Google Takeout archives, .mbox, .eml, .zip and .tgz. Create the import, upload each file in parts, then start it. Imported mail is quiet, so no rules, forwards, notifications, summaries or webhooks run for it.

A provider import reads a Resend account with a full-access key: suppressions, segments as audiences, subscribed contacts, templates, and webhooks created switched off, plus a checklist of the domains and API keys to recreate by hand. Inspect it first to see what would come across. The key is held encrypted only while the import runs and is erased when it ends, and running it twice duplicates nothing.

GET/imports

List mailbox imports

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

Every import in the workspace, newest first, one page at a time, each with its status, byte progress and running counts. Nothing is dropped from the history, so following nextCursor reaches the first import. A key limited to particular addresses sees only imports into those addresses.

Requires the threads:read scope.

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

addressIdstring

Only imports into this address.

limitinteger

Rows per page, 1 to 100.

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

An import id. Keyset, not offset: pass the previous page's nextCursor. One that names nothing in this list is a 400 invalid_cursor.

Возвращает

200

A page of imports, newest first, with hasMore and nextCursor.

Ошибки

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

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

SDK
imports.list()imports.listAll()imports.iterate()
CLI
openemail imports list
MCP
listImports

POST/imports

Start a mailbox import

Разрешенияthreads:writeИзменяет данные

Creates an import into one address and returns it with status: uploading. Upload each file in parts of chunkBytes with the chunk operation, then call start. The import reads Google Takeout archives, .mbox, .eml, .zip and .tgz files. Imported mail is quiet: no rules, forwards, notifications, summaries or webhooks run for it.

Requires the threads:write scope.

Тело запроса

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

The address the mail belongs to.

filesobject[]Обязательно

Each file as { name, bytes }, 1 to 50 of them, each at most 100 GB.

От 1 до 50 элементов
namestringОбязательно
До 255 символов
bytesintegerОбязательно
Не меньше 1Не больше 107374182400
optionsobject

keepInbox, includeSpam and includeTrash, as for create.

keepInboxboolean

Default true. Mail that was in the old inbox lands in Inbox with its unread state; false files everything under Archive.

includeSpamboolean

Default false.

includeTrashboolean

Default false.

Возвращает

201

The import, waiting for its files.

Ошибки

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

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

SDK
imports.create()imports.importFiles()
CLI
openemail imports createopenemail imports import-files

GET/imports/{id}

Get a mailbox import

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

Status, byte progress and counts. Poll it while the import runs.

Requires the threads:read scope.

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

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

Import id, imp_ followed by 24 hex characters.

Возвращает

200

The import.

Ошибки

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

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

SDK
imports.get()
CLI
openemail imports get
MCP
getImport

GET/imports/{id}/upload

Which parts have arrived

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

For each file, the indexes of the parts already stored, so an interrupted upload sends only what is missing.

Requires the threads:write scope.

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

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

Import id, imp_ followed by 24 hex characters.

Возвращает

200

Received parts per file.

Ошибки

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

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

SDK
imports.uploadState()
CLI
openemail imports upload-state

DELETE/imports/{id}/upload

Delete the uploaded files

Разрешенияthreads:writeУдаляет

Removes the uploaded archive. Mail already imported stays in the mailbox. Refused with 409 while the import is queued or running.

Requires the threads:write scope.

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

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

Import id, imp_ followed by 24 hex characters.

Возвращает

200

The import, with uploadDeleted: true.

Ошибки

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

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

SDK
imports.deleteUpload()
CLI
openemail imports delete-upload

PUT/imports/{id}/files/{file}/chunks/{chunk}

Upload one part of a file

Разрешенияthreads:writeИзменяет данные

Stores bytes chunk * chunkBytes up to the next part of file file. Every part is exactly chunkBytes long except the last. Sending a part again replaces it, so a failed part can simply be retried.

Requires the threads:write scope.

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

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

Import id, imp_ followed by 24 hex characters.

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

The file index, in the order given to create.

Не меньше 0
chunkintegerОбязательно

The part index, from 0.

Не меньше 0

Тело запроса

Тип содержимогоapplication/octet-stream

binary

Возвращает

200

The part was stored.

Ошибки

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

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

SDK
imports.uploadChunk()
CLI
openemail imports upload-chunk

POST/imports/{id}/start

Start reading the uploaded files

Разрешенияthreads:writeИзменяет данные

Checks that every part of every file has arrived and queues the import. 412 missing_chunks names the files still incomplete.

Requires the threads:write scope.

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

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

Import id, imp_ followed by 24 hex characters.

Возвращает

200

The import, queued.

Ошибки

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

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

SDK
imports.start()
CLI
openemail imports start

POST/imports/{id}/cancel

Cancel a mailbox import

Разрешенияthreads:writeУдаляет

Stops the import at its next checkpoint. Mail already imported stays.

Requires the threads:write scope.

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

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

Import id, imp_ followed by 24 hex characters.

Возвращает

200

The import, cancelled.

Ошибки

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

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

SDK
imports.cancel()
CLI
openemail imports cancel
MCP
cancelImport

GET/imports/{id}/failures

What an import could not bring across

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

Each message or archive entry that did not come across, with the reason. Page with after, the nextCursor of the previous page.

Requires the threads:read scope.

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

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

Import id, imp_ followed by 24 hex characters.

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

afterinteger

The nextCursor of the previous page.

limitinteger

At most 100, the default.

Не меньше 1Не больше 100

Возвращает

200

Failures.

Ошибки

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

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

SDK
imports.listFailures()
CLI
openemail imports list-failures
MCP
listImportFailures

POST/provider-imports/inspect

Look inside a Resend account before importing

Разрешенияsettings:writeЧитает

Reads the first page of each resource with a full-access Resend key and returns what an import would bring. Nothing is stored and the key is not kept. A sending-only key is 400 restricted_key.

Requires the settings:write scope.

Тело запроса

apiKeystringОбязательно
От 8 до 200 символов

Возвращает

200

Counts per resource.

Ошибки

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

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

SDK
providerImports.inspect()
CLI
openemail provider-imports inspect

GET/provider-imports

List imports from sending providers

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

Every provider import in the workspace, newest first, one page at a time, each with its report. Follow nextCursor to reach the first one.

Requires the settings:read scope.

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

limitinteger

Rows per page, 1 to 100.

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

A provider import id. Keyset, not offset: pass the previous page's nextCursor. One that names nothing in this list is a 400 invalid_cursor.

Возвращает

200

A page of provider imports, newest first, with hasMore and nextCursor.

Ошибки

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

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

SDK
providerImports.list()providerImports.listAll()providerImports.iterate()
CLI
openemail provider-imports list
MCP
getProviderImportlistProviderImports

POST/provider-imports

Import from Resend

Разрешенияsettings:writeИзменяет данные

Starts an import from a Resend account: suppressions, segments as audiences, subscribed contacts, templates, and webhooks created switched off, plus a checklist of domains and API keys. The key is held encrypted only while the import runs and is erased when it ends. Running it twice duplicates nothing.

Requires the settings:write scope.

Тело запроса

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

A full-access Resend API key.

От 8 до 200 символов
resourcesstring[]Обязательно

Any of suppressions, audiences, contacts, templates, webhooks, domains and api-keys.

Хотя бы один элементОдно из"suppressions""audiences""contacts""templates""webhooks""domains""api-keys"

Возвращает

201

The import, queued.

Ошибки

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

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

SDK
providerImports.create()
CLI
openemail provider-imports create

GET/provider-imports/{id}

Get an import from a sending provider

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

Status, current step and the report so far.

Requires the settings:read scope.

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

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

Provider import id, pimp_ followed by 24 hex characters.

Возвращает

200

The provider import.

Ошибки

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

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

SDK
providerImports.get()
CLI
openemail provider-imports get
MCP
getProviderImportlistProviderImports

POST/provider-imports/{id}/cancel

Cancel an import from a sending provider

Разрешенияsettings:writeУдаляет

Stops it and erases the key. What already came across stays.

Requires the settings:write scope.

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

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

Provider import id, pimp_ followed by 24 hex characters.

Возвращает

200

The provider import, cancelled.

Ошибки

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

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

SDK
providerImports.cancel()
CLI
openemail provider-imports cancel
MCP
cancelProviderImport