---
title: "for invoking workflow RPC API in the worker"
method: POST
path: "/api/v1/workflowWorker/rpc"
---

# for invoking workflow RPC API in the worker

`POST /api/v1/workflowWorker/rpc`

## Request body

- WorkflowWorkerRpcRequest
  - `context` Context, required
    - `workflowId` string, required
    - `workflowRunId` string, required
    - `workflowStartedTimestamp` integer, required
    - `stateExecutionId` string
    - `firstAttemptTimestamp` integer
    - `attempt` integer
  - `workflowType` string, required
  - `rpcName` string, required
  - `input` EncodedObject
    - `extStoreId` string
    - `extPath` string
    - `encoding` string
    - `data` string
  - `searchAttributes` SearchAttribute[]
    - `key` string
    - `stringValue` string
    - `integerValue` integer
    - `doubleValue` number, double
    - `boolValue` boolean
    - `stringArrayValue` string[]
    - `valueType` 'KEYWORD' | 'TEXT' | 'DATETIME' | 'INT' | 'DOUBLE' | 'BOOL' | 'KEYWORD_ARRAY'
  - `dataAttributes` KeyValue[]
    - `key` string
    - `value` EncodedObject
      - `extStoreId` string
      - `extPath` string
      - `encoding` string
      - `data` string
  - `signalChannelInfos` object
  - `internalChannelInfos` object

## Response `200`

successful operation

- WorkflowWorkerRpcResponse
  - `output` EncodedObject
    - `extStoreId` string
    - `extPath` string
    - `encoding` string
    - `data` string
  - `stateDecision` StateDecision
    - `nextStates` StateMovement[]
      - `stateId` string, required
      - `stateInput` EncodedObject
        - `extStoreId` string
        - `extPath` string
        - `encoding` string
        - `data` string
      - `stateOptions` WorkflowStateOptions
        - `searchAttributesLoadingPolicy` PersistenceLoadingPolicy
          - `persistenceLoadingType` 'LOAD_ALL_WITHOUT_LOCKING' | 'LOAD_PARTIAL_WITHOUT_LOCKING' | 'LOAD_PARTIAL_WITH_EXCLUSIVE_LOCK' | 'LOAD_NONE' | 'LOAD_ALL_WITH_PARTIAL_LOCK'
          - `partialLoadingKeys` string[]
          - `lockingKeys` string[]
          - `useKeyAsPrefix` boolean
          - `lazyLoadingLargeDataAttributes` boolean
        - `waitUntilApiSearchAttributesLoadingPolicy` PersistenceLoadingPolicy
          - `persistenceLoadingType` 'LOAD_ALL_WITHOUT_LOCKING' | 'LOAD_PARTIAL_WITHOUT_LOCKING' | 'LOAD_PARTIAL_WITH_EXCLUSIVE_LOCK' | 'LOAD_NONE' | 'LOAD_ALL_WITH_PARTIAL_LOCK'
          - `partialLoadingKeys` string[]
          - `lockingKeys` string[]
          - `useKeyAsPrefix` boolean
          - `lazyLoadingLargeDataAttributes` boolean
        - `executeApiSearchAttributesLoadingPolicy` PersistenceLoadingPolicy
          - `persistenceLoadingType` 'LOAD_ALL_WITHOUT_LOCKING' | 'LOAD_PARTIAL_WITHOUT_LOCKING' | 'LOAD_PARTIAL_WITH_EXCLUSIVE_LOCK' | 'LOAD_NONE' | 'LOAD_ALL_WITH_PARTIAL_LOCK'
          - `partialLoadingKeys` string[]
          - `lockingKeys` string[]
          - `useKeyAsPrefix` boolean
          - `lazyLoadingLargeDataAttributes` boolean
        - `dataObjectsLoadingPolicy` PersistenceLoadingPolicy
          - `persistenceLoadingType` 'LOAD_ALL_WITHOUT_LOCKING' | 'LOAD_PARTIAL_WITHOUT_LOCKING' | 'LOAD_PARTIAL_WITH_EXCLUSIVE_LOCK' | 'LOAD_NONE' | 'LOAD_ALL_WITH_PARTIAL_LOCK'
          - `partialLoadingKeys` string[]
          - `lockingKeys` string[]
          - `useKeyAsPrefix` boolean
          - `lazyLoadingLargeDataAttributes` boolean
        - `startApiTimeoutSeconds` integer
        - `decideApiTimeoutSeconds` integer
        - `startApiRetryPolicy` RetryPolicy
          - `initialIntervalSeconds` integer
          - `backoffCoefficient` number, float
          - `maximumIntervalSeconds` integer
          - `maximumAttempts` integer
          - `maximumAttemptsDurationSeconds` integer
        - `decideApiRetryPolicy` RetryPolicy
          - `initialIntervalSeconds` integer
          - `backoffCoefficient` number, float
          - `maximumIntervalSeconds` integer
          - `maximumAttempts` integer
          - `maximumAttemptsDurationSeconds` integer
        - `startApiFailurePolicy` 'FAIL_WORKFLOW_ON_START_API_FAILURE' | 'PROCEED_TO_DECIDE_ON_START_API_FAILURE'
        - `executeApiFailurePolicy` 'FAIL_WORKFLOW_ON_EXECUTE_API_FAILURE' | 'PROCEED_TO_CONFIGURED_STATE'
        - `executeApiFailureProceedStateId` string
        - `executeApiFailureProceedStateOptions` WorkflowStateOptions — recursive
        - `skipStartApi` boolean
        - `waitUntilApiTimeoutSeconds` integer
        - `executeApiTimeoutSeconds` integer
        - `waitUntilApiRetryPolicy` RetryPolicy
          - `initialIntervalSeconds` integer
          - `backoffCoefficient` number, float
          - `maximumIntervalSeconds` integer
          - `maximumAttempts` integer
          - `maximumAttemptsDurationSeconds` integer
        - `executeApiRetryPolicy` RetryPolicy
          - `initialIntervalSeconds` integer
          - `backoffCoefficient` number, float
          - `maximumIntervalSeconds` integer
          - `maximumAttempts` integer
          - `maximumAttemptsDurationSeconds` integer
        - `waitUntilApiFailurePolicy` 'FAIL_WORKFLOW_ON_FAILURE' | 'PROCEED_ON_FAILURE'
        - `skipWaitUntil` boolean
        - `dataAttributesLoadingPolicy` PersistenceLoadingPolicy
          - `persistenceLoadingType` 'LOAD_ALL_WITHOUT_LOCKING' | 'LOAD_PARTIAL_WITHOUT_LOCKING' | 'LOAD_PARTIAL_WITH_EXCLUSIVE_LOCK' | 'LOAD_NONE' | 'LOAD_ALL_WITH_PARTIAL_LOCK'
          - `partialLoadingKeys` string[]
          - `lockingKeys` string[]
          - `useKeyAsPrefix` boolean
          - `lazyLoadingLargeDataAttributes` boolean
        - `waitUntilApiDataAttributesLoadingPolicy` PersistenceLoadingPolicy
          - `persistenceLoadingType` 'LOAD_ALL_WITHOUT_LOCKING' | 'LOAD_PARTIAL_WITHOUT_LOCKING' | 'LOAD_PARTIAL_WITH_EXCLUSIVE_LOCK' | 'LOAD_NONE' | 'LOAD_ALL_WITH_PARTIAL_LOCK'
          - `partialLoadingKeys` string[]
          - `lockingKeys` string[]
          - `useKeyAsPrefix` boolean
          - `lazyLoadingLargeDataAttributes` boolean
        - `executeApiDataAttributesLoadingPolicy` PersistenceLoadingPolicy
          - `persistenceLoadingType` 'LOAD_ALL_WITHOUT_LOCKING' | 'LOAD_PARTIAL_WITHOUT_LOCKING' | 'LOAD_PARTIAL_WITH_EXCLUSIVE_LOCK' | 'LOAD_NONE' | 'LOAD_ALL_WITH_PARTIAL_LOCK'
          - `partialLoadingKeys` string[]
          - `lockingKeys` string[]
          - `useKeyAsPrefix` boolean
          - `lazyLoadingLargeDataAttributes` boolean
      - `waitForKey` string
    - `conditionalClose` WorkflowConditionalClose
      - `conditionalCloseType` 'FORCE_COMPLETE_ON_INTERNAL_CHANNEL_EMPTY' | 'FORCE_COMPLETE_ON_SIGNAL_CHANNEL_EMPTY' | 'GRACEFUL_COMPLETE_ON_ALL_CHANNELS_EMPTY'
      - `channelName` string
      - `closeInput` EncodedObject
        - `extStoreId` string
        - `extPath` string
        - `encoding` string
        - `data` string
  - `upsertSearchAttributes` SearchAttribute[]
    - `key` string
    - `stringValue` string
    - `integerValue` integer
    - `doubleValue` number, double
    - `boolValue` boolean
    - `stringArrayValue` string[]
    - `valueType` 'KEYWORD' | 'TEXT' | 'DATETIME' | 'INT' | 'DOUBLE' | 'BOOL' | 'KEYWORD_ARRAY'
  - `upsertDataAttributes` KeyValue[]
    - `key` string
    - `value` EncodedObject
      - `extStoreId` string
      - `extPath` string
      - `encoding` string
      - `data` string
  - `recordEvents` KeyValue[]
    - `key` string
    - `value` EncodedObject
      - `extStoreId` string
      - `extPath` string
      - `encoding` string
      - `data` string
  - `upsertStateLocals` KeyValue[]
    - `key` string
    - `value` EncodedObject
      - `extStoreId` string
      - `extPath` string
      - `encoding` string
      - `data` string
  - `publishToInterStateChannel` InterStateChannelPublishing[]
    - `channelName` string, required
    - `value` EncodedObject
      - `extStoreId` string
      - `extPath` string
      - `encoding` string
      - `data` string

## Other responses

- `400` — Invalid input

---

[API](https://skmtc.net/indeedeng/apis/workflow-apis.md) · [All operations](https://skmtc.net/indeedeng/apis/workflow-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/indeedeng/workflow-apis/versions/fe9c7606824c/schema)
