Sign Up

Migration

GET
/migration/v0/sandboxes

Authorization

headerAuthorizationBearer <token>

Bearer project API key.

Scope: read:sandboxes

Query Parameters

limit?integer

Maximum number of items to return, 1–200 (default 100)

Formatint64
Range1 <= value <= 200
Default100
cursor?string

Opaque continuation token returned as next_cursor by a previous request

Response Body

The page of Daytona v0 sandboxes

application/json
  1. response

GET /migration/v0/sandboxes response: one page.

next_cursor?|

Opaque token for the next page — pass it as ?cursor=; null on the last page. A page can be shorter than limit without being the last: only a null ends the walk.

sandboxes*array<>

The Daytona v0 sandboxes in this page.

curl -X GET 'https://example.com/migration/v0/sandboxes'
{  "next_cursor": "string",  "sandboxes": [    {      "class": "string",      "cpu": 0,      "disk_gib": 0,      "importable": true,      "imported_sandbox_id": "string",      "labels": {        "property1": "string",        "property2": "string"      },      "last_backup_at": "2019-08-24T14:15:22Z",      "memory_gib": 0,      "name": "string",      "reason": "string",      "status": "string",      "v0_id": "string",      "v1_id": "string"    }  ]}
POST
/migration/v0/sandboxes/{v0_id}/import

Authorization

headerAuthorizationBearer <token>

Bearer project API key.

Scope: write:sandboxes

Path Parameters

v0_id*string

The sandbox ID on Daytona v0

Request Body

Optional import settings; an empty body uses the defaults

application/json
  1. body

Response Body

The Daytona v0 sandbox import

application/json
  1. response

The result of importing a Daytona v0 sandbox.

existing*boolean

True when this call returned an earlier import instead of creating a sandbox.

image_id*string

The image it boots from (img_…): an anonymous format-version-1 image registered from the Daytona v0 backup; the import starts its conversion to the current format and the sandbox's create joins it.

sandbox_id*string

The persistent sandbox ID.

secret_env_vars*array<string>

Env variable names whose value on Daytona v0 is a sandbox secret. Daytona v0 never hands the value over, so the imported sandbox starts without them: set them on it. Empty when the call returned an existing import.

status*string

The sandbox's status. A fresh import is queued while its image is imported from the Daytona v0 backup registry.

v0_labeled*boolean

Whether Daytona v0 confirmed the daytona.io/migrated-to label on the original sandbox. False means the label could not be set now; the import itself succeeded, and repeating the call retries the label.

v1_labeled*booleanDeprecated

Deprecated: use v0_labeled, which carries the same value.

warnings*array<string>

Settings and values that could not be imported.

curl -X POST 'https://example.com/migration/v0/sandboxes/string/import'
{  "existing": true,  "image_id": "string",  "sandbox_id": "string",  "secret_env_vars": [    "string"  ],  "status": "string",  "v0_labeled": true,  "v1_labeled": true,  "warnings": [    "string"  ]}
GET
/migration/v0/summary

Authorization

headerAuthorizationBearer <token>

Bearer project API key.

Scope: read:sandboxes

Response Body

The Daytona v0 migration summary; counts include only migrated resources available through this endpoint

application/json
  1. response

Response of GET /migration/v0/summary.

api_keys*integer

Live API keys of the organization's default project. Keys synced from Daytona v0 work on both platforms unchanged.

Formatint64
from_v0*boolean

The organization was imported from Daytona v0 (it carries the Daytona v0 organization id it came from). Personal organizations included.

from_v1*booleanDeprecated

Deprecated: use from_v0, which carries the same value.

images_converted*integer

Named images registered from Daytona v0 snapshots that are at the current image format.

Formatint64
images_to_convert*integer

Named images registered from Daytona v0 snapshots that are still below the current image format (format_outdated): not converted yet, converting, or a failed conversion (retried on the next use). Each converts on its first Linux sandbox create, or ahead of time with POST /images/{id}/convert.

Formatint64
personal*boolean

The organization is a personal organization.

registries*integer

Container registries of the default project.

Formatint64
sandboxes_imported*integer

Archived Daytona v0 sandboxes imported into the default project.

Formatint64
curl -X GET 'https://example.com/migration/v0/summary'
{  "api_keys": 0,  "from_v0": true,  "from_v1": true,  "images_converted": 0,  "images_to_convert": 0,  "personal": true,  "registries": 0,  "sandboxes_imported": 0}