Skip to main content
POST
/
v1
/
namespaces
/
migrations
Create Migration
curl --request POST \
  --url https://api.mixpeek.com/v1/namespaces/migrations/ \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "config": {
    "feature_extractors": [
      {
        "feature_extractor_name": "openai_text_embedding",
        "parameters": {
          "model": "text-embedding-3-large"
        },
        "version": "v3"
      }
    ],
    "migration_type": "re_extract",
    "source_namespace_id": "ns_abc123",
    "target_namespace_name": "my_namespace_v2"
  },
  "start_immediately": false
}
'
{
  "created_at": "2025-12-03T10:00:00Z",
  "message": "Migration created successfully. Use POST /migrations/{id}/start to begin execution.",
  "migration_id": "mig_abc123xyz789",
  "status": "draft",
  "validation_result": {
    "errors": [],
    "estimated_duration_seconds": 1800,
    "estimated_resources": {
      "cluster": 1,
      "collection": 5,
      "taxonomy": 2
    },
    "valid": true,
    "warnings": []
  }
}

Headers

Authorization
string
required

REQUIRED: Bearer token authentication using your API key. Format: 'Bearer sk_xxxxxxxxxxxxx'. You can create API keys in the Mixpeek dashboard under Organization Settings.

Body

application/json

Request to create a new migration.

config
MigrationConfig · object
required

Migration configuration

start_immediately
boolean
default:false

Start execution immediately after validation

Response

Successful Response

Response after creating a migration.

migration_id
string
required

Created migration ID

status
enum<string>
required

Current status

Available options:
draft,
validating,
pending,
in_progress,
completed,
failed,
cancelled
created_at
string<date-time>
required

Creation timestamp

message
string
required

Human-readable message

validation_result
ValidationResult · object

Validation result if available