Skip to content

Profile Import/Export

Export browser profiles to zip files and import them on other machines.

Base URL: https://launcher.mlx.yt:45001

Default Directories

Exported profiles are saved to:

OSDefault Path
WindowsC:\Users\%username%\mlx\exports
macOS/Users/%username%/mlx/exports
Linux/home/%username%/mlx/exports

To change the default directory, edit launcher.yaml:

OSConfig Path
WindowsC:\Users\%username%\mlx\configs\launcher.yaml
macOS/Users/%username%/mlx/configs/launcher.yaml
Linux/home/%username%/mlx/configs/launcher.yaml

Add this line to override:

yaml
ExportDirectory: "/Users/username/mlx/new_dir_for_exports"

Export Profile

POST /api/v1/profile/:profile_id/export

Start an export operation for a profile. Returns an export_id to track progress.

bash
curl -X POST "https://launcher.mlx.yt:45001/api/v1/profile/PROFILE_UUID/export" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json"

Response:

json
{
  "data": {
    "export_id": "4c5e6865-8cc9-4726-83c5-04bd0ca4abff",
    "export_path": "C:\\Users\\username\\mlx\\exports\\4c5e6865-...abff.zip",
    "message": "",
    "profile_id": "cb9b47d8-5549-4f67-8de1-f4c1062070ee",
    "status": "running",
    "timestamp": 1737527400029
  },
  "status": {"error_code": "", "http_code": 200, "message": "Export in progress"}
}

Export Status by ID

GET /api/v1/profile/exports/:export_id/status

Check the status of a specific export operation.

bash
curl "https://launcher.mlx.yt:45001/api/v1/profile/exports/EXPORT_UUID/status" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response (completed):

json
{
  "data": {
    "export_id": "4c5e6865-...",
    "export_path": "C:\\Users\\username\\mlx\\exports\\4c5e6865-...abff",
    "message": "",
    "profile_id": "cb9b47d8-...",
    "status": "done",
    "timestamp": 1737527400051
  },
  "status": {"error_code": "", "http_code": 200, "message": ""}
}

Export Status All

GET /api/v1/profile/exports/statuses

Get the status of all export operations.

bash
curl "https://launcher.mlx.yt:45001/api/v1/profile/exports/statuses" \
  -H "Authorization: Bearer YOUR_TOKEN"

Import Profile

POST /api/v1/profile/import

Import a profile from a zip file. Specify whether the imported profile should be local or cloud.

ParameterTypeRequiredDescription
import_pathstringYesPath to the zip file
is_localbooleanYestrue for local profile, false for cloud
bash
curl -X POST "https://launcher.mlx.yt:45001/api/v1/profile/import" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "import_path": "C:\\Users\\username\\mlx\\exports\\64bef708-...c2.zip",
    "is_local": true
  }'

Response:

json
{
  "data": {
    "export_id": "64bef708-...",
    "import_id": "e85c67a7-...",
    "import_path": "C:\\Users\\username\\mlx\\exports\\64bef708-...c2.zip",
    "message": "",
    "status": "running",
    "timestamp": 1737527403891
  },
  "status": {"error_code": "", "http_code": 200, "message": "Import in progress"}
}

Import Status by ID

GET /api/v1/profile/imports/:import_id/status

Check import progress. The response includes the new_profile_id once complete.

bash
curl "https://launcher.mlx.yt:45001/api/v1/profile/imports/IMPORT_UUID/status" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response (completed):

json
{
  "data": {
    "export_id": "e3745e38-...",
    "import_id": "76316840-...",
    "import_path": "C:\\Users\\username\\mlx\\exports\\e3745e38-...f.zip",
    "new_profile_id": "473d3c01-2dac-434e-b2e7-91fc9186ef29",
    "status": "done",
    "timestamp": 1737527785107
  },
  "status": {"error_code": "", "http_code": 200, "message": ""}
}

Import Status All

GET /api/v1/profile/imports/statuses

Get the status of all import operations.


Import/Export Workflow