Activate Workflow Version

Promote an existing deployment version to live. Activation is asynchronous; inspect isDeployed and latestDeploymentAttempt for current state. Unlike rollback, the target is named by the path and the workflow need not already be deployed. A workspace API key is rejected with 403; use a personal API key.

POST/api/v2/workflows/{workflowId}/versions/{version}/activate
X-API-Key<token>

Your 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

version*integer

Numeric deployment version.

Range0 < value <= 2147483647
workflowId*string

Unique workflow identifier.

Length1 <= length

Request 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.

Default{}

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": "API key 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"
  }
}