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": []
}
}Create a new namespace migration.
This endpoint creates a migration and optionally validates it. Use start_immediately=True to begin execution immediately.
Args: request: FastAPI request create_request: Migration configuration
Returns: CreateMigrationResponse with migration ID and status
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": []
}
}REQUIRED: Bearer token authentication using your API key. Format: 'Bearer sk_xxxxxxxxxxxxx'. You can create API keys in the Mixpeek dashboard under Organization Settings.
Request to create a new migration.
Migration configuration
Show child attributes
Type of migration to perform
re_extract, copy Source namespace ID
Target namespace ID (auto-generated if not provided)
Name for target namespace
Resource selection filters
Show child attributes
Specific collection IDs to migrate
Specific taxonomy IDs to migrate
Specific cluster IDs to migrate
Specific retriever IDs to migrate
Automatically include required dependencies
Batch processing options
Taxonomy migration options
Show child attributes
Keep same taxonomy IDs in target
Keep taxonomy* fields in documents
Re-run taxonomy enrichment after migration
Automatically migrate reference collections
Cluster migration options
Show child attributes
Keep same cluster IDs in target
Keep cluster_id in documents
Copy parquet artifacts from S3
Keep centroid collections
Recompute clusters instead of copying
Retriever migration options
Show child attributes
Keep same retriever IDs (avoid conflicts)
Migrate user interaction data
Migrate past execution history
Pre-flight check all references exist
Preserve original resource IDs in target
Validate only, don't execute
Webhook URL for status notifications
Start execution immediately after validation
Successful Response
Response after creating a migration.
Created migration ID
Current status
draft, validating, pending, in_progress, completed, failed, cancelled Creation timestamp
Human-readable message
Validation result if available
Show child attributes
Whether migration can proceed
Estimated migration duration
Was this page helpful?