Skip to main content

Getting Started with Cloud Platform

CLOUD

Get started with the msh Cloud Platform in minutes.

Step 1: Create Cloud Account

  1. Sign up at https://app.msh.io
  2. Verify your email address
  3. Create your first project

Step 2: Generate API Token

  1. Navigate to Account → API Tokens
  2. Click "Create New Token"
  3. Copy the token (shown only once)
  4. Store securely (use environment variables)
export MSH_API_TOKEN="your-token-here"
export MSH_PROJECT_ID=1

Step 3: Upload Metadata

Upload your project metadata to the cloud:

# Generate context pack from your msh project
msh ai context --json > context.json

# Upload to cloud
curl -X POST \
-H "Authorization: Bearer $MSH_API_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"context_pack\": $(cat context.json), \"source\": \"cli\"}" \
https://api.msh.io/api/msh/metadata/projects/$MSH_PROJECT_ID/upload

Response:

{
"success": true,
"assets_synced": 15,
"lineage_edges_synced": 23,
"schemas_synced": 15,
"tests_synced": 8
}

Step 4: Create Glossary Terms

Create business terms in the cloud glossary:

# Create a term
curl -X POST \
-H "Authorization: Bearer $MSH_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"project": '$MSH_PROJECT_ID',
"name": "Customer",
"id": "term.customer",
"description": "A customer entity"
}' \
https://api.msh.io/api/msh/glossary/terms/

# Link term to asset
curl -X POST \
-H "Authorization: Bearer $MSH_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"term": 1,
"asset": 5,
"column": "customer_id",
"role": "primary_key"
}' \
https://api.msh.io/api/msh/glossary/links/

Step 5: Use Cloud Features

Now you can use Cloud Platform features:

curl -X POST \
-H "Authorization: Bearer $MSH_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"query": "Where is customer revenue calculated?",
"project_id": '$MSH_PROJECT_ID',
"entity_types": ["asset", "metric"]
}' \
https://api.msh.io/api/msh/ai/semantic-search

Query Console

curl -X POST \
-H "Authorization: Bearer $MSH_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"query": "Show revenue by region for the last 3 months",
"project_id": '$MSH_PROJECT_ID',
"warehouse_connection_id": 1
}' \
https://api.msh.io/api/msh/ai/query

AI Agent

curl -X POST \
-H "Authorization: Bearer $MSH_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"project_id": '$MSH_PROJECT_ID',
"user_id": 1,
"message": "How do I calculate customer lifetime value?"
}' \
https://api.msh.io/api/msh/ai/agent

Next Steps