Asynchronously activate a specific deployment version, including when the workflow is not currently deployed. The draft remains unchanged. Read Get Workflow Deployment for isDeployed and latestDeploymentAttempt. Workspace API keys return 403; use a personal API key or scoped OAuth token.
OAuth scope: api:write.
/api/v2/workflows/{workflowId}/versions/{version}/activateYour Sim API key, personal or workspace-scoped. Generate one under Settings, then API Keys. Operations that reject workspace keys say so in their own description.
In: header
Path Parameters
Numeric deployment version.
0 < value <= 2147483647Unique workflow identifier.
1 <= lengthRequest Body
application/json
No body. The version to promote is named by the request path.
TypeScript Definitions
Use the request body type in TypeScript.
No body. The version to promote is named by the request path.
{}Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://www.sim.ai/api/v2/workflows/string/versions/3/activate" \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{}'{
"data": {
"id": "3b1f7c92-8d4e-4a6b-9c0d-5e2f8a714b36",
"isDeployed": false,
"deployedAt": null,
"warnings": [],
"activeDeployment": null,
"latestDeploymentAttempt": {
"id": "depop_01J8ZK4RX5N7Y3S0U8D6E1W2",
"deploymentVersionId": "depver_01J8ZK4RX5N7Y3S0U8D6E1W3",
"version": 3,
"action": "activate",
"status": "activating",
"isCurrent": true,
"readiness": {
"webhooks": "ready",
"schedules": "ready",
"mcp": "not_applicable"
},
"requestedAt": "2026-06-12T10:30:00.000Z",
"activatedAt": null,
"error": null
},
"version": 3
}
}{
"error": {
"code": "BAD_REQUEST",
"message": "Invalid request"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication required"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient workspace permissions",
"details": {
"code": "INSUFFICIENT_WORKSPACE_ROLE"
}
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Not found"
}
}{
"error": {
"code": "CONFLICT",
"message": "Webhook path already in use"
}
}{
"error": {
"code": "PAYLOAD_TOO_LARGE",
"message": "Request body is too large"
}
}{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Request body must be sent as application/json"
}
}{
"error": {
"code": "LOCKED",
"message": "Workflow is locked"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "API rate limit exceeded",
"details": {
"retryAfter": "2026-01-01T00:00:30.000Z"
}
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "Service temporarily unavailable"
}
}