import-export

Upload Import

Upload a file for import.

Supported source types:

  • journiv: Journiv export ZIP file
  • dayone: Day One JSON export ZIP file
  • daylio: Daylio backup (.daylio ZIP)
  • markdown: Markdown files export (coming soon)

File requirements:

  • Must be a ZIP archive
  • Maximum size: configured in IMPORT_EXPORT_MAX_FILE_SIZE_MB
  • For Journiv: Must contain data.json file
  • For Day One: Must contain Journal.json files and photos/ directory

The import will be processed asynchronously. Use the job ID to check status.

post/api/v1/import/upload

Request

  • The document declares no server URL.
  • Auth: OAuth 2 (password, token URL /api/v1/auth/token)

Cookies

access_tokenstring nullable

Response

Import job created and queued

idstring required

Job ID (UUID)

status'pending' | 'running' | 'completed' | 'partial' | 'failed' | 'cancelled' required

Status for import/export jobs.

progressinteger required

Progress percentage 0-100

total_itemsinteger required

Total number of items to process

processed_itemsinteger required

Number of items processed so far

created_atstring date-time required

When job was created (UTC)

completed_atstring date-time nullable

When job completed or failed (UTC)

result_dataobject nullable

Result statistics (JSON)

errorsstring[] nullable

Error messages (JSON array)

warningsstring[] nullable

Warning messages (JSON array)

source_type'journiv' | 'markdown' | 'dayone' | 'immich' | 'daylio' required

Source types for imports.

Changes

No recorded changes to this operation across all 9 revisions of this API.