---
title: "Start a new workflow with StartWorkflowRequest, which allows task to be executed in a domain"
method: POST
path: "/api/workflow"
tags: ["workflow-resource"]
---

# Start a new workflow with StartWorkflowRequest, which allows task to be executed in a domain

`POST /api/workflow`

## Query parameters

- `consistency` 'SYNCHRONOUS' | 'DURABLE' | 'REGION_DURABLE'

## Request body

- StartWorkflowRequest
  - `correlationId` string
  - `createdBy` string
  - `externalInputPayloadStoragePath` string
  - `idempotencyKey` string
  - `idempotencyStrategy` 'FAIL' | 'RETURN_EXISTING' | 'FAIL_ON_RUNNING'
  - `input` object
  - `name` string, required
  - `priority` integer
  - `taskToDomain` object
  - `version` integer
  - `workflowDef` WorkflowDef
    - `cacheConfig` CacheConfig
      - `key` string
      - `ttlInSecond` integer
    - `createTime` integer
    - `createdBy` string
    - `description` string
    - `enforceSchema` boolean
    - `failureWorkflow` string
    - `failureWorkflowVersion` integer
    - `inputParameters` string[]
    - `inputSchema` SchemaDef
      - `createTime` integer
      - `createdBy` string
      - `data` object
      - `externalRef` string
      - `name` string, required
      - `ownerApp` string
      - `type` 'JSON' | 'AVRO' | 'PROTOBUF', required
      - `updateTime` integer
      - `updatedBy` string
      - `version` integer, required
    - `inputTemplate` object
    - `maskedFields` string[]
    - `metadata` object
    - `name` string, required
    - `outputParameters` object
    - `outputSchema` SchemaDef
      - `createTime` integer
      - `createdBy` string
      - `data` object
      - `externalRef` string
      - `name` string, required
      - `ownerApp` string
      - `type` 'JSON' | 'AVRO' | 'PROTOBUF', required
      - `updateTime` integer
      - `updatedBy` string
      - `version` integer, required
    - `ownerApp` string
    - `ownerEmail` string
    - `rateLimitConfig` RateLimitConfig
      - `concurrentExecLimit` integer
      - `policy` 'QUEUE' | 'REJECT'
      - `rateLimitKey` string
    - `restartable` boolean
    - `schemaVersion` integer
    - `tasks` WorkflowTask[], required
      - `asyncComplete` boolean
      - `cacheConfig` CacheConfig
        - `key` string
        - `ttlInSecond` integer
      - `caseExpression` string
      - `caseValueParam` string
      - `decisionCases` object
      - `defaultCase` WorkflowTask[]
      - `defaultExclusiveJoinTask` string[]
      - `description` string
      - `dynamicForkJoinTasksParam` string
      - `dynamicForkTasksInputParamName` string
      - `dynamicForkTasksParam` string
      - `dynamicTaskNameParam` string
      - `evaluatorType` string
      - `expression` string
      - `forkTasks` array[]
        - WorkflowTask[]
      - `inputParameters` object
      - `items` string
      - `joinMode` 'SYNC' | 'ASYNC'
      - `joinOn` string[]
      - `joinStatus` string
      - `loopCondition` string
      - `loopOver` WorkflowTask[]
      - `metadata` object
      - `name` string, required
      - `onStateChange` object
      - `optional` boolean
      - `permissive` boolean
      - `rateLimited` boolean
      - `retryCount` integer
      - `scriptExpression` string
      - `sink` string
      - `startDelay` integer
      - `subWorkflowParam` SubWorkflowParams
        - `idempotencyKey` string
        - `idempotencyStrategy` 'FAIL' | 'RETURN_EXISTING' | 'FAIL_ON_RUNNING'
        - `name` string
        - `priority` object
        - `taskToDomain` object
        - `version` integer
        - `workflowDefinition` object
      - `taskDefinition` TaskDef
        - `backoffJitterMs` integer
        - `backoffScaleFactor` integer
        - `baseType` string
        - `concurrentExecLimit` integer
        - `createTime` integer
        - `createdBy` string
        - `description` string
        - `enforceSchema` boolean
        - `executionNameSpace` string
        - `inputKeys` string[]
        - `inputSchema` SchemaDef
          - `createTime` integer
          - `createdBy` string
          - `data` object
          - `externalRef` string
          - `name` string, required
          - `ownerApp` string
          - `type` 'JSON' | 'AVRO' | 'PROTOBUF', required
          - `updateTime` integer
          - `updatedBy` string
          - `version` integer, required
        - `inputTemplate` object
        - `isolationGroupId` string
        - `maxRetryDelaySeconds` integer
        - `name` string, required
        - `outputKeys` string[]
        - `outputSchema` SchemaDef
          - `createTime` integer
          - `createdBy` string
          - `data` object
          - `externalRef` string
          - `name` string, required
          - `ownerApp` string
          - `type` 'JSON' | 'AVRO' | 'PROTOBUF', required
          - `updateTime` integer
          - `updatedBy` string
          - `version` integer, required
        - `ownerApp` string
        - `ownerEmail` string
        - `pollTimeoutSeconds` integer
        - `rateLimitFrequencyInSeconds` integer
        - `rateLimitPerFrequency` integer
        - `responseTimeoutSeconds` integer
        - `retryCount` integer
        - `retryDelaySeconds` integer
        - `retryLogic` 'FIXED' | 'EXPONENTIAL_BACKOFF' | 'LINEAR_BACKOFF'
        - `runtimeMetadata` string[]
        - `taskStatusListenerEnabled` boolean
        - `timeoutPolicy` 'RETRY' | 'TIME_OUT_WF' | 'ALERT_ONLY'
        - `timeoutSeconds` integer, required
        - `totalTimeoutSeconds` integer
        - `updateTime` integer
        - `updatedBy` string
      - `taskReferenceName` string, required
      - `type` string
      - `workflowTaskType` 'SIMPLE' | 'DYNAMIC' | 'FORK_JOIN' | 'FORK_JOIN_DYNAMIC' | 'DECISION' | 'SWITCH' | 'JOIN' | 'DO_WHILE' | 'SUB_WORKFLOW' | 'START_WORKFLOW' | 'EVENT' | 'WAIT' | 'HUMAN' | 'USER_DEFINED' | 'HTTP' | 'LAMBDA' | 'INLINE' | 'EXCLUSIVE_JOIN' | 'TERMINATE' | 'KAFKA_PUBLISH' | 'JSON_JQ_TRANSFORM' | 'SET_VARIABLE' | 'NOOP' | 'LLM_TEXT_COMPLETE' | 'LLM_CHAT_COMPLETE' | 'LLM_INDEX_TEXT' | 'LLM_SEARCH_INDEX' | 'LLM_GENERATE_EMBEDDINGS' | 'LLM_STORE_EMBEDDINGS' | 'LLM_GET_EMBEDDINGS' | 'LIST_MCP_TOOLS' | 'CALL_MCP_TOOL' | 'PULL_WORKFLOW_MESSAGES' | 'AGENT' | 'GET_AGENT_CARD' | 'CANCEL_AGENT'
    - `timeoutPolicy` 'TIME_OUT_WF' | 'ALERT_ONLY'
    - `timeoutSeconds` integer, required
    - `updateTime` integer
    - `updatedBy` string
    - `variables` object
    - `version` integer
    - `workflowStatusListenerEnabled` boolean
    - `workflowStatusListenerSink` string

## Response `200`

OK

---

[API](https://skmtc.dev/orkescloud/apis/orkes-conductor-api-server.md) · [All operations](https://skmtc.dev/orkescloud/apis/orkes-conductor-api-server/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/orkescloud/orkes-conductor-api-server/revisions/6ebf0c14ac41/schema)
