The following samples show common ways to run geai migrate clone-project, from full Project cloning to selective migrations by resource type or ID.
- Basic Usage
- Advanced Usage
- Common Use Cases
These samples cover the most common migration patterns.
- Migrate everything
- Migrate to a different instance
- Selective migration
- Migrate specific resource types
- Migrate specific resources by ID
- Mixed migration strategies
The simplest and most common use case is to migrate an entire Project with all its resources:
geai migrate clone-project \
--from-api-key "source_api_key_123" \
--from-project-id "1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p" \
--from-instance "https://api.source.example.ai" \
--to-project-name "Cloned Project" \
--admin-email "admin@example.com" \
--all
This command performs the following actions:
- Create a new Project named Cloned Project.
- Discover all resources in the source Project.
- Migrate all Agents, Tools, Agentic Processes, Tasks, Usage limits, RAG Assistants, Files, and Secrets.
- Display progress and results.
To migrate between different Globant Enterprise AI environments, provide the destination URL and credentials:
geai migrate clone-project \
--from-api-key "source_api_key_123" \
--from-project-id "source-project-id" \
--from-instance "https://api.dev.example.ai" \
--to-api-key "destination_api_key_456" \
--to-project-name "Production Project" \
--to-instance "https://api.prod.example.ai" \
--to-organization-id "prod-org-id" \
--admin-email "prod-admin@example.com" \
--all
These samples show how to migrate only specific resources instead of cloning the entire Project.
- Migrate Specific Resource Types
- Migrate Specific Resources by ID
- Mixed Migration Strategies
Instead of migrating everything, you can selectively migrate specific resource types:
geai migrate clone-project \
--from-api-key "source_api_key_123" \
--from-project-id "source-project-id" \
--from-instance "https://api.example.ai" \
--to-project-name "Agents Only" \
--admin-email "admin@example.com" \
--agents all
geai migrate clone-project \
--from-api-key "source_api_key_123" \
--from-project-id "source-project-id" \
--from-instance "https://api.example.ai" \
--to-project-name "Tools Only" \
--admin-email "admin@example.com" \
--tools all
geai migrate clone-project \
--from-api-key "source_api_key_123" \
--from-project-id "source-project-id" \
--from-instance "https://api.example.ai" \
--to-project-name "RAG Assistants Only" \
--admin-email "admin@example.com" \
--rag-assistants all
geai migrate clone-project \
--from-api-key "source_api_key_123" \
--from-project-id "source-project-id" \
--from-instance "https://api.example.ai" \
--to-project-name "Secrets Only" \
--admin-email "admin@example.com" \
--secrets all
For fine-grained control, specify comma-separated resource IDs:
geai migrate clone-project \
--from-api-key "source_api_key_123" \
--from-project-id "source-project-id" \
--from-instance "https://api.example.ai" \
--to-project-name "Selected Agents" \
--admin-email "admin@example.com" \
--agents "agent-id-1,agent-id-2,agent-id-3"
geai migrate clone-project \
--from-api-key "source_api_key_123" \
--from-project-id "source-project-id" \
--from-instance "https://api.example.ai" \
--to-project-name "Selected Tools" \
--admin-email "admin@example.com" \
--tools "tool-id-1,tool-id-2"
Combine different migration strategies for maximum flexibility:
geai migrate clone-project \
--from-api-key "source_api_key_123" \
--from-project-id "source-project-id" \
--from-instance "https://api.example.ai" \
--to-project-name "Mixed Migration" \
--admin-email "admin@example.com" \
--agents all \
--tools "tool-id-1,tool-id-2" \
--rag-assistants all \
--files all
This command migrates:
- ALL Agents (auto-discovered)
- SPECIFIC Tools (by ID)
- ALL RAG Assistants (auto-discovered)
- ALL Files (auto-discovered)
These samples cover migrations that require additional context or configuration.
- Migrate with Organization Context
- Migrate all The Lab Resources
When migrating between Organizations, specify Organization IDs:
geai migrate clone-project \
--from-api-key "source_api_key_123" \
--from-project-id "source-project-id" \
--from-organization-id "source-org-id" \
--from-instance "https://api.example.ai" \
--to-api-key "destination_api_key_456" \
--to-project-name "Cross-Org Project" \
--to-organization-id "destination-org-id" \
--to-instance "https://api.example.ai" \
--admin-email "admin@example.com" \
--all
To migrate all AI Lab-related resources (Agents, Tools, Agentic Processes, Tasks):
geai migrate clone-project \
--from-api-key "source_api_key_123" \
--from-project-id "source-project-id" \
--from-instance "https://api.example.ai" \
--to-project-name "AI Lab Resources" \
--admin-email "admin@example.com" \
--agents all \
--tools all \
--agentic-processes all \
--tasks all
These samples focus on end-to-end scenarios that you can reuse as templates.
- Development to production promotion (new Project)
- Project backup (new Project)
- Migrate resources to an existing Project
geai migrate clone-project \
--from-api-key "dev_project_api_key" \
--from-org-key "dev_org_api_key" \
--from-project-id "dev-project-id" \
--from-instance "https://api.dev.example.ai" \
--to-api-key "prod_project_api_key" \
--to-org-key "prod_org_api_key" \
--to-project-name "Production Release v1.0" \
--to-instance "https://api.prod.example.ai" \
--admin-email "prod-admin@example.com" \
--all
geai migrate clone-project \
--from-api-key "project_api_key" \
--from-org-key "org_api_key" \
--from-project-id "main-project-id" \
--from-instance "https://api.example.ai" \
--to-org-key "org_api_key" \
--to-project-name "Main Project Backup $(date +%Y-%m-%d)" \
--admin-email "admin@example.com" \
--all
When migrating to an existing Project, you must provide both --to-project-id and --to-api-key:
geai migrate clone-project \
--from-api-key "source_project_api_key" \
--from-project-id "source-project-id" \
--from-instance "https://api.example.ai" \
--to-project-id "existing-project-id" \
--to-api-key "target_project_api_key" \
--agents all \
--tools all
This example migrates all Agents and Tools to an existing Project without requiring Organization scope API keys.
Since version 2026-01.