# Generated with protoc-gen-openapi
# https://github.com/google/gnostic/tree/master/cmd/protoc-gen-openapi
openapi: 3.0.3
info:
title: ""
version: 0.0.1
paths:
/api/v1/cluster-info:
get:
tags:
- WorkflowService
description: GetClusterInfo returns information about temporal cluster
operationId: GetClusterInfo
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetClusterInfoResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces:
get:
tags:
- WorkflowService
description: ListNamespaces returns the information and configuration for all namespaces.
operationId: ListNamespaces
parameters:
- name: pageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
schema:
type: string
format: bytes
- name: namespaceFilter.includeDeleted
in: query
description: |-
By default namespaces in NAMESPACE_STATE_DELETED state are not included.
Setting include_deleted to true will include deleted namespaces.
Note: Namespace is in NAMESPACE_STATE_DELETED state when it was deleted from the system but associated data is not deleted yet.
schema:
type: boolean
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListNamespacesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- WorkflowService
description: |-
RegisterNamespace creates a new namespace which can be used as a container for all resources.
A Namespace is a top level entity within Temporal, and is used as a container for resources
like workflow executions, task queues, etc. A Namespace acts as a sandbox and provides
isolation for all resources within the namespace. All resources belongs to exactly one
namespace.
operationId: RegisterNamespace
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterNamespaceRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterNamespaceResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}:
get:
tags:
- WorkflowService
description: DescribeNamespace returns the information and configuration for a registered namespace.
operationId: DescribeNamespace
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: id
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeNamespaceResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activities:
get:
tags:
- WorkflowService
description: ListActivityExecutions is a visibility API to list activity executions in a specific namespace.
operationId: ListActivityExecutions
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: pageSize
in: query
description: Max number of executions to return per page.
schema:
type: integer
format: int32
- name: nextPageToken
in: query
description: Token returned in ListActivityExecutionsResponse.
schema:
type: string
format: bytes
- name: query
in: query
description: Visibility query, see https://docs.temporal.io/list-filter for the syntax.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListActivityExecutionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activities-deprecated/pause:
post:
tags:
- WorkflowService
description: |-
PauseActivity pauses the execution of an activity specified by its ID or type.
If there are multiple pending activities of the provided type - all of them will be paused
Pausing an activity means:
- If the activity is currently waiting for a retry or is running and subsequently fails,
it will not be rescheduled until it is unpaused.
- If the activity is already paused, calling this method will have no effect.
- If the activity is running and finishes successfully, the activity will be completed.
- If the activity is running and finishes with failure:
* if there is no retry left - the activity will be completed.
* if there are more retries left - the activity will be paused.
For long-running activities:
- activities in paused state will send a cancellation with "activity_paused" set to 'true' in response to 'RecordActivityTaskHeartbeat'.
- The activity should respond to the cancellation accordingly.
Returns a `NotFound` error if there is no pending activity with the provided ID or type
This API will be deprecated soon and replaced with a newer PauseActivityExecution that is better named and
structured to work well for standalone activities.
operationId: PauseActivity
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PauseActivityRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PauseActivityResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activities-deprecated/reset:
post:
tags:
- WorkflowService
description: |-
ResetActivity resets the execution of an activity specified by its ID or type.
If there are multiple pending activities of the provided type - all of them will be reset.
Resetting an activity means:
* number of attempts will be reset to 0.
* activity timeouts will be reset.
* if the activity is waiting for retry, and it is not paused or 'keep_paused' is not provided:
it will be scheduled immediately (* see 'jitter' flag),
Flags:
'jitter': the activity will be scheduled at a random time within the jitter duration.
If the activity currently paused it will be unpaused, unless 'keep_paused' flag is provided.
'reset_heartbeats': the activity heartbeat timer and heartbeats will be reset.
'keep_paused': if the activity is paused, it will remain paused.
Returns a `NotFound` error if there is no pending activity with the provided ID or type.
This API will be deprecated soon and replaced with a newer ResetActivityExecution that is better named and
structured to work well for standalone activities.
operationId: ResetActivity
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResetActivityRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResetActivityResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activities-deprecated/unpause:
post:
tags:
- WorkflowService
description: |-
UnpauseActivity unpauses the execution of an activity specified by its ID or type.
If there are multiple pending activities of the provided type - all of them will be unpaused.
If activity is not paused, this call will have no effect.
If the activity was paused while waiting for retry, it will be scheduled immediately (* see 'jitter' flag).
Once the activity is unpaused, all timeout timers will be regenerated.
Flags:
'jitter': the activity will be scheduled at a random time within the jitter duration.
'reset_attempts': the number of attempts will be reset.
'reset_heartbeat': the activity heartbeat timer and heartbeats will be reset.
Returns a `NotFound` error if there is no pending activity with the provided ID or type
This API will be deprecated soon and replaced with a newer UnpauseActivityExecution that is better named and
structured to work well for standalone activities.
operationId: UnpauseActivity
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UnpauseActivityRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UnpauseActivityResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activities-deprecated/update-options:
post:
tags:
- WorkflowService
description: |-
UpdateActivityOptions is called by the client to update the options of an activity by its ID or type.
If there are multiple pending activities of the provided type - all of them will be updated.
This API will be deprecated soon and replaced with a newer UpdateActivityExecutionOptions that is better named and
structured to work well for standalone activities.
operationId: UpdateActivityOptions
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateActivityOptionsRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateActivityOptionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activities/{activityId}:
get:
tags:
- WorkflowService
description: |-
DescribeActivityExecution returns information about an activity execution.
It can be used to:
- Get current activity info without waiting
- Long-poll for next state change and return new activity info
Response can optionally include activity input or outcome (if the activity has completed).
operationId: DescribeActivityExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: activityId
in: path
required: true
schema:
type: string
- name: runId
in: query
description: Activity run ID. If empty the request targets the latest run.
schema:
type: string
- name: includeInput
in: query
description: Include the input field in the response.
schema:
type: boolean
- name: includeOutcome
in: query
description: Include the outcome (result/failure) in the response if the activity has completed.
schema:
type: boolean
- name: longPollToken
in: query
description: |-
Token from a previous DescribeActivityExecutionResponse. If present, long-poll until activity
state changes from the state encoded in this token. If absent, return current state immediately.
If present, run_id must also be present.
Note that activity state may change multiple times between requests, therefore it is not
guaranteed that a client making a sequence of long-poll requests will see a complete
sequence of state changes.
schema:
type: string
format: bytes
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeActivityExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- WorkflowService
description: |-
StartActivityExecution starts a new activity execution.
Returns an `ActivityExecutionAlreadyStarted` error if an instance already exists with same activity ID in this namespace
unless permitted by the specified ID conflict policy.
operationId: StartActivityExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: activityId
in: path
description: |-
Identifier for this activity. Required. This identifier should be meaningful in the user's
own system. It must be unique among activities in the same namespace, subject to the rules
imposed by id_reuse_policy and id_conflict_policy.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StartActivityExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StartActivityExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activities/{activityId}/cancel:
post:
tags:
- WorkflowService
description: |-
RequestCancelActivityExecution requests cancellation of an activity execution.
Cancellation is cooperative: this call records the request, but the activity must detect and
acknowledge it for the activity to reach CANCELED status. The cancellation signal is
delivered via `cancel_requested` in the heartbeat response; SDKs surface this via
language-idiomatic mechanisms (context cancellation, exceptions, abort signals).
operationId: RequestCancelActivityExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: activityId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RequestCancelActivityExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RequestCancelActivityExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activities/{activityId}/complete:
post:
tags:
- WorkflowService
description: |-
See `RespondActivityTaskCompleted`. This version allows clients to record completions by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RespondActivityTaskCompletedById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity to complete
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCompletedByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCompletedByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activities/{activityId}/fail:
post:
tags:
- WorkflowService
description: |-
See `RecordActivityTaskFailed`. This version allows clients to record failures by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RespondActivityTaskFailedById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity to fail
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskFailedByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskFailedByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activities/{activityId}/heartbeat:
post:
tags:
- WorkflowService
description: |-
See `RecordActivityTaskHeartbeat`. This version allows clients to record heartbeats by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RecordActivityTaskHeartbeatById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity we're heartbeating
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RecordActivityTaskHeartbeatByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RecordActivityTaskHeartbeatByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activities/{activityId}/outcome:
get:
tags:
- WorkflowService
description: |-
PollActivityExecution long-polls for an activity execution to complete and returns the
outcome (result or failure).
operationId: PollActivityExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: activityId
in: path
required: true
schema:
type: string
- name: runId
in: query
description: Activity run ID. If empty the request targets the latest run.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PollActivityExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activities/{activityId}/resolve-as-canceled:
post:
tags:
- WorkflowService
description: |-
See `RespondActivityTaskCanceled`. This version allows clients to record failures by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RespondActivityTaskCanceledById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity to confirm is cancelled
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCanceledByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCanceledByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activities/{activityId}/terminate:
post:
tags:
- WorkflowService
description: |-
TerminateActivityExecution terminates an existing activity execution immediately.
Termination does not reach the worker and the activity code cannot react to it. A terminated activity may have a
running attempt.
operationId: TerminateActivityExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: activityId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateActivityExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateActivityExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activity-complete:
post:
tags:
- WorkflowService
description: |-
RespondActivityTaskCompleted is called by workers when they successfully complete an activity
task.
For workflow activities, this results in a new `ACTIVITY_TASK_COMPLETED` event being written to the workflow history
and a new workflow task created for the workflow. Fails with `NotFound` if the task token is
no longer valid due to activity timeout, already being completed, or never having existed.
operationId: RespondActivityTaskCompleted
parameters:
- name: namespace
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCompletedRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCompletedResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activity-count:
get:
tags:
- WorkflowService
description: CountActivityExecutions is a visibility API to count activity executions in a specific namespace.
operationId: CountActivityExecutions
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: query
in: query
description: Visibility query, see https://docs.temporal.io/list-filter for the syntax.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CountActivityExecutionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activity-fail:
post:
tags:
- WorkflowService
description: |-
RespondActivityTaskFailed is called by workers when processing an activity task fails.
This results in a new `ACTIVITY_TASK_FAILED` event being written to the workflow history and
a new workflow task created for the workflow. Fails with `NotFound` if the task token is no
longer valid due to activity timeout, already being completed, or never having existed.
operationId: RespondActivityTaskFailed
parameters:
- name: namespace
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskFailedRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskFailedResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activity-heartbeat:
post:
tags:
- WorkflowService
description: |-
RecordActivityTaskHeartbeat is optionally called by workers while they execute activities.
If a worker fails to heartbeat within the `heartbeat_timeout` interval for the activity task,
then the current attempt times out. Depending on RetryPolicy, this may trigger a retry or
time out the activity.
For workflow activities, an `ACTIVITY_TASK_TIMED_OUT` event will be written to the workflow
history. Calling `RecordActivityTaskHeartbeat` will fail with `NotFound` in such situations,
in that event, the SDK should request cancellation of the activity.
The request may contain response `details` which will be persisted by the server and may be
used by the activity to checkpoint progress. The `cancel_requested` field in the response
indicates whether cancellation has been requested for the activity.
operationId: RecordActivityTaskHeartbeat
parameters:
- name: namespace
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RecordActivityTaskHeartbeatRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RecordActivityTaskHeartbeatResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/activity-resolve-as-canceled:
post:
tags:
- WorkflowService
description: |-
RespondActivityTaskFailed is called by workers when processing an activity task fails.
For workflow activities, this results in a new `ACTIVITY_TASK_CANCELED` event being written to the workflow history
and a new workflow task created for the workflow. Fails with `NotFound` if the task token is
no longer valid due to activity timeout, already being completed, or never having existed.
operationId: RespondActivityTaskCanceled
parameters:
- name: namespace
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCanceledRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCanceledResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/archived-workflows:
get:
tags:
- WorkflowService
description: ListArchivedWorkflowExecutions is a visibility API to list archived workflow executions in a specific namespace.
operationId: ListArchivedWorkflowExecutions
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: pageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
schema:
type: string
format: bytes
- name: query
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListArchivedWorkflowExecutionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/batch-operations:
get:
tags:
- WorkflowService
description: ListBatchOperations returns a list of batch operations
operationId: ListBatchOperations
parameters:
- name: namespace
in: path
description: Namespace that contains the batch operation
required: true
schema:
type: string
- name: pageSize
in: query
description: List page size
schema:
type: integer
format: int32
- name: nextPageToken
in: query
description: Next page token
schema:
type: string
format: bytes
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListBatchOperationsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/batch-operations/{jobId}:
get:
tags:
- WorkflowService
description: DescribeBatchOperation returns the information about a batch operation
operationId: DescribeBatchOperation
parameters:
- name: namespace
in: path
description: Namespace that contains the batch operation
required: true
schema:
type: string
- name: jobId
in: path
description: Batch job id
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeBatchOperationResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- WorkflowService
description: StartBatchOperation starts a new batch operation
operationId: StartBatchOperation
parameters:
- name: namespace
in: path
description: Namespace that contains the batch operation
required: true
schema:
type: string
- name: jobId
in: path
description: Job ID defines the unique ID for the batch job
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StartBatchOperationRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StartBatchOperationResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/batch-operations/{jobId}/stop:
post:
tags:
- WorkflowService
description: StopBatchOperation stops a batch operation
operationId: StopBatchOperation
parameters:
- name: namespace
in: path
description: Namespace that contains the batch operation
required: true
schema:
type: string
- name: jobId
in: path
description: Batch job id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StopBatchOperationRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StopBatchOperationResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/current-deployment/{deployment.series_name}:
post:
tags:
- WorkflowService
description: |-
Sets a deployment as the current deployment for its deployment series. Can optionally update
the metadata of the deployment as well.
Experimental. This API might significantly change or be removed in a future release.
Deprecated. Replaced by `SetWorkerDeploymentCurrentVersion`.
operationId: SetCurrentDeployment
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment.series_name
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetCurrentDeploymentRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SetCurrentDeploymentResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/current-deployment/{seriesName}:
get:
tags:
- WorkflowService
description: |-
Returns the current deployment (and its info) for a given deployment series.
Experimental. This API might significantly change or be removed in a future release.
Deprecated. Replaced by `current_version` returned by `DescribeWorkerDeployment`.
operationId: GetCurrentDeployment
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: seriesName
in: path
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetCurrentDeploymentResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/deployments:
get:
tags:
- WorkflowService
description: |-
Lists worker deployments in the namespace. Optionally can filter based on deployment series
name.
Experimental. This API might significantly change or be removed in a future release.
Deprecated. Replaced with `ListWorkerDeployments`.
operationId: ListDeployments
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: pageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
schema:
type: string
format: bytes
- name: seriesName
in: query
description: Optional. Use to filter based on exact series name match.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListDeploymentsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}:
get:
tags:
- WorkflowService
description: |-
Describes a worker deployment.
Experimental. This API might significantly change or be removed in a future release.
Deprecated. Replaced with `DescribeWorkerDeploymentVersion`.
operationId: DescribeDeployment
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment.series_name
in: path
required: true
schema:
type: string
- name: deployment.build_id
in: path
required: true
schema:
type: string
- name: deployment.seriesName
in: query
description: |-
Different versions of the same worker service/application are related together by having a
shared series name.
Out of all deployments of a series, one can be designated as the current deployment, which
receives new workflow executions and new tasks of workflows with
`VERSIONING_BEHAVIOR_AUTO_UPGRADE` versioning behavior.
schema:
type: string
- name: deployment.buildId
in: query
description: |-
Build ID changes with each version of the worker when the worker program code and/or config
changes.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeDeploymentResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}/reachability:
get:
tags:
- WorkflowService
description: |-
Returns the reachability level of a worker deployment to help users decide when it is time
to decommission a deployment. Reachability level is calculated based on the deployment's
`status` and existing workflows that depend on the given deployment for their execution.
Calculating reachability is relatively expensive. Therefore, server might return a recently
cached value. In such a case, the `last_update_time` will inform you about the actual
reachability calculation time.
Experimental. This API might significantly change or be removed in a future release.
Deprecated. Replaced with `DrainageInfo` returned by `DescribeWorkerDeploymentVersion`.
operationId: GetDeploymentReachability
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment.series_name
in: path
required: true
schema:
type: string
- name: deployment.build_id
in: path
required: true
schema:
type: string
- name: deployment.seriesName
in: query
description: |-
Different versions of the same worker service/application are related together by having a
shared series name.
Out of all deployments of a series, one can be designated as the current deployment, which
receives new workflow executions and new tasks of workflows with
`VERSIONING_BEHAVIOR_AUTO_UPGRADE` versioning behavior.
schema:
type: string
- name: deployment.buildId
in: query
description: |-
Build ID changes with each version of the worker when the worker program code and/or config
changes.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetDeploymentReachabilityResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/nexus-operation-count:
get:
tags:
- WorkflowService
description: CountNexusOperationExecutions is a visibility API to count Nexus operations in a specific namespace.
operationId: CountNexusOperationExecutions
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: query
in: query
description: |-
Visibility query, see https://docs.temporal.io/list-filter for the syntax.
See also ListNexusOperationExecutionsRequest for search attributes available for Nexus operations.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CountNexusOperationExecutionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/nexus-operations:
get:
tags:
- WorkflowService
description: ListNexusOperationExecutions is a visibility API to list Nexus operations in a specific namespace.
operationId: ListNexusOperationExecutions
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: pageSize
in: query
description: Max number of operations to return per page.
schema:
type: integer
format: int32
- name: nextPageToken
in: query
description: Token returned in ListNexusOperationExecutionsResponse.
schema:
type: string
format: bytes
- name: query
in: query
description: |-
Visibility query, see https://docs.temporal.io/list-filter for the syntax.
Search attributes that are avaialble for Nexus operations include:
- OperationId
- RunId
- Endpoint
- Service
- Operation
- RequestId
- StartTime
- ExecutionTime
- CloseTime
- ExecutionStatus
- ExecutionDuration
- StateTransitionCount
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListNexusOperationExecutionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/nexus-operations/{operationId}:
get:
tags:
- WorkflowService
description: |-
DescribeNexusOperationExecution returns information about a Nexus operation.
Supported use cases include:
- Get current operation info without waiting
- Long-poll for next state change and return new operation info
Response can optionally include operation input or outcome (if the operation has completed).
operationId: DescribeNexusOperationExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: operationId
in: path
required: true
schema:
type: string
- name: runId
in: query
description: Operation run ID. If empty the request targets the latest run.
schema:
type: string
- name: includeInput
in: query
description: Include the input field in the response.
schema:
type: boolean
- name: includeOutcome
in: query
description: Include the outcome (result/failure) in the response if the operation has completed.
schema:
type: boolean
- name: longPollToken
in: query
description: |-
Token from a previous DescribeNexusOperationExecutionResponse. If present, this RPC will long-poll until operation
state changes from the state encoded in this token. If absent, return current state immediately.
If present, run_id must also be present.
Note that operation state may change multiple times between requests, therefore it is not
guaranteed that a client making a sequence of long-poll requests will see a complete
sequence of state changes.
schema:
type: string
format: bytes
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeNexusOperationExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- WorkflowService
description: |-
StartNexusOperationExecution starts a new Nexus operation.
Returns a `NexusOperationExecutionAlreadyStarted` error if an instance already exists with same operation ID in this
namespace unless permitted by the specified ID conflict policy.
operationId: StartNexusOperationExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: operationId
in: path
description: |-
Identifier for this operation. This is a caller-side ID, distinct from any internal
operation identifiers generated by the handler. Must be unique among operations in the
same namespace, subject to the rules imposed by id_reuse_policy and id_conflict_policy.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StartNexusOperationExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StartNexusOperationExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/nexus-operations/{operationId}/cancel:
post:
tags:
- WorkflowService
description: |-
RequestCancelNexusOperationExecution requests cancellation of a Nexus operation.
Requesting to cancel an operation does not automatically transition the operation to canceled status.
The operation will only transition to canceled status if it supports cancellation and the handler
processes the cancellation request.
operationId: RequestCancelNexusOperationExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: operationId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RequestCancelNexusOperationExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RequestCancelNexusOperationExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/nexus-operations/{operationId}/poll:
get:
tags:
- WorkflowService
description: |-
PollNexusOperationExecution long-polls for a Nexus operation for a given wait stage to complete and returns
the outcome (result or failure).
operationId: PollNexusOperationExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: operationId
in: path
required: true
schema:
type: string
- name: runId
in: query
description: Operation run ID. If empty the request targets the latest run.
schema:
type: string
- name: waitStage
in: query
description: Stage to wait for. The operation may be in a more advanced stage when the poll is unblocked.
schema:
enum:
- NEXUS_OPERATION_WAIT_STAGE_UNSPECIFIED
- NEXUS_OPERATION_WAIT_STAGE_STARTED
- NEXUS_OPERATION_WAIT_STAGE_CLOSED
type: string
format: enum
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PollNexusOperationExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/nexus-operations/{operationId}/terminate:
post:
tags:
- WorkflowService
description: |-
TerminateNexusOperationExecution terminates an existing Nexus operation immediately.
Termination happens immediately and the operation handler cannot react to it. A terminated operation will have
its outcome set to a failure with a termination reason.
operationId: TerminateNexusOperationExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: operationId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateNexusOperationExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateNexusOperationExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/schedule-count:
get:
tags:
- WorkflowService
description: CountSchedules is a visibility API to count schedules in a specific namespace.
operationId: CountSchedules
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: query
in: query
description: Visibility query, see https://docs.temporal.io/list-filter for the syntax.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CountSchedulesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/schedules:
get:
tags:
- WorkflowService
description: List all schedules in a namespace.
operationId: ListSchedules
parameters:
- name: namespace
in: path
description: The namespace to list schedules in.
required: true
schema:
type: string
- name: maximumPageSize
in: query
description: How many to return at once.
schema:
type: integer
format: int32
- name: nextPageToken
in: query
description: Token to get the next page of results.
schema:
type: string
format: bytes
- name: query
in: query
description: Query to filter schedules.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListSchedulesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/schedules/{scheduleId}:
get:
tags:
- WorkflowService
description: Returns the schedule description and current state of an existing schedule.
operationId: DescribeSchedule
parameters:
- name: namespace
in: path
description: The namespace of the schedule to describe.
required: true
schema:
type: string
- name: scheduleId
in: path
description: The id of the schedule to describe.
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeScheduleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- WorkflowService
description: Creates a new schedule.
operationId: CreateSchedule
parameters:
- name: namespace
in: path
description: The namespace the schedule should be created in.
required: true
schema:
type: string
- name: scheduleId
in: path
description: The id of the new schedule.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateScheduleRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateScheduleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- WorkflowService
description: Deletes a schedule, removing it from the system.
operationId: DeleteSchedule
parameters:
- name: namespace
in: path
description: The namespace of the schedule to delete.
required: true
schema:
type: string
- name: scheduleId
in: path
description: The id of the schedule to delete.
required: true
schema:
type: string
- name: identity
in: query
description: The identity of the client who initiated this request.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteScheduleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/schedules/{scheduleId}/matching-times:
get:
tags:
- WorkflowService
description: Lists matching times within a range.
operationId: ListScheduleMatchingTimes
parameters:
- name: namespace
in: path
description: The namespace of the schedule to query.
required: true
schema:
type: string
- name: scheduleId
in: path
description: The id of the schedule to query.
required: true
schema:
type: string
- name: startTime
in: query
description: Time range to query.
schema:
type: string
format: date-time
- name: endTime
in: query
schema:
type: string
format: date-time
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListScheduleMatchingTimesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/schedules/{scheduleId}/patch:
post:
tags:
- WorkflowService
description: Makes a specific change to a schedule or triggers an immediate action.
operationId: PatchSchedule
parameters:
- name: namespace
in: path
description: The namespace of the schedule to patch.
required: true
schema:
type: string
- name: scheduleId
in: path
description: The id of the schedule to patch.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchScheduleRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PatchScheduleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/schedules/{scheduleId}/update:
post:
tags:
- WorkflowService
description: Changes the configuration or state of an existing schedule.
operationId: UpdateSchedule
parameters:
- name: namespace
in: path
description: The namespace of the schedule to update.
required: true
schema:
type: string
- name: scheduleId
in: path
description: The id of the schedule to update.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateScheduleRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateScheduleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/search-attributes:
get:
tags:
- OperatorService
description: ListSearchAttributes returns comprehensive information about search attributes.
operationId: ListSearchAttributes
parameters:
- name: namespace
in: path
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListSearchAttributesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/task-queues/{taskQueue}/update-config:
post:
tags:
- WorkflowService
description: |-
Updates task queue configuration.
For the overall queue rate limit: the rate limit set by this api overrides the worker-set rate limit,
which uncouples the rate limit from the worker lifecycle.
If the overall queue rate limit is unset, the worker-set rate limit takes effect.
operationId: UpdateTaskQueueConfig
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: taskQueue
in: path
description: Selects the task queue to update.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTaskQueueConfigRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTaskQueueConfigResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/task-queues/{taskQueue}/worker-build-id-compatibility:
get:
tags:
- WorkflowService
description: |-
Deprecated. Use `GetWorkerVersioningRules`.
Fetches the worker build id versioning sets for a task queue.
operationId: GetWorkerBuildIdCompatibility
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: taskQueue
in: path
description: Must be set, the task queue to interrogate about worker id compatibility.
required: true
schema:
type: string
- name: maxSets
in: query
description: |-
Limits how many compatible sets will be returned. Specify 1 to only return the current
default major version set. 0 returns all sets.
schema:
type: integer
format: int32
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkerBuildIdCompatibilityResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/task-queues/{taskQueue}/worker-versioning-rules:
get:
tags:
- WorkflowService
description: |-
Fetches the Build ID assignment and redirect rules for a Task Queue.
WARNING: Worker Versioning is not yet stable and the API and behavior may change incompatibly.
operationId: GetWorkerVersioningRules
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: taskQueue
in: path
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkerVersioningRulesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/task-queues/{task_queue.name}:
get:
tags:
- WorkflowService
description: |-
DescribeTaskQueue returns the following information about the target task queue, broken down by Build ID:
- List of pollers
- Workflow Reachability status
- Backlog info for Workflow and/or Activity tasks
operationId: DescribeTaskQueue
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: task_queue.name
in: path
required: true
schema:
type: string
- name: taskQueue.name
in: query
schema:
type: string
- name: taskQueue.kind
in: query
description: 'Default: TASK_QUEUE_KIND_NORMAL.'
schema:
enum:
- TASK_QUEUE_KIND_UNSPECIFIED
- TASK_QUEUE_KIND_NORMAL
- TASK_QUEUE_KIND_STICKY
- TASK_QUEUE_KIND_WORKER_COMMANDS
type: string
format: enum
- name: taskQueue.normalName
in: query
description: |-
Iff kind == TASK_QUEUE_KIND_STICKY, then this field contains the name of
the normal task queue that the sticky worker is running on.
schema:
type: string
- name: taskQueueType
in: query
description: |-
If unspecified (TASK_QUEUE_TYPE_UNSPECIFIED), then default value (TASK_QUEUE_TYPE_WORKFLOW) will be used.
Only supported in default mode (use `task_queue_types` in ENHANCED mode instead).
schema:
enum:
- TASK_QUEUE_TYPE_UNSPECIFIED
- TASK_QUEUE_TYPE_WORKFLOW
- TASK_QUEUE_TYPE_ACTIVITY
- TASK_QUEUE_TYPE_NEXUS
type: string
format: enum
- name: reportStats
in: query
description: Report stats for the requested task queue type(s).
schema:
type: boolean
- name: reportConfig
in: query
description: Report Task Queue Config
schema:
type: boolean
- name: includeTaskQueueStatus
in: query
description: |-
Deprecated, use `report_stats` instead.
If true, the task queue status will be included in the response.
schema:
type: boolean
- name: apiMode
in: query
description: |-
Deprecated. ENHANCED mode is also being deprecated.
Select the API mode to use for this request: DEFAULT mode (if unset) or ENHANCED mode.
Consult the documentation for each field to understand which mode it is supported in.
schema:
enum:
- DESCRIBE_TASK_QUEUE_MODE_UNSPECIFIED
- DESCRIBE_TASK_QUEUE_MODE_ENHANCED
type: string
format: enum
- name: versions.buildIds
in: query
description: Include specific Build IDs.
schema:
type: array
items:
type: string
- name: versions.unversioned
in: query
description: Include the unversioned queue.
schema:
type: boolean
- name: versions.allActive
in: query
description: |-
Include all active versions. A version is considered active if, in the last few minutes,
it has had new tasks or polls, or it has been the subject of certain task queue API calls.
schema:
type: boolean
- name: taskQueueTypes
in: query
description: |-
Deprecated (as part of the ENHANCED mode deprecation).
Task queue types to report info about. If not specified, all types are considered.
schema:
type: array
items:
enum:
- TASK_QUEUE_TYPE_UNSPECIFIED
- TASK_QUEUE_TYPE_WORKFLOW
- TASK_QUEUE_TYPE_ACTIVITY
- TASK_QUEUE_TYPE_NEXUS
type: string
format: enum
- name: reportPollers
in: query
description: |-
Deprecated (as part of the ENHANCED mode deprecation).
Report list of pollers for requested task queue types and versions.
schema:
type: boolean
- name: reportTaskReachability
in: query
description: |-
Deprecated (as part of the ENHANCED mode deprecation).
Report task reachability for the requested versions and all task types (task reachability is not reported
per task type).
schema:
type: boolean
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeTaskQueueResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/update:
post:
tags:
- WorkflowService
description: |-
UpdateNamespace is used to update the information and configuration of a registered
namespace.
operationId: UpdateNamespace
parameters:
- name: namespace
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateNamespaceRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateNamespaceResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}:
post:
tags:
- WorkflowService
description: |-
Creates a new Worker Deployment Version.
Experimental. This API might significantly change or be removed in a
future release.
operationId: CreateWorkerDeploymentVersion
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment_version.deployment_name
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkerDeploymentVersionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkerDeploymentVersionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}:
get:
tags:
- WorkflowService
description: |-
Describes a worker deployment version.
Experimental. This API might significantly change or be removed in a future release.
operationId: DescribeWorkerDeploymentVersion
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment_version.deployment_name
in: path
required: true
schema:
type: string
- name: deployment_version.build_id
in: path
required: true
schema:
type: string
- name: version
in: query
description: Deprecated. Use `deployment_version`.
schema:
type: string
- name: deploymentVersion.buildId
in: query
description: |-
A unique identifier for this Version within the Deployment it is a part of.
Not necessarily unique within the namespace.
The combination of `deployment_name` and `build_id` uniquely identifies this
Version within the namespace, because Deployment names are unique within a namespace.
schema:
type: string
- name: deploymentVersion.deploymentName
in: query
description: Identifies the Worker Deployment this Version is part of.
schema:
type: string
- name: reportTaskQueueStats
in: query
description: Report stats for task queues which have been polled by this version.
schema:
type: boolean
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeWorkerDeploymentVersionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- WorkflowService
description: |-
Used for manual deletion of Versions. User can delete a Version only when all the
following conditions are met:
- It is not the Current or Ramping Version of its Deployment.
- It has no active pollers (none of the task queues in the Version have pollers)
- It is not draining (see WorkerDeploymentVersionInfo.drainage_info). This condition
can be skipped by passing `skip-drainage=true`.
Experimental. This API might significantly change or be removed in a future release.
operationId: DeleteWorkerDeploymentVersion
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment_version.deployment_name
in: path
required: true
schema:
type: string
- name: deployment_version.build_id
in: path
required: true
schema:
type: string
- name: version
in: query
description: Deprecated. Use `deployment_version`.
schema:
type: string
- name: deploymentVersion.buildId
in: query
description: |-
A unique identifier for this Version within the Deployment it is a part of.
Not necessarily unique within the namespace.
The combination of `deployment_name` and `build_id` uniquely identifies this
Version within the namespace, because Deployment names are unique within a namespace.
schema:
type: string
- name: deploymentVersion.deploymentName
in: query
description: Identifies the Worker Deployment this Version is part of.
schema:
type: string
- name: skipDrainage
in: query
description: |-
Pass to force deletion even if the Version is draining. In this case the open pinned
workflows will be stuck until manually moved to another version by UpdateWorkflowExecutionOptions.
schema:
type: boolean
- name: identity
in: query
description: Optional. The identity of the client who initiated this request.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteWorkerDeploymentVersionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
? /api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/update-compute-config
: post:
tags:
- WorkflowService
description: |-
Updates the compute config attached to a Worker Deployment Version.
Experimental. This API might significantly change or be removed in a future release.
operationId: UpdateWorkerDeploymentVersionComputeConfig
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment_version.deployment_name
in: path
required: true
schema:
type: string
- name: deployment_version.build_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkerDeploymentVersionComputeConfigRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkerDeploymentVersionComputeConfigResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
? /api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/update-metadata
: post:
tags:
- WorkflowService
description: |-
Updates the user-given metadata attached to a Worker Deployment Version.
Experimental. This API might significantly change or be removed in a future release.
operationId: UpdateWorkerDeploymentVersionMetadata
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment_version.deployment_name
in: path
required: true
schema:
type: string
- name: deployment_version.build_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkerDeploymentVersionMetadataRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkerDeploymentVersionMetadataResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
? /api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/validate-compute-config
: post:
tags:
- WorkflowService
description: |-
Validates the compute config without attaching it to a Worker Deployment Version.
Experimental. This API might significantly change or be removed in a future release.
operationId: ValidateWorkerDeploymentVersionComputeConfig
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment_version.deployment_name
in: path
required: true
schema:
type: string
- name: deployment_version.build_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateWorkerDeploymentVersionComputeConfigRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateWorkerDeploymentVersionComputeConfigResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/worker-deployments:
get:
tags:
- WorkflowService
description: |-
Lists all Worker Deployments that are tracked in the Namespace.
Experimental. This API might significantly change or be removed in a future release.
operationId: ListWorkerDeployments
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: pageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
schema:
type: string
format: bytes
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListWorkerDeploymentsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/worker-deployments/{deploymentName}:
get:
tags:
- WorkflowService
description: |-
Describes a Worker Deployment.
Experimental. This API might significantly change or be removed in a future release.
operationId: DescribeWorkerDeployment
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deploymentName
in: path
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeWorkerDeploymentResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- WorkflowService
description: |-
Creates a new Worker Deployment.
Experimental. This API might significantly change or be removed in a
future release.
operationId: CreateWorkerDeployment
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deploymentName
in: path
description: |-
The name of the Worker Deployment to create. If a Worker Deployment with
this name already exists, an error will be returned.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkerDeploymentRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkerDeploymentResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- WorkflowService
description: |-
Deletes records of (an old) Deployment. A deployment can only be deleted if
it has no Version in it.
Experimental. This API might significantly change or be removed in a future release.
operationId: DeleteWorkerDeployment
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deploymentName
in: path
required: true
schema:
type: string
- name: identity
in: query
description: Optional. The identity of the client who initiated this request.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteWorkerDeploymentResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/worker-deployments/{deploymentName}/set-current-version:
post:
tags:
- WorkflowService
description: |-
Set/unset the Current Version of a Worker Deployment. Automatically unsets the Ramping
Version if it is the Version being set as Current.
Experimental. This API might significantly change or be removed in a future release.
operationId: SetWorkerDeploymentCurrentVersion
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deploymentName
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetWorkerDeploymentCurrentVersionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SetWorkerDeploymentCurrentVersionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/worker-deployments/{deploymentName}/set-manager:
post:
tags:
- WorkflowService
description: |-
Set/unset the ManagerIdentity of a Worker Deployment.
Experimental. This API might significantly change or be removed in a future release.
operationId: SetWorkerDeploymentManager
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deploymentName
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetWorkerDeploymentManagerRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SetWorkerDeploymentManagerResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/worker-deployments/{deploymentName}/set-ramping-version:
post:
tags:
- WorkflowService
description: |-
Set/unset the Ramping Version of a Worker Deployment and its ramp percentage. Can be used for
gradual ramp to unversioned workers too.
Experimental. This API might significantly change or be removed in a future release.
operationId: SetWorkerDeploymentRampingVersion
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deploymentName
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetWorkerDeploymentRampingVersionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SetWorkerDeploymentRampingVersionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/worker-task-reachability:
get:
tags:
- WorkflowService
description: |-
Deprecated. Use `DescribeTaskQueue`.
Fetches task reachability to determine whether a worker may be retired.
The request may specify task queues to query for or let the server fetch all task queues mapped to the given
build IDs.
When requesting a large number of task queues or all task queues associated with the given build ids in a
namespace, all task queues will be listed in the response but some of them may not contain reachability
information due to a server enforced limit. When reaching the limit, task queues that reachability information
could not be retrieved for will be marked with a single TASK_REACHABILITY_UNSPECIFIED entry. The caller may issue
another call to get the reachability for those task queues.
Open source users can adjust this limit by setting the server's dynamic config value for
`limit.reachabilityTaskQueueScan` with the caveat that this call can strain the visibility store.
operationId: GetWorkerTaskReachability
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: buildIds
in: query
description: |-
Build ids to retrieve reachability for. An empty string will be interpreted as an unversioned worker.
The number of build ids that can be queried in a single API call is limited.
Open source users can adjust this limit by setting the server's dynamic config value for
`limit.reachabilityQueryBuildIds` with the caveat that this call can strain the visibility store.
schema:
type: array
items:
type: string
- name: taskQueues
in: query
description: |-
Task queues to retrieve reachability for. Leave this empty to query for all task queues associated with given
build ids in the namespace.
Must specify at least one task queue if querying for an unversioned worker.
The number of task queues that the server will fetch reachability information for is limited.
See the `GetWorkerTaskReachabilityResponse` documentation for more information.
schema:
type: array
items:
type: string
- name: reachability
in: query
description: |-
Type of reachability to query for.
`TASK_REACHABILITY_NEW_WORKFLOWS` is always returned in the response.
Use `TASK_REACHABILITY_EXISTING_WORKFLOWS` if your application needs to respond to queries on closed workflows.
Otherwise, use `TASK_REACHABILITY_OPEN_WORKFLOWS`. Default is `TASK_REACHABILITY_EXISTING_WORKFLOWS` if left
unspecified.
See the TaskReachability docstring for information about each enum variant.
schema:
enum:
- TASK_REACHABILITY_UNSPECIFIED
- TASK_REACHABILITY_NEW_WORKFLOWS
- TASK_REACHABILITY_EXISTING_WORKFLOWS
- TASK_REACHABILITY_OPEN_WORKFLOWS
- TASK_REACHABILITY_CLOSED_WORKFLOWS
type: string
format: enum
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkerTaskReachabilityResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workers:
get:
tags:
- WorkflowService
description: ListWorkers is a visibility API to list worker status information in a specific namespace.
operationId: ListWorkers
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: pageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
schema:
type: string
format: bytes
- name: query
in: query
description: |-
`query` in ListWorkers is used to filter workers based on worker attributes.
Supported attributes:
* WorkerInstanceKey
* WorkerIdentity
* HostName
* TaskQueue
* DeploymentName
* BuildId
* SdkName
* SdkVersion
* StartTime
* Status
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListWorkersResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workers/describe/{workerInstanceKey}:
get:
tags:
- WorkflowService
description: DescribeWorker returns information about the specified worker.
operationId: DescribeWorker
parameters:
- name: namespace
in: path
description: Namespace this worker belongs to.
required: true
schema:
type: string
- name: workerInstanceKey
in: path
description: Worker instance key to describe.
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeWorkerResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workers/fetch-config:
post:
tags:
- WorkflowService
description: FetchWorkerConfig returns the worker configuration for a specific worker.
operationId: FetchWorkerConfig
parameters:
- name: namespace
in: path
description: Namespace this worker belongs to.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FetchWorkerConfigRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FetchWorkerConfigResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workers/heartbeat:
post:
tags:
- WorkflowService
description: WorkerHeartbeat receive heartbeat request from the worker.
operationId: RecordWorkerHeartbeat
parameters:
- name: namespace
in: path
description: Namespace this worker belongs to.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RecordWorkerHeartbeatRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RecordWorkerHeartbeatResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workers/update-config:
post:
tags:
- WorkflowService
description: |-
UpdateWorkerConfig updates the worker configuration of one or more workers.
Can be used to partially update the worker configuration.
Can be used to update the configuration of multiple workers.
operationId: UpdateWorkerConfig
parameters:
- name: namespace
in: path
description: Namespace this worker belongs to.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkerConfigRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkerConfigResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflow-count:
get:
tags:
- WorkflowService
description: CountWorkflowExecutions is a visibility API to count of workflow executions in a specific namespace.
operationId: CountWorkflowExecutions
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: query
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CountWorkflowExecutionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflow-rules:
get:
tags:
- WorkflowService
description: Return all namespace workflow rules
operationId: ListWorkflowRules
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: nextPageToken
in: query
schema:
type: string
format: bytes
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListWorkflowRulesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- WorkflowService
description: |-
Create a new workflow rule. The rules are used to control the workflow execution.
The rule will be applied to all running and new workflows in the namespace.
If the rule with such ID already exist this call will fail
Note: the rules are part of namespace configuration and will be stored in the namespace config.
Namespace config is eventually consistent.
operationId: CreateWorkflowRule
parameters:
- name: namespace
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkflowRuleRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkflowRuleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflow-rules/{ruleId}:
get:
tags:
- WorkflowService
description: |-
DescribeWorkflowRule return the rule specification for existing rule id.
If there is no rule with such id - NOT FOUND error will be returned.
operationId: DescribeWorkflowRule
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: ruleId
in: path
description: User-specified ID of the rule to read. Unique within the namespace.
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeWorkflowRuleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- WorkflowService
description: Delete rule by rule id
operationId: DeleteWorkflowRule
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: ruleId
in: path
description: ID of the rule to delete. Unique within the namespace.
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteWorkflowRuleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows:
get:
tags:
- WorkflowService
description: ListWorkflowExecutions is a visibility API to list workflow executions in a specific namespace.
operationId: ListWorkflowExecutions
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: pageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
schema:
type: string
format: bytes
- name: query
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListWorkflowExecutionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}:
get:
tags:
- WorkflowService
description: DescribeWorkflowExecution returns information about the specified workflow execution.
operationId: DescribeWorkflowExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: execution.workflow_id
in: path
required: true
schema:
type: string
- name: execution.workflowId
in: query
schema:
type: string
- name: execution.runId
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/history:
get:
tags:
- WorkflowService
description: |-
GetWorkflowExecutionHistory returns the history of specified workflow execution. Fails with
`NotFound` if the specified workflow execution is unknown to the service.
operationId: GetWorkflowExecutionHistory
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: execution.workflow_id
in: path
required: true
schema:
type: string
- name: execution.workflowId
in: query
schema:
type: string
- name: execution.runId
in: query
schema:
type: string
- name: maximumPageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
description: |-
If a `GetWorkflowExecutionHistoryResponse` or a `PollWorkflowTaskQueueResponse` had one of
these, it should be passed here to fetch the next page.
schema:
type: string
format: bytes
- name: waitNewEvent
in: query
description: |-
If set to true, the RPC call will not resolve until there is a new event which matches
the `history_event_filter_type`, or a timeout is hit.
schema:
type: boolean
- name: historyEventFilterType
in: query
description: |-
Filter returned events such that they match the specified filter type.
Default: HISTORY_EVENT_FILTER_TYPE_ALL_EVENT.
schema:
enum:
- HISTORY_EVENT_FILTER_TYPE_UNSPECIFIED
- HISTORY_EVENT_FILTER_TYPE_ALL_EVENT
- HISTORY_EVENT_FILTER_TYPE_CLOSE_EVENT
type: string
format: enum
- name: skipArchival
in: query
schema:
type: boolean
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkflowExecutionHistoryResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/history-reverse:
get:
tags:
- WorkflowService
description: |-
GetWorkflowExecutionHistoryReverse returns the history of specified workflow execution in reverse
order (starting from last event). Fails with`NotFound` if the specified workflow execution is
unknown to the service.
operationId: GetWorkflowExecutionHistoryReverse
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: execution.workflow_id
in: path
required: true
schema:
type: string
- name: execution.workflowId
in: query
schema:
type: string
- name: execution.runId
in: query
schema:
type: string
- name: maximumPageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
schema:
type: string
format: bytes
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkflowExecutionHistoryReverseResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/query/{query.query_type}:
post:
tags:
- WorkflowService
description: QueryWorkflow requests a query be executed for a specified workflow execution.
operationId: QueryWorkflow
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: execution.workflow_id
in: path
required: true
schema:
type: string
- name: query.query_type
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/QueryWorkflowRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/QueryWorkflowResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/trigger-rule:
post:
tags:
- WorkflowService
description: |-
TriggerWorkflowRule allows to:
* trigger existing rule for a specific workflow execution;
* trigger rule for a specific workflow execution without creating a rule;
This is useful for one-off operations.
operationId: TriggerWorkflowRule
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: execution.workflow_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TriggerWorkflowRuleRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TriggerWorkflowRuleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{workflowId}:
post:
tags:
- WorkflowService
description: |-
StartWorkflowExecution starts a new workflow execution.
It will create the execution with a `WORKFLOW_EXECUTION_STARTED` event in its history and
also schedule the first workflow task. Returns `WorkflowExecutionAlreadyStarted`, if an
instance already exists with same workflow id.
operationId: StartWorkflowExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: workflowId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StartWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StartWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{workflowId}/activities/{activityId}/complete:
post:
tags:
- WorkflowService
description: |-
See `RespondActivityTaskCompleted`. This version allows clients to record completions by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RespondActivityTaskCompletedById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: workflowId
in: path
description: Id of the workflow which scheduled this activity, leave empty to target a standalone activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity to complete
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCompletedByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCompletedByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{workflowId}/activities/{activityId}/fail:
post:
tags:
- WorkflowService
description: |-
See `RecordActivityTaskFailed`. This version allows clients to record failures by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RespondActivityTaskFailedById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: workflowId
in: path
description: Id of the workflow which scheduled this activity, leave empty to target a standalone activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity to fail
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskFailedByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskFailedByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{workflowId}/activities/{activityId}/heartbeat:
post:
tags:
- WorkflowService
description: |-
See `RecordActivityTaskHeartbeat`. This version allows clients to record heartbeats by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RecordActivityTaskHeartbeatById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: workflowId
in: path
description: Id of the workflow which scheduled this activity, leave empty to target a standalone activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity we're heartbeating
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RecordActivityTaskHeartbeatByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RecordActivityTaskHeartbeatByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{workflowId}/activities/{activityId}/resolve-as-canceled:
post:
tags:
- WorkflowService
description: |-
See `RespondActivityTaskCanceled`. This version allows clients to record failures by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RespondActivityTaskCanceledById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: workflowId
in: path
description: Id of the workflow which scheduled this activity, leave empty to target a standalone activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity to confirm is cancelled
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCanceledByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCanceledByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{workflowId}/pause:
post:
tags:
- WorkflowService
description: |-
Note: This is an experimental API and the behavior may change in a future release.
PauseWorkflowExecution pauses the workflow execution specified in the request. Pausing a workflow execution results in
- The workflow execution status changes to `PAUSED` and a new WORKFLOW_EXECUTION_PAUSED event is added to the history
- No new workflow tasks or activity tasks are dispatched.
- Any workflow task currently executing on the worker will be allowed to complete.
- Any activity task currently executing will be paused.
- All server-side events will continue to be processed by the server.
- Queries & Updates on a paused workflow will be rejected.
operationId: PauseWorkflowExecution
parameters:
- name: namespace
in: path
description: Namespace of the workflow to pause.
required: true
schema:
type: string
- name: workflowId
in: path
description: ID of the workflow execution to be paused. Required.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PauseWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PauseWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{workflowId}/signal-with-start/{signalName}:
post:
tags:
- WorkflowService
description: |-
SignalWithStartWorkflowExecution is used to ensure a signal is sent to a workflow, even if
it isn't yet started.
If the workflow is running, a `WORKFLOW_EXECUTION_SIGNALED` event is recorded in the history
and a workflow task is generated.
If the workflow is not running or not found, then the workflow is created with
`WORKFLOW_EXECUTION_STARTED` and `WORKFLOW_EXECUTION_SIGNALED` events in its history, and a
workflow task is generated.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "With" is used to indicate combined operation. --)
operationId: SignalWithStartWorkflowExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: workflowId
in: path
required: true
schema:
type: string
- name: signalName
in: path
description: The workflow author-defined name of the signal to send to the workflow
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SignalWithStartWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SignalWithStartWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{workflowId}/unpause:
post:
tags:
- WorkflowService
description: |-
Note: This is an experimental API and the behavior may change in a future release.
UnpauseWorkflowExecution unpauses a previously paused workflow execution specified in the request.
Unpausing a workflow execution results in
- The workflow execution status changes to `RUNNING` and a new WORKFLOW_EXECUTION_UNPAUSED event is added to the history
- Workflow tasks and activity tasks are resumed.
operationId: UnpauseWorkflowExecution
parameters:
- name: namespace
in: path
description: Namespace of the workflow to unpause.
required: true
schema:
type: string
- name: workflowId
in: path
description: ID of the workflow execution to be paused. Required.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UnpauseWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UnpauseWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/cancel:
post:
tags:
- WorkflowService
description: |-
RequestCancelWorkflowExecution is called by workers when they want to request cancellation of
a workflow execution.
This results in a new `WORKFLOW_EXECUTION_CANCEL_REQUESTED` event being written to the
workflow history and a new workflow task created for the workflow. It returns success if the requested
workflow is already closed. It fails with 'NotFound' if the requested workflow doesn't exist.
operationId: RequestCancelWorkflowExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: workflow_execution.workflow_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RequestCancelWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RequestCancelWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset:
post:
tags:
- WorkflowService
description: |-
ResetWorkflowExecution will reset an existing workflow execution to a specified
`WORKFLOW_TASK_COMPLETED` event (exclusive). It will immediately terminate the current
execution instance. "Exclusive" means the identified completed event itself is not replayed
in the reset history; the preceding `WORKFLOW_TASK_STARTED` event remains and will be marked as failed
immediately, and a new workflow task will be scheduled to retry it.
operationId: ResetWorkflowExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: workflow_execution.workflow_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResetWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResetWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signalName}:
post:
tags:
- WorkflowService
description: |-
SignalWorkflowExecution is used to send a signal to a running workflow execution.
This results in a `WORKFLOW_EXECUTION_SIGNALED` event recorded in the history and a workflow
task being created for the execution.
operationId: SignalWorkflowExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: workflow_execution.workflow_id
in: path
required: true
schema:
type: string
- name: signalName
in: path
description: The workflow author-defined name of the signal to send to the workflow
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SignalWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SignalWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/terminate:
post:
tags:
- WorkflowService
description: |-
TerminateWorkflowExecution terminates an existing workflow execution by recording a
`WORKFLOW_EXECUTION_TERMINATED` event in the history and immediately terminating the
execution instance.
operationId: TerminateWorkflowExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: workflow_execution.workflow_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update-options:
post:
tags:
- WorkflowService
description: UpdateWorkflowExecutionOptions partially updates the WorkflowExecutionOptions of an existing workflow execution.
operationId: UpdateWorkflowExecutionOptions
parameters:
- name: namespace
in: path
description: The namespace name of the target Workflow.
required: true
schema:
type: string
- name: workflow_execution.workflow_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkflowExecutionOptionsRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkflowExecutionOptionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update/{request.input.name}:
post:
tags:
- WorkflowService
description: Invokes the specified Update function on user Workflow code.
operationId: UpdateWorkflowExecution
parameters:
- name: namespace
in: path
description: The namespace name of the target Workflow.
required: true
schema:
type: string
- name: workflow_execution.workflow_id
in: path
required: true
schema:
type: string
- name: request.input.name
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/nexus/endpoints:
get:
tags:
- OperatorService
description: |-
List all Nexus endpoints for the cluster, sorted by ID in ascending order. Set page_token in the request to the
next_page_token field of the previous response to get the next page of results. An empty next_page_token
indicates that there are no more results. During pagination, a newly added service with an ID lexicographically
earlier than the previous page's last endpoint's ID may be missed.
operationId: ListNexusEndpoints
parameters:
- name: pageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
description: |-
To get the next page, pass in `ListNexusEndpointsResponse.next_page_token` from the previous page's
response, the token will be empty if there's no other page.
Note: the last page may be empty if the total number of endpoints registered is a multiple of the page size.
schema:
type: string
format: bytes
- name: name
in: query
description: |-
Name of the incoming endpoint to filter on - optional. Specifying this will result in zero or one results.
(-- api-linter: core::203::field-behavior-required=disabled
aip.dev/not-precedent: Not following linter rules. --)
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListNexusEndpointsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- OperatorService
description: |-
Create a Nexus endpoint. This will fail if an endpoint with the same name is already registered with a status of
ALREADY_EXISTS.
Returns the created endpoint with its initial version. You may use this version for subsequent updates.
operationId: CreateNexusEndpoint
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNexusEndpointRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNexusEndpointResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/nexus/endpoints/{id}:
get:
tags:
- OperatorService
description: Get a registered Nexus endpoint by ID. The returned version can be used for optimistic updates.
operationId: GetNexusEndpoint
parameters:
- name: id
in: path
description: Server-generated unique endpoint ID.
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetNexusEndpointResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- OperatorService
description: Delete an incoming Nexus service by ID.
operationId: DeleteNexusEndpoint
parameters:
- name: id
in: path
description: Server-generated unique endpoint ID.
required: true
schema:
type: string
- name: version
in: query
description: Data version for this endpoint. Must match current version.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteNexusEndpointResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/nexus/endpoints/{id}/update:
post:
tags:
- OperatorService
description: |-
Optimistically update a Nexus endpoint based on provided version as obtained via the `GetNexusEndpoint` or
`ListNexusEndpointResponse` APIs. This will fail with a status of FAILED_PRECONDITION if the version does not
match.
Returns the updated endpoint with its updated version. You may use this version for subsequent updates. You don't
need to increment the version yourself. The server will increment the version for you after each update.
operationId: UpdateNexusEndpoint
parameters:
- name: id
in: path
description: Server-generated unique endpoint ID.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateNexusEndpointRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateNexusEndpointResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/api/v1/system-info:
get:
tags:
- WorkflowService
description: GetSystemInfo returns information about the system.
operationId: GetSystemInfo
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetSystemInfoResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/cluster:
get:
tags:
- WorkflowService
description: GetClusterInfo returns information about temporal cluster
operationId: GetClusterInfo
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetClusterInfoResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/cluster/namespaces:
get:
tags:
- WorkflowService
description: ListNamespaces returns the information and configuration for all namespaces.
operationId: ListNamespaces
parameters:
- name: pageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
schema:
type: string
format: bytes
- name: namespaceFilter.includeDeleted
in: query
description: |-
By default namespaces in NAMESPACE_STATE_DELETED state are not included.
Setting include_deleted to true will include deleted namespaces.
Note: Namespace is in NAMESPACE_STATE_DELETED state when it was deleted from the system but associated data is not deleted yet.
schema:
type: boolean
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListNamespacesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- WorkflowService
description: |-
RegisterNamespace creates a new namespace which can be used as a container for all resources.
A Namespace is a top level entity within Temporal, and is used as a container for resources
like workflow executions, task queues, etc. A Namespace acts as a sandbox and provides
isolation for all resources within the namespace. All resources belongs to exactly one
namespace.
operationId: RegisterNamespace
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterNamespaceRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterNamespaceResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/cluster/namespaces/{namespace}:
get:
tags:
- WorkflowService
description: DescribeNamespace returns the information and configuration for a registered namespace.
operationId: DescribeNamespace
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: id
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeNamespaceResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/cluster/namespaces/{namespace}/search-attributes:
get:
tags:
- OperatorService
description: ListSearchAttributes returns comprehensive information about search attributes.
operationId: ListSearchAttributes
parameters:
- name: namespace
in: path
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListSearchAttributesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/cluster/namespaces/{namespace}/update:
post:
tags:
- WorkflowService
description: |-
UpdateNamespace is used to update the information and configuration of a registered
namespace.
operationId: UpdateNamespace
parameters:
- name: namespace
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateNamespaceRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateNamespaceResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/cluster/nexus/endpoints:
get:
tags:
- OperatorService
description: |-
List all Nexus endpoints for the cluster, sorted by ID in ascending order. Set page_token in the request to the
next_page_token field of the previous response to get the next page of results. An empty next_page_token
indicates that there are no more results. During pagination, a newly added service with an ID lexicographically
earlier than the previous page's last endpoint's ID may be missed.
operationId: ListNexusEndpoints
parameters:
- name: pageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
description: |-
To get the next page, pass in `ListNexusEndpointsResponse.next_page_token` from the previous page's
response, the token will be empty if there's no other page.
Note: the last page may be empty if the total number of endpoints registered is a multiple of the page size.
schema:
type: string
format: bytes
- name: name
in: query
description: |-
Name of the incoming endpoint to filter on - optional. Specifying this will result in zero or one results.
(-- api-linter: core::203::field-behavior-required=disabled
aip.dev/not-precedent: Not following linter rules. --)
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListNexusEndpointsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- OperatorService
description: |-
Create a Nexus endpoint. This will fail if an endpoint with the same name is already registered with a status of
ALREADY_EXISTS.
Returns the created endpoint with its initial version. You may use this version for subsequent updates.
operationId: CreateNexusEndpoint
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNexusEndpointRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNexusEndpointResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/cluster/nexus/endpoints/{id}:
get:
tags:
- OperatorService
description: Get a registered Nexus endpoint by ID. The returned version can be used for optimistic updates.
operationId: GetNexusEndpoint
parameters:
- name: id
in: path
description: Server-generated unique endpoint ID.
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetNexusEndpointResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- OperatorService
description: Delete an incoming Nexus service by ID.
operationId: DeleteNexusEndpoint
parameters:
- name: id
in: path
description: Server-generated unique endpoint ID.
required: true
schema:
type: string
- name: version
in: query
description: Data version for this endpoint. Must match current version.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteNexusEndpointResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/cluster/nexus/endpoints/{id}/update:
post:
tags:
- OperatorService
description: |-
Optimistically update a Nexus endpoint based on provided version as obtained via the `GetNexusEndpoint` or
`ListNexusEndpointResponse` APIs. This will fail with a status of FAILED_PRECONDITION if the version does not
match.
Returns the updated endpoint with its updated version. You may use this version for subsequent updates. You don't
need to increment the version yourself. The server will increment the version for you after each update.
operationId: UpdateNexusEndpoint
parameters:
- name: id
in: path
description: Server-generated unique endpoint ID.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateNexusEndpointRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateNexusEndpointResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activities:
get:
tags:
- WorkflowService
description: ListActivityExecutions is a visibility API to list activity executions in a specific namespace.
operationId: ListActivityExecutions
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: pageSize
in: query
description: Max number of executions to return per page.
schema:
type: integer
format: int32
- name: nextPageToken
in: query
description: Token returned in ListActivityExecutionsResponse.
schema:
type: string
format: bytes
- name: query
in: query
description: Visibility query, see https://docs.temporal.io/list-filter for the syntax.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListActivityExecutionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activities-deprecated/pause:
post:
tags:
- WorkflowService
description: |-
PauseActivity pauses the execution of an activity specified by its ID or type.
If there are multiple pending activities of the provided type - all of them will be paused
Pausing an activity means:
- If the activity is currently waiting for a retry or is running and subsequently fails,
it will not be rescheduled until it is unpaused.
- If the activity is already paused, calling this method will have no effect.
- If the activity is running and finishes successfully, the activity will be completed.
- If the activity is running and finishes with failure:
* if there is no retry left - the activity will be completed.
* if there are more retries left - the activity will be paused.
For long-running activities:
- activities in paused state will send a cancellation with "activity_paused" set to 'true' in response to 'RecordActivityTaskHeartbeat'.
- The activity should respond to the cancellation accordingly.
Returns a `NotFound` error if there is no pending activity with the provided ID or type
This API will be deprecated soon and replaced with a newer PauseActivityExecution that is better named and
structured to work well for standalone activities.
operationId: PauseActivity
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PauseActivityRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PauseActivityResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activities-deprecated/reset:
post:
tags:
- WorkflowService
description: |-
ResetActivity resets the execution of an activity specified by its ID or type.
If there are multiple pending activities of the provided type - all of them will be reset.
Resetting an activity means:
* number of attempts will be reset to 0.
* activity timeouts will be reset.
* if the activity is waiting for retry, and it is not paused or 'keep_paused' is not provided:
it will be scheduled immediately (* see 'jitter' flag),
Flags:
'jitter': the activity will be scheduled at a random time within the jitter duration.
If the activity currently paused it will be unpaused, unless 'keep_paused' flag is provided.
'reset_heartbeats': the activity heartbeat timer and heartbeats will be reset.
'keep_paused': if the activity is paused, it will remain paused.
Returns a `NotFound` error if there is no pending activity with the provided ID or type.
This API will be deprecated soon and replaced with a newer ResetActivityExecution that is better named and
structured to work well for standalone activities.
operationId: ResetActivity
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResetActivityRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResetActivityResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activities-deprecated/unpause:
post:
tags:
- WorkflowService
description: |-
UnpauseActivity unpauses the execution of an activity specified by its ID or type.
If there are multiple pending activities of the provided type - all of them will be unpaused.
If activity is not paused, this call will have no effect.
If the activity was paused while waiting for retry, it will be scheduled immediately (* see 'jitter' flag).
Once the activity is unpaused, all timeout timers will be regenerated.
Flags:
'jitter': the activity will be scheduled at a random time within the jitter duration.
'reset_attempts': the number of attempts will be reset.
'reset_heartbeat': the activity heartbeat timer and heartbeats will be reset.
Returns a `NotFound` error if there is no pending activity with the provided ID or type
This API will be deprecated soon and replaced with a newer UnpauseActivityExecution that is better named and
structured to work well for standalone activities.
operationId: UnpauseActivity
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UnpauseActivityRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UnpauseActivityResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activities-deprecated/update-options:
post:
tags:
- WorkflowService
description: |-
UpdateActivityOptions is called by the client to update the options of an activity by its ID or type.
If there are multiple pending activities of the provided type - all of them will be updated.
This API will be deprecated soon and replaced with a newer UpdateActivityExecutionOptions that is better named and
structured to work well for standalone activities.
operationId: UpdateActivityOptions
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateActivityOptionsRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateActivityOptionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activities/{activityId}:
get:
tags:
- WorkflowService
description: |-
DescribeActivityExecution returns information about an activity execution.
It can be used to:
- Get current activity info without waiting
- Long-poll for next state change and return new activity info
Response can optionally include activity input or outcome (if the activity has completed).
operationId: DescribeActivityExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: activityId
in: path
required: true
schema:
type: string
- name: runId
in: query
description: Activity run ID. If empty the request targets the latest run.
schema:
type: string
- name: includeInput
in: query
description: Include the input field in the response.
schema:
type: boolean
- name: includeOutcome
in: query
description: Include the outcome (result/failure) in the response if the activity has completed.
schema:
type: boolean
- name: longPollToken
in: query
description: |-
Token from a previous DescribeActivityExecutionResponse. If present, long-poll until activity
state changes from the state encoded in this token. If absent, return current state immediately.
If present, run_id must also be present.
Note that activity state may change multiple times between requests, therefore it is not
guaranteed that a client making a sequence of long-poll requests will see a complete
sequence of state changes.
schema:
type: string
format: bytes
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeActivityExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- WorkflowService
description: |-
StartActivityExecution starts a new activity execution.
Returns an `ActivityExecutionAlreadyStarted` error if an instance already exists with same activity ID in this namespace
unless permitted by the specified ID conflict policy.
operationId: StartActivityExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: activityId
in: path
description: |-
Identifier for this activity. Required. This identifier should be meaningful in the user's
own system. It must be unique among activities in the same namespace, subject to the rules
imposed by id_reuse_policy and id_conflict_policy.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StartActivityExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StartActivityExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activities/{activityId}/cancel:
post:
tags:
- WorkflowService
description: |-
RequestCancelActivityExecution requests cancellation of an activity execution.
Cancellation is cooperative: this call records the request, but the activity must detect and
acknowledge it for the activity to reach CANCELED status. The cancellation signal is
delivered via `cancel_requested` in the heartbeat response; SDKs surface this via
language-idiomatic mechanisms (context cancellation, exceptions, abort signals).
operationId: RequestCancelActivityExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: activityId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RequestCancelActivityExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RequestCancelActivityExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activities/{activityId}/complete:
post:
tags:
- WorkflowService
description: |-
See `RespondActivityTaskCompleted`. This version allows clients to record completions by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RespondActivityTaskCompletedById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity to complete
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCompletedByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCompletedByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activities/{activityId}/fail:
post:
tags:
- WorkflowService
description: |-
See `RecordActivityTaskFailed`. This version allows clients to record failures by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RespondActivityTaskFailedById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity to fail
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskFailedByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskFailedByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activities/{activityId}/heartbeat:
post:
tags:
- WorkflowService
description: |-
See `RecordActivityTaskHeartbeat`. This version allows clients to record heartbeats by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RecordActivityTaskHeartbeatById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity we're heartbeating
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RecordActivityTaskHeartbeatByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RecordActivityTaskHeartbeatByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activities/{activityId}/outcome:
get:
tags:
- WorkflowService
description: |-
PollActivityExecution long-polls for an activity execution to complete and returns the
outcome (result or failure).
operationId: PollActivityExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: activityId
in: path
required: true
schema:
type: string
- name: runId
in: query
description: Activity run ID. If empty the request targets the latest run.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PollActivityExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activities/{activityId}/resolve-as-canceled:
post:
tags:
- WorkflowService
description: |-
See `RespondActivityTaskCanceled`. This version allows clients to record failures by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RespondActivityTaskCanceledById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity to confirm is cancelled
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCanceledByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCanceledByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activities/{activityId}/terminate:
post:
tags:
- WorkflowService
description: |-
TerminateActivityExecution terminates an existing activity execution immediately.
Termination does not reach the worker and the activity code cannot react to it. A terminated activity may have a
running attempt.
operationId: TerminateActivityExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: activityId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateActivityExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateActivityExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activity-complete:
post:
tags:
- WorkflowService
description: |-
RespondActivityTaskCompleted is called by workers when they successfully complete an activity
task.
For workflow activities, this results in a new `ACTIVITY_TASK_COMPLETED` event being written to the workflow history
and a new workflow task created for the workflow. Fails with `NotFound` if the task token is
no longer valid due to activity timeout, already being completed, or never having existed.
operationId: RespondActivityTaskCompleted
parameters:
- name: namespace
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCompletedRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCompletedResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activity-count:
get:
tags:
- WorkflowService
description: CountActivityExecutions is a visibility API to count activity executions in a specific namespace.
operationId: CountActivityExecutions
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: query
in: query
description: Visibility query, see https://docs.temporal.io/list-filter for the syntax.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CountActivityExecutionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activity-fail:
post:
tags:
- WorkflowService
description: |-
RespondActivityTaskFailed is called by workers when processing an activity task fails.
This results in a new `ACTIVITY_TASK_FAILED` event being written to the workflow history and
a new workflow task created for the workflow. Fails with `NotFound` if the task token is no
longer valid due to activity timeout, already being completed, or never having existed.
operationId: RespondActivityTaskFailed
parameters:
- name: namespace
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskFailedRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskFailedResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activity-heartbeat:
post:
tags:
- WorkflowService
description: |-
RecordActivityTaskHeartbeat is optionally called by workers while they execute activities.
If a worker fails to heartbeat within the `heartbeat_timeout` interval for the activity task,
then the current attempt times out. Depending on RetryPolicy, this may trigger a retry or
time out the activity.
For workflow activities, an `ACTIVITY_TASK_TIMED_OUT` event will be written to the workflow
history. Calling `RecordActivityTaskHeartbeat` will fail with `NotFound` in such situations,
in that event, the SDK should request cancellation of the activity.
The request may contain response `details` which will be persisted by the server and may be
used by the activity to checkpoint progress. The `cancel_requested` field in the response
indicates whether cancellation has been requested for the activity.
operationId: RecordActivityTaskHeartbeat
parameters:
- name: namespace
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RecordActivityTaskHeartbeatRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RecordActivityTaskHeartbeatResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/activity-resolve-as-canceled:
post:
tags:
- WorkflowService
description: |-
RespondActivityTaskFailed is called by workers when processing an activity task fails.
For workflow activities, this results in a new `ACTIVITY_TASK_CANCELED` event being written to the workflow history
and a new workflow task created for the workflow. Fails with `NotFound` if the task token is
no longer valid due to activity timeout, already being completed, or never having existed.
operationId: RespondActivityTaskCanceled
parameters:
- name: namespace
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCanceledRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCanceledResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/archived-workflows:
get:
tags:
- WorkflowService
description: ListArchivedWorkflowExecutions is a visibility API to list archived workflow executions in a specific namespace.
operationId: ListArchivedWorkflowExecutions
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: pageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
schema:
type: string
format: bytes
- name: query
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListArchivedWorkflowExecutionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/batch-operations:
get:
tags:
- WorkflowService
description: ListBatchOperations returns a list of batch operations
operationId: ListBatchOperations
parameters:
- name: namespace
in: path
description: Namespace that contains the batch operation
required: true
schema:
type: string
- name: pageSize
in: query
description: List page size
schema:
type: integer
format: int32
- name: nextPageToken
in: query
description: Next page token
schema:
type: string
format: bytes
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListBatchOperationsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/batch-operations/{jobId}:
get:
tags:
- WorkflowService
description: DescribeBatchOperation returns the information about a batch operation
operationId: DescribeBatchOperation
parameters:
- name: namespace
in: path
description: Namespace that contains the batch operation
required: true
schema:
type: string
- name: jobId
in: path
description: Batch job id
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeBatchOperationResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- WorkflowService
description: StartBatchOperation starts a new batch operation
operationId: StartBatchOperation
parameters:
- name: namespace
in: path
description: Namespace that contains the batch operation
required: true
schema:
type: string
- name: jobId
in: path
description: Job ID defines the unique ID for the batch job
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StartBatchOperationRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StartBatchOperationResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/batch-operations/{jobId}/stop:
post:
tags:
- WorkflowService
description: StopBatchOperation stops a batch operation
operationId: StopBatchOperation
parameters:
- name: namespace
in: path
description: Namespace that contains the batch operation
required: true
schema:
type: string
- name: jobId
in: path
description: Batch job id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StopBatchOperationRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StopBatchOperationResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/current-deployment/{deployment.series_name}:
post:
tags:
- WorkflowService
description: |-
Sets a deployment as the current deployment for its deployment series. Can optionally update
the metadata of the deployment as well.
Experimental. This API might significantly change or be removed in a future release.
Deprecated. Replaced by `SetWorkerDeploymentCurrentVersion`.
operationId: SetCurrentDeployment
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment.series_name
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetCurrentDeploymentRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SetCurrentDeploymentResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/current-deployment/{seriesName}:
get:
tags:
- WorkflowService
description: |-
Returns the current deployment (and its info) for a given deployment series.
Experimental. This API might significantly change or be removed in a future release.
Deprecated. Replaced by `current_version` returned by `DescribeWorkerDeployment`.
operationId: GetCurrentDeployment
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: seriesName
in: path
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetCurrentDeploymentResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/deployments:
get:
tags:
- WorkflowService
description: |-
Lists worker deployments in the namespace. Optionally can filter based on deployment series
name.
Experimental. This API might significantly change or be removed in a future release.
Deprecated. Replaced with `ListWorkerDeployments`.
operationId: ListDeployments
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: pageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
schema:
type: string
format: bytes
- name: seriesName
in: query
description: Optional. Use to filter based on exact series name match.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListDeploymentsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}:
get:
tags:
- WorkflowService
description: |-
Describes a worker deployment.
Experimental. This API might significantly change or be removed in a future release.
Deprecated. Replaced with `DescribeWorkerDeploymentVersion`.
operationId: DescribeDeployment
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment.series_name
in: path
required: true
schema:
type: string
- name: deployment.build_id
in: path
required: true
schema:
type: string
- name: deployment.seriesName
in: query
description: |-
Different versions of the same worker service/application are related together by having a
shared series name.
Out of all deployments of a series, one can be designated as the current deployment, which
receives new workflow executions and new tasks of workflows with
`VERSIONING_BEHAVIOR_AUTO_UPGRADE` versioning behavior.
schema:
type: string
- name: deployment.buildId
in: query
description: |-
Build ID changes with each version of the worker when the worker program code and/or config
changes.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeDeploymentResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}/reachability:
get:
tags:
- WorkflowService
description: |-
Returns the reachability level of a worker deployment to help users decide when it is time
to decommission a deployment. Reachability level is calculated based on the deployment's
`status` and existing workflows that depend on the given deployment for their execution.
Calculating reachability is relatively expensive. Therefore, server might return a recently
cached value. In such a case, the `last_update_time` will inform you about the actual
reachability calculation time.
Experimental. This API might significantly change or be removed in a future release.
Deprecated. Replaced with `DrainageInfo` returned by `DescribeWorkerDeploymentVersion`.
operationId: GetDeploymentReachability
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment.series_name
in: path
required: true
schema:
type: string
- name: deployment.build_id
in: path
required: true
schema:
type: string
- name: deployment.seriesName
in: query
description: |-
Different versions of the same worker service/application are related together by having a
shared series name.
Out of all deployments of a series, one can be designated as the current deployment, which
receives new workflow executions and new tasks of workflows with
`VERSIONING_BEHAVIOR_AUTO_UPGRADE` versioning behavior.
schema:
type: string
- name: deployment.buildId
in: query
description: |-
Build ID changes with each version of the worker when the worker program code and/or config
changes.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetDeploymentReachabilityResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/nexus-operation-count:
get:
tags:
- WorkflowService
description: CountNexusOperationExecutions is a visibility API to count Nexus operations in a specific namespace.
operationId: CountNexusOperationExecutions
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: query
in: query
description: |-
Visibility query, see https://docs.temporal.io/list-filter for the syntax.
See also ListNexusOperationExecutionsRequest for search attributes available for Nexus operations.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CountNexusOperationExecutionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/nexus-operations:
get:
tags:
- WorkflowService
description: ListNexusOperationExecutions is a visibility API to list Nexus operations in a specific namespace.
operationId: ListNexusOperationExecutions
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: pageSize
in: query
description: Max number of operations to return per page.
schema:
type: integer
format: int32
- name: nextPageToken
in: query
description: Token returned in ListNexusOperationExecutionsResponse.
schema:
type: string
format: bytes
- name: query
in: query
description: |-
Visibility query, see https://docs.temporal.io/list-filter for the syntax.
Search attributes that are avaialble for Nexus operations include:
- OperationId
- RunId
- Endpoint
- Service
- Operation
- RequestId
- StartTime
- ExecutionTime
- CloseTime
- ExecutionStatus
- ExecutionDuration
- StateTransitionCount
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListNexusOperationExecutionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/nexus-operations/{operationId}:
get:
tags:
- WorkflowService
description: |-
DescribeNexusOperationExecution returns information about a Nexus operation.
Supported use cases include:
- Get current operation info without waiting
- Long-poll for next state change and return new operation info
Response can optionally include operation input or outcome (if the operation has completed).
operationId: DescribeNexusOperationExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: operationId
in: path
required: true
schema:
type: string
- name: runId
in: query
description: Operation run ID. If empty the request targets the latest run.
schema:
type: string
- name: includeInput
in: query
description: Include the input field in the response.
schema:
type: boolean
- name: includeOutcome
in: query
description: Include the outcome (result/failure) in the response if the operation has completed.
schema:
type: boolean
- name: longPollToken
in: query
description: |-
Token from a previous DescribeNexusOperationExecutionResponse. If present, this RPC will long-poll until operation
state changes from the state encoded in this token. If absent, return current state immediately.
If present, run_id must also be present.
Note that operation state may change multiple times between requests, therefore it is not
guaranteed that a client making a sequence of long-poll requests will see a complete
sequence of state changes.
schema:
type: string
format: bytes
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeNexusOperationExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- WorkflowService
description: |-
StartNexusOperationExecution starts a new Nexus operation.
Returns a `NexusOperationExecutionAlreadyStarted` error if an instance already exists with same operation ID in this
namespace unless permitted by the specified ID conflict policy.
operationId: StartNexusOperationExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: operationId
in: path
description: |-
Identifier for this operation. This is a caller-side ID, distinct from any internal
operation identifiers generated by the handler. Must be unique among operations in the
same namespace, subject to the rules imposed by id_reuse_policy and id_conflict_policy.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StartNexusOperationExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StartNexusOperationExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/nexus-operations/{operationId}/cancel:
post:
tags:
- WorkflowService
description: |-
RequestCancelNexusOperationExecution requests cancellation of a Nexus operation.
Requesting to cancel an operation does not automatically transition the operation to canceled status.
The operation will only transition to canceled status if it supports cancellation and the handler
processes the cancellation request.
operationId: RequestCancelNexusOperationExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: operationId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RequestCancelNexusOperationExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RequestCancelNexusOperationExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/nexus-operations/{operationId}/poll:
get:
tags:
- WorkflowService
description: |-
PollNexusOperationExecution long-polls for a Nexus operation for a given wait stage to complete and returns
the outcome (result or failure).
operationId: PollNexusOperationExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: operationId
in: path
required: true
schema:
type: string
- name: runId
in: query
description: Operation run ID. If empty the request targets the latest run.
schema:
type: string
- name: waitStage
in: query
description: Stage to wait for. The operation may be in a more advanced stage when the poll is unblocked.
schema:
enum:
- NEXUS_OPERATION_WAIT_STAGE_UNSPECIFIED
- NEXUS_OPERATION_WAIT_STAGE_STARTED
- NEXUS_OPERATION_WAIT_STAGE_CLOSED
type: string
format: enum
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PollNexusOperationExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/nexus-operations/{operationId}/terminate:
post:
tags:
- WorkflowService
description: |-
TerminateNexusOperationExecution terminates an existing Nexus operation immediately.
Termination happens immediately and the operation handler cannot react to it. A terminated operation will have
its outcome set to a failure with a termination reason.
operationId: TerminateNexusOperationExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: operationId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateNexusOperationExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateNexusOperationExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/schedule-count:
get:
tags:
- WorkflowService
description: CountSchedules is a visibility API to count schedules in a specific namespace.
operationId: CountSchedules
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: query
in: query
description: Visibility query, see https://docs.temporal.io/list-filter for the syntax.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CountSchedulesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/schedules:
get:
tags:
- WorkflowService
description: List all schedules in a namespace.
operationId: ListSchedules
parameters:
- name: namespace
in: path
description: The namespace to list schedules in.
required: true
schema:
type: string
- name: maximumPageSize
in: query
description: How many to return at once.
schema:
type: integer
format: int32
- name: nextPageToken
in: query
description: Token to get the next page of results.
schema:
type: string
format: bytes
- name: query
in: query
description: Query to filter schedules.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListSchedulesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/schedules/{scheduleId}:
get:
tags:
- WorkflowService
description: Returns the schedule description and current state of an existing schedule.
operationId: DescribeSchedule
parameters:
- name: namespace
in: path
description: The namespace of the schedule to describe.
required: true
schema:
type: string
- name: scheduleId
in: path
description: The id of the schedule to describe.
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeScheduleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- WorkflowService
description: Creates a new schedule.
operationId: CreateSchedule
parameters:
- name: namespace
in: path
description: The namespace the schedule should be created in.
required: true
schema:
type: string
- name: scheduleId
in: path
description: The id of the new schedule.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateScheduleRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateScheduleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- WorkflowService
description: Deletes a schedule, removing it from the system.
operationId: DeleteSchedule
parameters:
- name: namespace
in: path
description: The namespace of the schedule to delete.
required: true
schema:
type: string
- name: scheduleId
in: path
description: The id of the schedule to delete.
required: true
schema:
type: string
- name: identity
in: query
description: The identity of the client who initiated this request.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteScheduleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/schedules/{scheduleId}/matching-times:
get:
tags:
- WorkflowService
description: Lists matching times within a range.
operationId: ListScheduleMatchingTimes
parameters:
- name: namespace
in: path
description: The namespace of the schedule to query.
required: true
schema:
type: string
- name: scheduleId
in: path
description: The id of the schedule to query.
required: true
schema:
type: string
- name: startTime
in: query
description: Time range to query.
schema:
type: string
format: date-time
- name: endTime
in: query
schema:
type: string
format: date-time
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListScheduleMatchingTimesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/schedules/{scheduleId}/patch:
post:
tags:
- WorkflowService
description: Makes a specific change to a schedule or triggers an immediate action.
operationId: PatchSchedule
parameters:
- name: namespace
in: path
description: The namespace of the schedule to patch.
required: true
schema:
type: string
- name: scheduleId
in: path
description: The id of the schedule to patch.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchScheduleRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PatchScheduleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/schedules/{scheduleId}/update:
post:
tags:
- WorkflowService
description: Changes the configuration or state of an existing schedule.
operationId: UpdateSchedule
parameters:
- name: namespace
in: path
description: The namespace of the schedule to update.
required: true
schema:
type: string
- name: scheduleId
in: path
description: The id of the schedule to update.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateScheduleRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateScheduleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/task-queues/{taskQueue}/update-config:
post:
tags:
- WorkflowService
description: |-
Updates task queue configuration.
For the overall queue rate limit: the rate limit set by this api overrides the worker-set rate limit,
which uncouples the rate limit from the worker lifecycle.
If the overall queue rate limit is unset, the worker-set rate limit takes effect.
operationId: UpdateTaskQueueConfig
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: taskQueue
in: path
description: Selects the task queue to update.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTaskQueueConfigRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTaskQueueConfigResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/task-queues/{taskQueue}/worker-build-id-compatibility:
get:
tags:
- WorkflowService
description: |-
Deprecated. Use `GetWorkerVersioningRules`.
Fetches the worker build id versioning sets for a task queue.
operationId: GetWorkerBuildIdCompatibility
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: taskQueue
in: path
description: Must be set, the task queue to interrogate about worker id compatibility.
required: true
schema:
type: string
- name: maxSets
in: query
description: |-
Limits how many compatible sets will be returned. Specify 1 to only return the current
default major version set. 0 returns all sets.
schema:
type: integer
format: int32
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkerBuildIdCompatibilityResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/task-queues/{taskQueue}/worker-versioning-rules:
get:
tags:
- WorkflowService
description: |-
Fetches the Build ID assignment and redirect rules for a Task Queue.
WARNING: Worker Versioning is not yet stable and the API and behavior may change incompatibly.
operationId: GetWorkerVersioningRules
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: taskQueue
in: path
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkerVersioningRulesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/task-queues/{task_queue.name}:
get:
tags:
- WorkflowService
description: |-
DescribeTaskQueue returns the following information about the target task queue, broken down by Build ID:
- List of pollers
- Workflow Reachability status
- Backlog info for Workflow and/or Activity tasks
operationId: DescribeTaskQueue
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: task_queue.name
in: path
required: true
schema:
type: string
- name: taskQueue.name
in: query
schema:
type: string
- name: taskQueue.kind
in: query
description: 'Default: TASK_QUEUE_KIND_NORMAL.'
schema:
enum:
- TASK_QUEUE_KIND_UNSPECIFIED
- TASK_QUEUE_KIND_NORMAL
- TASK_QUEUE_KIND_STICKY
- TASK_QUEUE_KIND_WORKER_COMMANDS
type: string
format: enum
- name: taskQueue.normalName
in: query
description: |-
Iff kind == TASK_QUEUE_KIND_STICKY, then this field contains the name of
the normal task queue that the sticky worker is running on.
schema:
type: string
- name: taskQueueType
in: query
description: |-
If unspecified (TASK_QUEUE_TYPE_UNSPECIFIED), then default value (TASK_QUEUE_TYPE_WORKFLOW) will be used.
Only supported in default mode (use `task_queue_types` in ENHANCED mode instead).
schema:
enum:
- TASK_QUEUE_TYPE_UNSPECIFIED
- TASK_QUEUE_TYPE_WORKFLOW
- TASK_QUEUE_TYPE_ACTIVITY
- TASK_QUEUE_TYPE_NEXUS
type: string
format: enum
- name: reportStats
in: query
description: Report stats for the requested task queue type(s).
schema:
type: boolean
- name: reportConfig
in: query
description: Report Task Queue Config
schema:
type: boolean
- name: includeTaskQueueStatus
in: query
description: |-
Deprecated, use `report_stats` instead.
If true, the task queue status will be included in the response.
schema:
type: boolean
- name: apiMode
in: query
description: |-
Deprecated. ENHANCED mode is also being deprecated.
Select the API mode to use for this request: DEFAULT mode (if unset) or ENHANCED mode.
Consult the documentation for each field to understand which mode it is supported in.
schema:
enum:
- DESCRIBE_TASK_QUEUE_MODE_UNSPECIFIED
- DESCRIBE_TASK_QUEUE_MODE_ENHANCED
type: string
format: enum
- name: versions.buildIds
in: query
description: Include specific Build IDs.
schema:
type: array
items:
type: string
- name: versions.unversioned
in: query
description: Include the unversioned queue.
schema:
type: boolean
- name: versions.allActive
in: query
description: |-
Include all active versions. A version is considered active if, in the last few minutes,
it has had new tasks or polls, or it has been the subject of certain task queue API calls.
schema:
type: boolean
- name: taskQueueTypes
in: query
description: |-
Deprecated (as part of the ENHANCED mode deprecation).
Task queue types to report info about. If not specified, all types are considered.
schema:
type: array
items:
enum:
- TASK_QUEUE_TYPE_UNSPECIFIED
- TASK_QUEUE_TYPE_WORKFLOW
- TASK_QUEUE_TYPE_ACTIVITY
- TASK_QUEUE_TYPE_NEXUS
type: string
format: enum
- name: reportPollers
in: query
description: |-
Deprecated (as part of the ENHANCED mode deprecation).
Report list of pollers for requested task queue types and versions.
schema:
type: boolean
- name: reportTaskReachability
in: query
description: |-
Deprecated (as part of the ENHANCED mode deprecation).
Report task reachability for the requested versions and all task types (task reachability is not reported
per task type).
schema:
type: boolean
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeTaskQueueResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}:
post:
tags:
- WorkflowService
description: |-
Creates a new Worker Deployment Version.
Experimental. This API might significantly change or be removed in a
future release.
operationId: CreateWorkerDeploymentVersion
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment_version.deployment_name
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkerDeploymentVersionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkerDeploymentVersionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}:
get:
tags:
- WorkflowService
description: |-
Describes a worker deployment version.
Experimental. This API might significantly change or be removed in a future release.
operationId: DescribeWorkerDeploymentVersion
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment_version.deployment_name
in: path
required: true
schema:
type: string
- name: deployment_version.build_id
in: path
required: true
schema:
type: string
- name: version
in: query
description: Deprecated. Use `deployment_version`.
schema:
type: string
- name: deploymentVersion.buildId
in: query
description: |-
A unique identifier for this Version within the Deployment it is a part of.
Not necessarily unique within the namespace.
The combination of `deployment_name` and `build_id` uniquely identifies this
Version within the namespace, because Deployment names are unique within a namespace.
schema:
type: string
- name: deploymentVersion.deploymentName
in: query
description: Identifies the Worker Deployment this Version is part of.
schema:
type: string
- name: reportTaskQueueStats
in: query
description: Report stats for task queues which have been polled by this version.
schema:
type: boolean
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeWorkerDeploymentVersionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- WorkflowService
description: |-
Used for manual deletion of Versions. User can delete a Version only when all the
following conditions are met:
- It is not the Current or Ramping Version of its Deployment.
- It has no active pollers (none of the task queues in the Version have pollers)
- It is not draining (see WorkerDeploymentVersionInfo.drainage_info). This condition
can be skipped by passing `skip-drainage=true`.
Experimental. This API might significantly change or be removed in a future release.
operationId: DeleteWorkerDeploymentVersion
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment_version.deployment_name
in: path
required: true
schema:
type: string
- name: deployment_version.build_id
in: path
required: true
schema:
type: string
- name: version
in: query
description: Deprecated. Use `deployment_version`.
schema:
type: string
- name: deploymentVersion.buildId
in: query
description: |-
A unique identifier for this Version within the Deployment it is a part of.
Not necessarily unique within the namespace.
The combination of `deployment_name` and `build_id` uniquely identifies this
Version within the namespace, because Deployment names are unique within a namespace.
schema:
type: string
- name: deploymentVersion.deploymentName
in: query
description: Identifies the Worker Deployment this Version is part of.
schema:
type: string
- name: skipDrainage
in: query
description: |-
Pass to force deletion even if the Version is draining. In this case the open pinned
workflows will be stuck until manually moved to another version by UpdateWorkflowExecutionOptions.
schema:
type: boolean
- name: identity
in: query
description: Optional. The identity of the client who initiated this request.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteWorkerDeploymentVersionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
? /namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/update-compute-config
: post:
tags:
- WorkflowService
description: |-
Updates the compute config attached to a Worker Deployment Version.
Experimental. This API might significantly change or be removed in a future release.
operationId: UpdateWorkerDeploymentVersionComputeConfig
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment_version.deployment_name
in: path
required: true
schema:
type: string
- name: deployment_version.build_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkerDeploymentVersionComputeConfigRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkerDeploymentVersionComputeConfigResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
? /namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/update-metadata
: post:
tags:
- WorkflowService
description: |-
Updates the user-given metadata attached to a Worker Deployment Version.
Experimental. This API might significantly change or be removed in a future release.
operationId: UpdateWorkerDeploymentVersionMetadata
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment_version.deployment_name
in: path
required: true
schema:
type: string
- name: deployment_version.build_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkerDeploymentVersionMetadataRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkerDeploymentVersionMetadataResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
? /namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/validate-compute-config
: post:
tags:
- WorkflowService
description: |-
Validates the compute config without attaching it to a Worker Deployment Version.
Experimental. This API might significantly change or be removed in a future release.
operationId: ValidateWorkerDeploymentVersionComputeConfig
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deployment_version.deployment_name
in: path
required: true
schema:
type: string
- name: deployment_version.build_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateWorkerDeploymentVersionComputeConfigRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateWorkerDeploymentVersionComputeConfigResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/worker-deployments:
get:
tags:
- WorkflowService
description: |-
Lists all Worker Deployments that are tracked in the Namespace.
Experimental. This API might significantly change or be removed in a future release.
operationId: ListWorkerDeployments
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: pageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
schema:
type: string
format: bytes
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListWorkerDeploymentsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/worker-deployments/{deploymentName}:
get:
tags:
- WorkflowService
description: |-
Describes a Worker Deployment.
Experimental. This API might significantly change or be removed in a future release.
operationId: DescribeWorkerDeployment
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deploymentName
in: path
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeWorkerDeploymentResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- WorkflowService
description: |-
Creates a new Worker Deployment.
Experimental. This API might significantly change or be removed in a
future release.
operationId: CreateWorkerDeployment
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deploymentName
in: path
description: |-
The name of the Worker Deployment to create. If a Worker Deployment with
this name already exists, an error will be returned.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkerDeploymentRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkerDeploymentResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- WorkflowService
description: |-
Deletes records of (an old) Deployment. A deployment can only be deleted if
it has no Version in it.
Experimental. This API might significantly change or be removed in a future release.
operationId: DeleteWorkerDeployment
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deploymentName
in: path
required: true
schema:
type: string
- name: identity
in: query
description: Optional. The identity of the client who initiated this request.
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteWorkerDeploymentResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/worker-deployments/{deploymentName}/set-current-version:
post:
tags:
- WorkflowService
description: |-
Set/unset the Current Version of a Worker Deployment. Automatically unsets the Ramping
Version if it is the Version being set as Current.
Experimental. This API might significantly change or be removed in a future release.
operationId: SetWorkerDeploymentCurrentVersion
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deploymentName
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetWorkerDeploymentCurrentVersionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SetWorkerDeploymentCurrentVersionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/worker-deployments/{deploymentName}/set-manager:
post:
tags:
- WorkflowService
description: |-
Set/unset the ManagerIdentity of a Worker Deployment.
Experimental. This API might significantly change or be removed in a future release.
operationId: SetWorkerDeploymentManager
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deploymentName
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetWorkerDeploymentManagerRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SetWorkerDeploymentManagerResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/worker-deployments/{deploymentName}/set-ramping-version:
post:
tags:
- WorkflowService
description: |-
Set/unset the Ramping Version of a Worker Deployment and its ramp percentage. Can be used for
gradual ramp to unversioned workers too.
Experimental. This API might significantly change or be removed in a future release.
operationId: SetWorkerDeploymentRampingVersion
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: deploymentName
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetWorkerDeploymentRampingVersionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SetWorkerDeploymentRampingVersionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/worker-task-reachability:
get:
tags:
- WorkflowService
description: |-
Deprecated. Use `DescribeTaskQueue`.
Fetches task reachability to determine whether a worker may be retired.
The request may specify task queues to query for or let the server fetch all task queues mapped to the given
build IDs.
When requesting a large number of task queues or all task queues associated with the given build ids in a
namespace, all task queues will be listed in the response but some of them may not contain reachability
information due to a server enforced limit. When reaching the limit, task queues that reachability information
could not be retrieved for will be marked with a single TASK_REACHABILITY_UNSPECIFIED entry. The caller may issue
another call to get the reachability for those task queues.
Open source users can adjust this limit by setting the server's dynamic config value for
`limit.reachabilityTaskQueueScan` with the caveat that this call can strain the visibility store.
operationId: GetWorkerTaskReachability
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: buildIds
in: query
description: |-
Build ids to retrieve reachability for. An empty string will be interpreted as an unversioned worker.
The number of build ids that can be queried in a single API call is limited.
Open source users can adjust this limit by setting the server's dynamic config value for
`limit.reachabilityQueryBuildIds` with the caveat that this call can strain the visibility store.
schema:
type: array
items:
type: string
- name: taskQueues
in: query
description: |-
Task queues to retrieve reachability for. Leave this empty to query for all task queues associated with given
build ids in the namespace.
Must specify at least one task queue if querying for an unversioned worker.
The number of task queues that the server will fetch reachability information for is limited.
See the `GetWorkerTaskReachabilityResponse` documentation for more information.
schema:
type: array
items:
type: string
- name: reachability
in: query
description: |-
Type of reachability to query for.
`TASK_REACHABILITY_NEW_WORKFLOWS` is always returned in the response.
Use `TASK_REACHABILITY_EXISTING_WORKFLOWS` if your application needs to respond to queries on closed workflows.
Otherwise, use `TASK_REACHABILITY_OPEN_WORKFLOWS`. Default is `TASK_REACHABILITY_EXISTING_WORKFLOWS` if left
unspecified.
See the TaskReachability docstring for information about each enum variant.
schema:
enum:
- TASK_REACHABILITY_UNSPECIFIED
- TASK_REACHABILITY_NEW_WORKFLOWS
- TASK_REACHABILITY_EXISTING_WORKFLOWS
- TASK_REACHABILITY_OPEN_WORKFLOWS
- TASK_REACHABILITY_CLOSED_WORKFLOWS
type: string
format: enum
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkerTaskReachabilityResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workers:
get:
tags:
- WorkflowService
description: ListWorkers is a visibility API to list worker status information in a specific namespace.
operationId: ListWorkers
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: pageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
schema:
type: string
format: bytes
- name: query
in: query
description: |-
`query` in ListWorkers is used to filter workers based on worker attributes.
Supported attributes:
* WorkerInstanceKey
* WorkerIdentity
* HostName
* TaskQueue
* DeploymentName
* BuildId
* SdkName
* SdkVersion
* StartTime
* Status
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListWorkersResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workers/describe/{workerInstanceKey}:
get:
tags:
- WorkflowService
description: DescribeWorker returns information about the specified worker.
operationId: DescribeWorker
parameters:
- name: namespace
in: path
description: Namespace this worker belongs to.
required: true
schema:
type: string
- name: workerInstanceKey
in: path
description: Worker instance key to describe.
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeWorkerResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workers/fetch-config:
post:
tags:
- WorkflowService
description: FetchWorkerConfig returns the worker configuration for a specific worker.
operationId: FetchWorkerConfig
parameters:
- name: namespace
in: path
description: Namespace this worker belongs to.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FetchWorkerConfigRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FetchWorkerConfigResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workers/heartbeat:
post:
tags:
- WorkflowService
description: WorkerHeartbeat receive heartbeat request from the worker.
operationId: RecordWorkerHeartbeat
parameters:
- name: namespace
in: path
description: Namespace this worker belongs to.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RecordWorkerHeartbeatRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RecordWorkerHeartbeatResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workers/update-config:
post:
tags:
- WorkflowService
description: |-
UpdateWorkerConfig updates the worker configuration of one or more workers.
Can be used to partially update the worker configuration.
Can be used to update the configuration of multiple workers.
operationId: UpdateWorkerConfig
parameters:
- name: namespace
in: path
description: Namespace this worker belongs to.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkerConfigRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkerConfigResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflow-count:
get:
tags:
- WorkflowService
description: CountWorkflowExecutions is a visibility API to count of workflow executions in a specific namespace.
operationId: CountWorkflowExecutions
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: query
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CountWorkflowExecutionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflow-rules:
get:
tags:
- WorkflowService
description: Return all namespace workflow rules
operationId: ListWorkflowRules
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: nextPageToken
in: query
schema:
type: string
format: bytes
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListWorkflowRulesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
post:
tags:
- WorkflowService
description: |-
Create a new workflow rule. The rules are used to control the workflow execution.
The rule will be applied to all running and new workflows in the namespace.
If the rule with such ID already exist this call will fail
Note: the rules are part of namespace configuration and will be stored in the namespace config.
Namespace config is eventually consistent.
operationId: CreateWorkflowRule
parameters:
- name: namespace
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkflowRuleRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkflowRuleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflow-rules/{ruleId}:
get:
tags:
- WorkflowService
description: |-
DescribeWorkflowRule return the rule specification for existing rule id.
If there is no rule with such id - NOT FOUND error will be returned.
operationId: DescribeWorkflowRule
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: ruleId
in: path
description: User-specified ID of the rule to read. Unique within the namespace.
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeWorkflowRuleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
delete:
tags:
- WorkflowService
description: Delete rule by rule id
operationId: DeleteWorkflowRule
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: ruleId
in: path
description: ID of the rule to delete. Unique within the namespace.
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteWorkflowRuleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows:
get:
tags:
- WorkflowService
description: ListWorkflowExecutions is a visibility API to list workflow executions in a specific namespace.
operationId: ListWorkflowExecutions
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: pageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
schema:
type: string
format: bytes
- name: query
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListWorkflowExecutionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{execution.workflow_id}:
get:
tags:
- WorkflowService
description: DescribeWorkflowExecution returns information about the specified workflow execution.
operationId: DescribeWorkflowExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: execution.workflow_id
in: path
required: true
schema:
type: string
- name: execution.workflowId
in: query
schema:
type: string
- name: execution.runId
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{execution.workflow_id}/history:
get:
tags:
- WorkflowService
description: |-
GetWorkflowExecutionHistory returns the history of specified workflow execution. Fails with
`NotFound` if the specified workflow execution is unknown to the service.
operationId: GetWorkflowExecutionHistory
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: execution.workflow_id
in: path
required: true
schema:
type: string
- name: execution.workflowId
in: query
schema:
type: string
- name: execution.runId
in: query
schema:
type: string
- name: maximumPageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
description: |-
If a `GetWorkflowExecutionHistoryResponse` or a `PollWorkflowTaskQueueResponse` had one of
these, it should be passed here to fetch the next page.
schema:
type: string
format: bytes
- name: waitNewEvent
in: query
description: |-
If set to true, the RPC call will not resolve until there is a new event which matches
the `history_event_filter_type`, or a timeout is hit.
schema:
type: boolean
- name: historyEventFilterType
in: query
description: |-
Filter returned events such that they match the specified filter type.
Default: HISTORY_EVENT_FILTER_TYPE_ALL_EVENT.
schema:
enum:
- HISTORY_EVENT_FILTER_TYPE_UNSPECIFIED
- HISTORY_EVENT_FILTER_TYPE_ALL_EVENT
- HISTORY_EVENT_FILTER_TYPE_CLOSE_EVENT
type: string
format: enum
- name: skipArchival
in: query
schema:
type: boolean
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkflowExecutionHistoryResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{execution.workflow_id}/history-reverse:
get:
tags:
- WorkflowService
description: |-
GetWorkflowExecutionHistoryReverse returns the history of specified workflow execution in reverse
order (starting from last event). Fails with`NotFound` if the specified workflow execution is
unknown to the service.
operationId: GetWorkflowExecutionHistoryReverse
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: execution.workflow_id
in: path
required: true
schema:
type: string
- name: execution.workflowId
in: query
schema:
type: string
- name: execution.runId
in: query
schema:
type: string
- name: maximumPageSize
in: query
schema:
type: integer
format: int32
- name: nextPageToken
in: query
schema:
type: string
format: bytes
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkflowExecutionHistoryReverseResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{execution.workflow_id}/query/{query.query_type}:
post:
tags:
- WorkflowService
description: QueryWorkflow requests a query be executed for a specified workflow execution.
operationId: QueryWorkflow
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: execution.workflow_id
in: path
required: true
schema:
type: string
- name: query.query_type
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/QueryWorkflowRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/QueryWorkflowResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{execution.workflow_id}/trigger-rule:
post:
tags:
- WorkflowService
description: |-
TriggerWorkflowRule allows to:
* trigger existing rule for a specific workflow execution;
* trigger rule for a specific workflow execution without creating a rule;
This is useful for one-off operations.
operationId: TriggerWorkflowRule
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: execution.workflow_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TriggerWorkflowRuleRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TriggerWorkflowRuleResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{workflowId}:
post:
tags:
- WorkflowService
description: |-
StartWorkflowExecution starts a new workflow execution.
It will create the execution with a `WORKFLOW_EXECUTION_STARTED` event in its history and
also schedule the first workflow task. Returns `WorkflowExecutionAlreadyStarted`, if an
instance already exists with same workflow id.
operationId: StartWorkflowExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: workflowId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StartWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StartWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{workflowId}/activities/{activityId}/complete:
post:
tags:
- WorkflowService
description: |-
See `RespondActivityTaskCompleted`. This version allows clients to record completions by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RespondActivityTaskCompletedById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: workflowId
in: path
description: Id of the workflow which scheduled this activity, leave empty to target a standalone activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity to complete
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCompletedByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCompletedByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{workflowId}/activities/{activityId}/fail:
post:
tags:
- WorkflowService
description: |-
See `RecordActivityTaskFailed`. This version allows clients to record failures by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RespondActivityTaskFailedById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: workflowId
in: path
description: Id of the workflow which scheduled this activity, leave empty to target a standalone activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity to fail
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskFailedByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskFailedByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{workflowId}/activities/{activityId}/heartbeat:
post:
tags:
- WorkflowService
description: |-
See `RecordActivityTaskHeartbeat`. This version allows clients to record heartbeats by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RecordActivityTaskHeartbeatById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: workflowId
in: path
description: Id of the workflow which scheduled this activity, leave empty to target a standalone activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity we're heartbeating
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RecordActivityTaskHeartbeatByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RecordActivityTaskHeartbeatByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{workflowId}/activities/{activityId}/resolve-as-canceled:
post:
tags:
- WorkflowService
description: |-
See `RespondActivityTaskCanceled`. This version allows clients to record failures by
namespace/workflow id/activity id instead of task token.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "By" is used to indicate request type. --)
operationId: RespondActivityTaskCanceledById
parameters:
- name: namespace
in: path
description: Namespace of the workflow which scheduled this activity
required: true
schema:
type: string
- name: workflowId
in: path
description: Id of the workflow which scheduled this activity, leave empty to target a standalone activity
required: true
schema:
type: string
- name: activityId
in: path
description: Id of the activity to confirm is cancelled
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCanceledByIdRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RespondActivityTaskCanceledByIdResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{workflowId}/pause:
post:
tags:
- WorkflowService
description: |-
Note: This is an experimental API and the behavior may change in a future release.
PauseWorkflowExecution pauses the workflow execution specified in the request. Pausing a workflow execution results in
- The workflow execution status changes to `PAUSED` and a new WORKFLOW_EXECUTION_PAUSED event is added to the history
- No new workflow tasks or activity tasks are dispatched.
- Any workflow task currently executing on the worker will be allowed to complete.
- Any activity task currently executing will be paused.
- All server-side events will continue to be processed by the server.
- Queries & Updates on a paused workflow will be rejected.
operationId: PauseWorkflowExecution
parameters:
- name: namespace
in: path
description: Namespace of the workflow to pause.
required: true
schema:
type: string
- name: workflowId
in: path
description: ID of the workflow execution to be paused. Required.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PauseWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PauseWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{workflowId}/signal-with-start/{signalName}:
post:
tags:
- WorkflowService
description: |-
SignalWithStartWorkflowExecution is used to ensure a signal is sent to a workflow, even if
it isn't yet started.
If the workflow is running, a `WORKFLOW_EXECUTION_SIGNALED` event is recorded in the history
and a workflow task is generated.
If the workflow is not running or not found, then the workflow is created with
`WORKFLOW_EXECUTION_STARTED` and `WORKFLOW_EXECUTION_SIGNALED` events in its history, and a
workflow task is generated.
(-- api-linter: core::0136::prepositions=disabled
aip.dev/not-precedent: "With" is used to indicate combined operation. --)
operationId: SignalWithStartWorkflowExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: workflowId
in: path
required: true
schema:
type: string
- name: signalName
in: path
description: The workflow author-defined name of the signal to send to the workflow
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SignalWithStartWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SignalWithStartWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{workflowId}/unpause:
post:
tags:
- WorkflowService
description: |-
Note: This is an experimental API and the behavior may change in a future release.
UnpauseWorkflowExecution unpauses a previously paused workflow execution specified in the request.
Unpausing a workflow execution results in
- The workflow execution status changes to `RUNNING` and a new WORKFLOW_EXECUTION_UNPAUSED event is added to the history
- Workflow tasks and activity tasks are resumed.
operationId: UnpauseWorkflowExecution
parameters:
- name: namespace
in: path
description: Namespace of the workflow to unpause.
required: true
schema:
type: string
- name: workflowId
in: path
description: ID of the workflow execution to be paused. Required.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UnpauseWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UnpauseWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/cancel:
post:
tags:
- WorkflowService
description: |-
RequestCancelWorkflowExecution is called by workers when they want to request cancellation of
a workflow execution.
This results in a new `WORKFLOW_EXECUTION_CANCEL_REQUESTED` event being written to the
workflow history and a new workflow task created for the workflow. It returns success if the requested
workflow is already closed. It fails with 'NotFound' if the requested workflow doesn't exist.
operationId: RequestCancelWorkflowExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: workflow_execution.workflow_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RequestCancelWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RequestCancelWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset:
post:
tags:
- WorkflowService
description: |-
ResetWorkflowExecution will reset an existing workflow execution to a specified
`WORKFLOW_TASK_COMPLETED` event (exclusive). It will immediately terminate the current
execution instance. "Exclusive" means the identified completed event itself is not replayed
in the reset history; the preceding `WORKFLOW_TASK_STARTED` event remains and will be marked as failed
immediately, and a new workflow task will be scheduled to retry it.
operationId: ResetWorkflowExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: workflow_execution.workflow_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResetWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResetWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signalName}:
post:
tags:
- WorkflowService
description: |-
SignalWorkflowExecution is used to send a signal to a running workflow execution.
This results in a `WORKFLOW_EXECUTION_SIGNALED` event recorded in the history and a workflow
task being created for the execution.
operationId: SignalWorkflowExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: workflow_execution.workflow_id
in: path
required: true
schema:
type: string
- name: signalName
in: path
description: The workflow author-defined name of the signal to send to the workflow
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SignalWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SignalWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/terminate:
post:
tags:
- WorkflowService
description: |-
TerminateWorkflowExecution terminates an existing workflow execution by recording a
`WORKFLOW_EXECUTION_TERMINATED` event in the history and immediately terminating the
execution instance.
operationId: TerminateWorkflowExecution
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: workflow_execution.workflow_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update-options:
post:
tags:
- WorkflowService
description: UpdateWorkflowExecutionOptions partially updates the WorkflowExecutionOptions of an existing workflow execution.
operationId: UpdateWorkflowExecutionOptions
parameters:
- name: namespace
in: path
description: The namespace name of the target Workflow.
required: true
schema:
type: string
- name: workflow_execution.workflow_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkflowExecutionOptionsRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkflowExecutionOptionsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update/{request.input.name}:
post:
tags:
- WorkflowService
description: Invokes the specified Update function on user Workflow code.
operationId: UpdateWorkflowExecution
parameters:
- name: namespace
in: path
description: The namespace name of the target Workflow.
required: true
schema:
type: string
- name: workflow_execution.workflow_id
in: path
required: true
schema:
type: string
- name: request.input.name
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkflowExecutionRequest'
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkflowExecutionResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
/system-info:
get:
tags:
- WorkflowService
description: GetSystemInfo returns information about the system.
operationId: GetSystemInfo
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetSystemInfoResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
components:
schemas:
ActivityExecutionInfo:
type: object
properties:
activityId:
type: string
description: Unique identifier of this activity within its namespace along with run ID (below).
runId:
type: string
activityType:
allOf:
- $ref: '#/components/schemas/ActivityType'
description: The type of the activity, a string that maps to a registered activity on a worker.
status:
enum:
- ACTIVITY_EXECUTION_STATUS_UNSPECIFIED
- ACTIVITY_EXECUTION_STATUS_RUNNING
- ACTIVITY_EXECUTION_STATUS_COMPLETED
- ACTIVITY_EXECUTION_STATUS_FAILED
- ACTIVITY_EXECUTION_STATUS_CANCELED
- ACTIVITY_EXECUTION_STATUS_TERMINATED
- ACTIVITY_EXECUTION_STATUS_TIMED_OUT
type: string
description: A general status for this activity, indicates whether it is currently running or in one of the terminal statuses.
format: enum
runState:
enum:
- PENDING_ACTIVITY_STATE_UNSPECIFIED
- PENDING_ACTIVITY_STATE_SCHEDULED
- PENDING_ACTIVITY_STATE_STARTED
- PENDING_ACTIVITY_STATE_CANCEL_REQUESTED
- PENDING_ACTIVITY_STATE_PAUSED
- PENDING_ACTIVITY_STATE_PAUSE_REQUESTED
type: string
description: More detailed breakdown of ACTIVITY_EXECUTION_STATUS_RUNNING.
format: enum
taskQueue:
type: string
scheduleToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Indicates how long the caller is willing to wait for an activity completion. Limits how long
retries will be attempted.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
scheduleToStartTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Limits time an activity task can stay in a task queue before a worker picks it up. This
timeout is always non retryable, as all a retry would achieve is to put it back into the same
queue. Defaults to `schedule_to_close_timeout`.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
startToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Maximum time a single activity attempt is allowed to execute after being picked up by a worker. This
timeout is always retryable.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
heartbeatTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Maximum permitted time between successful worker heartbeats.
retryPolicy:
allOf:
- $ref: '#/components/schemas/RetryPolicy'
description: The retry policy for the activity. Will never exceed `schedule_to_close_timeout`.
heartbeatDetails:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Details provided in the last recorded activity heartbeat.
lastHeartbeatTime:
type: string
description: Time the last heartbeat was recorded.
format: date-time
lastStartedTime:
type: string
description: Time the last attempt was started.
format: date-time
attempt:
type: integer
description: The attempt this activity is currently on. Incremented each time a new attempt is scheduled.
format: int32
executionDuration:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: How long this activity has been running for, including all attempts and backoff between attempts.
scheduleTime:
type: string
description: Time the activity was originally scheduled via a StartActivityExecution request.
format: date-time
expirationTime:
type: string
description: Scheduled time + schedule to close timeout.
format: date-time
closeTime:
type: string
description: Time when the activity transitioned to a closed state.
format: date-time
lastFailure:
allOf:
- $ref: '#/components/schemas/Failure'
description: Failure details from the last failed attempt.
lastWorkerIdentity:
type: string
currentRetryInterval:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Time from the last attempt failure to the next activity retry.
If the activity is currently running, this represents the next retry interval in case the attempt fails.
If activity is currently backing off between attempt, this represents the current retry interval.
If there is no next retry allowed, this field will be null.
This interval is typically calculated from the specified retry policy, but may be modified if an activity fails
with a retryable application failure specifying a retry delay.
lastAttemptCompleteTime:
type: string
description: The time when the last activity attempt completed. If activity has not been completed yet, it will be null.
format: date-time
nextAttemptScheduleTime:
type: string
description: |-
The time when the next activity attempt will be scheduled.
If activity is currently scheduled or started, this field will be null.
format: date-time
lastDeploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: |-
The Worker Deployment Version this activity was dispatched to most recently.
If nil, the activity has not yet been dispatched or was last dispatched to an unversioned worker.
priority:
allOf:
- $ref: '#/components/schemas/Priority'
description: Priority metadata.
stateTransitionCount:
type: string
description: Incremented each time the activity's state is mutated in persistence.
stateSizeBytes:
type: string
description: Updated once on scheduled and once on terminal status.
searchAttributes:
$ref: '#/components/schemas/SearchAttributes'
header:
$ref: '#/components/schemas/Header'
userMetadata:
allOf:
- $ref: '#/components/schemas/UserMetadata'
description: Metadata for use by user interfaces to display the fixed as-of-start summary and details of the activity.
canceledReason:
type: string
description: Set if activity cancelation was requested.
links:
type: array
items:
$ref: '#/components/schemas/Link'
description: Links to related entities, such as the entity that started this activity.
totalHeartbeatCount:
type: string
description: Total number of heartbeats recorded across all attempts of this activity, including retries.
description: Information about a standalone activity.
ActivityExecutionListInfo:
type: object
properties:
activityId:
type: string
description: A unique identifier of this activity within its namespace along with run ID (below).
runId:
type: string
description: The run ID of the standalone activity.
activityType:
allOf:
- $ref: '#/components/schemas/ActivityType'
description: The type of the activity, a string that maps to a registered activity on a worker.
scheduleTime:
type: string
description: Time the activity was originally scheduled via a StartActivityExecution request.
format: date-time
closeTime:
type: string
description: If the activity is in a terminal status, this field represents the time the activity transitioned to that status.
format: date-time
status:
enum:
- ACTIVITY_EXECUTION_STATUS_UNSPECIFIED
- ACTIVITY_EXECUTION_STATUS_RUNNING
- ACTIVITY_EXECUTION_STATUS_COMPLETED
- ACTIVITY_EXECUTION_STATUS_FAILED
- ACTIVITY_EXECUTION_STATUS_CANCELED
- ACTIVITY_EXECUTION_STATUS_TERMINATED
- ACTIVITY_EXECUTION_STATUS_TIMED_OUT
type: string
description: |-
Only scheduled and terminal statuses appear here. More detailed information in PendingActivityInfo but not
available in the list response.
format: enum
searchAttributes:
allOf:
- $ref: '#/components/schemas/SearchAttributes'
description: Search attributes from the start request.
taskQueue:
type: string
description: The task queue this activity was scheduled on when it was originally started, updated on activity options update.
stateTransitionCount:
type: string
description: Updated on terminal status.
stateSizeBytes:
type: string
description: Updated once on scheduled and once on terminal status.
executionDuration:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
The difference between close time and scheduled time.
This field is only populated if the activity is closed.
description: |-
Limited activity information returned in the list response.
When adding fields here, ensure that it is also present in ActivityExecutionInfo (note that it
may already be present in ActivityExecutionInfo but not at the top-level).
ActivityExecutionOutcome:
type: object
properties:
result:
allOf:
- $ref: '#/components/schemas/Payloads'
description: The result if the activity completed successfully.
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: The failure if the activity completed unsuccessfully.
description: 'The outcome of a completed activity execution: either a successful result or a failure.'
ActivityFailureInfo:
type: object
properties:
scheduledEventId:
type: string
startedEventId:
type: string
identity:
type: string
activityType:
$ref: '#/components/schemas/ActivityType'
activityId:
type: string
retryState:
enum:
- RETRY_STATE_UNSPECIFIED
- RETRY_STATE_IN_PROGRESS
- RETRY_STATE_NON_RETRYABLE_FAILURE
- RETRY_STATE_TIMEOUT
- RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED
- RETRY_STATE_RETRY_POLICY_NOT_SET
- RETRY_STATE_INTERNAL_SERVER_ERROR
- RETRY_STATE_CANCEL_REQUESTED
type: string
format: enum
ActivityOptions:
type: object
properties:
taskQueue:
$ref: '#/components/schemas/TaskQueue'
scheduleToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Indicates how long the caller is willing to wait for an activity completion. Limits how long
retries will be attempted. Either this or `start_to_close_timeout` must be specified.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
scheduleToStartTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Limits time an activity task can stay in a task queue before a worker picks it up. This
timeout is always non retryable, as all a retry would achieve is to put it back into the same
queue. Defaults to `schedule_to_close_timeout` or workflow execution timeout if not
specified.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
startToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Maximum time an activity is allowed to execute after being picked up by a worker. This
timeout is always retryable. Either this or `schedule_to_close_timeout` must be
specified.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
heartbeatTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Maximum permitted time between successful worker heartbeats.
retryPolicy:
allOf:
- $ref: '#/components/schemas/RetryPolicy'
description: The retry policy for the activity. Will never exceed `schedule_to_close_timeout`.
priority:
allOf:
- $ref: '#/components/schemas/Priority'
description: |-
Priority metadata. If this message is not present, or any fields are not
present, they inherit the values from the workflow.
ActivityPropertiesModifiedExternallyEventAttributes:
type: object
properties:
scheduledEventId:
type: string
description: The id of the `ACTIVITY_TASK_SCHEDULED` event this modification corresponds to.
newRetryPolicy:
allOf:
- $ref: '#/components/schemas/RetryPolicy'
description: |-
If set, update the retry policy of the activity, replacing it with the specified one.
The number of attempts at the activity is preserved.
ActivityTaskCancelRequestedEventAttributes:
type: object
properties:
scheduledEventId:
type: string
description: The id of the `ACTIVITY_TASK_SCHEDULED` event this cancel request corresponds to
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
ActivityTaskCanceledEventAttributes:
type: object
properties:
details:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Additional information that the activity reported upon confirming cancellation
latestCancelRequestedEventId:
type: string
description: |-
id of the most recent `ACTIVITY_TASK_CANCEL_REQUESTED` event which refers to the same
activity
scheduledEventId:
type: string
description: The id of the `ACTIVITY_TASK_SCHEDULED` event this cancel confirmation corresponds to
startedEventId:
type: string
description: The id of the `ACTIVITY_TASK_STARTED` event this cancel confirmation corresponds to
identity:
type: string
description: id of the worker who canceled this activity
workerVersion:
allOf:
- $ref: '#/components/schemas/WorkerVersionStamp'
description: |-
Version info of the worker who processed this workflow task.
Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
ActivityTaskCompletedEventAttributes:
type: object
properties:
result:
allOf:
- $ref: '#/components/schemas/Payloads'
description: 'Serialized results of the activity. IE: The return value of the activity function'
scheduledEventId:
type: string
description: The id of the `ACTIVITY_TASK_SCHEDULED` event this completion corresponds to
startedEventId:
type: string
description: The id of the `ACTIVITY_TASK_STARTED` event this completion corresponds to
identity:
type: string
description: id of the worker that completed this task
workerVersion:
allOf:
- $ref: '#/components/schemas/WorkerVersionStamp'
description: |-
Version info of the worker who processed this workflow task.
Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
ActivityTaskFailedEventAttributes:
type: object
properties:
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: Failure details
scheduledEventId:
type: string
description: The id of the `ACTIVITY_TASK_SCHEDULED` event this failure corresponds to
startedEventId:
type: string
description: The id of the `ACTIVITY_TASK_STARTED` event this failure corresponds to
identity:
type: string
description: id of the worker that failed this task
retryState:
enum:
- RETRY_STATE_UNSPECIFIED
- RETRY_STATE_IN_PROGRESS
- RETRY_STATE_NON_RETRYABLE_FAILURE
- RETRY_STATE_TIMEOUT
- RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED
- RETRY_STATE_RETRY_POLICY_NOT_SET
- RETRY_STATE_INTERNAL_SERVER_ERROR
- RETRY_STATE_CANCEL_REQUESTED
type: string
format: enum
workerVersion:
allOf:
- $ref: '#/components/schemas/WorkerVersionStamp'
description: |-
Version info of the worker who processed this workflow task.
Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
ActivityTaskScheduledEventAttributes:
type: object
properties:
activityId:
type: string
description: The worker/user assigned identifier for the activity
activityType:
$ref: '#/components/schemas/ActivityType'
taskQueue:
$ref: '#/components/schemas/TaskQueue'
header:
$ref: '#/components/schemas/Header'
input:
$ref: '#/components/schemas/Payloads'
scheduleToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Indicates how long the caller is willing to wait for an activity completion. Limits how long
retries will be attempted. Either this or `start_to_close_timeout` must be specified.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
scheduleToStartTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Limits time an activity task can stay in a task queue before a worker picks it up. This
timeout is always non retryable, as all a retry would achieve is to put it back into the same
queue. Defaults to `schedule_to_close_timeout` or workflow execution timeout if not
specified.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
startToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Maximum time an activity is allowed to execute after being picked up by a worker. This
timeout is always retryable. Either this or `schedule_to_close_timeout` must be
specified.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
heartbeatTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Maximum permitted time between successful worker heartbeats.
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
retryPolicy:
allOf:
- $ref: '#/components/schemas/RetryPolicy'
description: |-
Activities are assigned a default retry policy controlled by the service's dynamic
configuration. Retries will happen up to `schedule_to_close_timeout`. To disable retries set
retry_policy.maximum_attempts to 1.
useWorkflowBuildId:
type: boolean
description: |-
If this is set, the activity would be assigned to the Build ID of the workflow. Otherwise,
Assignment rules of the activity's Task Queue will be used to determine the Build ID.
Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
priority:
allOf:
- $ref: '#/components/schemas/Priority'
description: |-
Priority metadata. If this message is not present, or any fields are not
present, they inherit the values from the workflow.
ActivityTaskStartedEventAttributes:
type: object
properties:
scheduledEventId:
type: string
description: The id of the `ACTIVITY_TASK_SCHEDULED` event this task corresponds to
identity:
type: string
description: id of the worker that picked up this task
requestId:
type: string
description: |-
This field is populated from the RecordActivityTaskStartedRequest. Matching service would
set the request_id on the RecordActivityTaskStartedRequest to a new UUID. This is useful
in case a RecordActivityTaskStarted call succeed but matching doesn't get that response,
so matching could retry and history service would return success if the request_id matches.
In that case, matching will continue to deliver the task to worker. Without this field, history
service would return AlreadyStarted error, and matching would drop the task.
attempt:
type: integer
description: Starting at 1, the number of times this task has been attempted
format: int32
lastFailure:
allOf:
- $ref: '#/components/schemas/Failure'
description: |-
Will be set to the most recent failure details, if this task has previously failed and then
been retried.
workerVersion:
allOf:
- $ref: '#/components/schemas/WorkerVersionStamp'
description: |-
Version info of the worker to whom this task was dispatched.
Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
buildIdRedirectCounter:
type: string
description: |-
Used by server internally to properly reapply build ID redirects to an execution
when rebuilding it from events.
Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
ActivityTaskTimedOutEventAttributes:
type: object
properties:
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: |-
If this activity had failed, was retried, and then timed out, that failure is stored as the
`cause` in here.
scheduledEventId:
type: string
description: The id of the `ACTIVITY_TASK_SCHEDULED` event this timeout corresponds to
startedEventId:
type: string
description: The id of the `ACTIVITY_TASK_STARTED` event this timeout corresponds to
retryState:
enum:
- RETRY_STATE_UNSPECIFIED
- RETRY_STATE_IN_PROGRESS
- RETRY_STATE_NON_RETRYABLE_FAILURE
- RETRY_STATE_TIMEOUT
- RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED
- RETRY_STATE_RETRY_POLICY_NOT_SET
- RETRY_STATE_INTERNAL_SERVER_ERROR
- RETRY_STATE_CANCEL_REQUESTED
type: string
format: enum
ActivityType:
type: object
properties:
name:
type: string
description: |-
Represents the identifier used by a activity author to define the activity. Typically, the
name of a function. This is sometimes referred to as the activity's "name"
Alert:
type: object
properties:
message:
type: string
severity:
enum:
- SEVERITY_UNSPECIFIED
- SEVERITY_HIGH
- SEVERITY_MEDIUM
- SEVERITY_LOW
type: string
format: enum
description: Alert contains notification and severity.
ApplicationFailureInfo:
type: object
properties:
type:
type: string
nonRetryable:
type: boolean
details:
$ref: '#/components/schemas/Payloads'
nextRetryDelay:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
next_retry_delay can be used by the client to override the activity
retry interval calculated by the retry policy. Retry attempts will
still be subject to the maximum retries limit and total time limit
defined by the policy.
category:
enum:
- APPLICATION_ERROR_CATEGORY_UNSPECIFIED
- APPLICATION_ERROR_CATEGORY_BENIGN
type: string
format: enum
BackfillRequest:
type: object
properties:
startTime:
type: string
description: |-
Time range to evaluate schedule in. Currently, this time range is
exclusive on start_time and inclusive on end_time. (This is admittedly
counterintuitive and it may change in the future, so to be safe, use a
start time strictly before a scheduled time.) Also note that an action
nominally scheduled in the interval but with jitter that pushes it after
end_time will not be included.
format: date-time
endTime:
type: string
format: date-time
overlapPolicy:
enum:
- SCHEDULE_OVERLAP_POLICY_UNSPECIFIED
- SCHEDULE_OVERLAP_POLICY_SKIP
- SCHEDULE_OVERLAP_POLICY_BUFFER_ONE
- SCHEDULE_OVERLAP_POLICY_BUFFER_ALL
- SCHEDULE_OVERLAP_POLICY_CANCEL_OTHER
- SCHEDULE_OVERLAP_POLICY_TERMINATE_OTHER
- SCHEDULE_OVERLAP_POLICY_ALLOW_ALL
type: string
description: If set, override overlap policy for this request.
format: enum
BadBinaries:
type: object
properties:
binaries:
type: object
additionalProperties:
$ref: '#/components/schemas/BadBinaryInfo'
BadBinaryInfo:
type: object
properties:
reason:
type: string
operator:
type: string
createTime:
type: string
format: date-time
BatchOperationCancellation:
type: object
properties:
identity:
type: string
description: The identity of the worker/client
description: |-
BatchOperationCancellation sends cancel requests to batch workflows.
Keep the parameter in sync with temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionRequest.
Ignore first_execution_run_id because this is used for single workflow operation.
BatchOperationDeletion:
type: object
properties:
identity:
type: string
description: The identity of the worker/client
description: |-
BatchOperationDeletion sends deletion requests to batch workflows.
Keep the parameter in sync with temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest.
BatchOperationInfo:
type: object
properties:
jobId:
type: string
description: Batch job ID
state:
enum:
- BATCH_OPERATION_STATE_UNSPECIFIED
- BATCH_OPERATION_STATE_RUNNING
- BATCH_OPERATION_STATE_COMPLETED
- BATCH_OPERATION_STATE_FAILED
type: string
description: Batch operation state
format: enum
startTime:
type: string
description: Batch operation start time
format: date-time
closeTime:
type: string
description: Batch operation close time
format: date-time
BatchOperationReset:
type: object
properties:
identity:
type: string
description: The identity of the worker/client.
options:
allOf:
- $ref: '#/components/schemas/ResetOptions'
description: Describes what to reset to and how. If set, `reset_type` and `reset_reapply_type` are ignored.
resetType:
enum:
- RESET_TYPE_UNSPECIFIED
- RESET_TYPE_FIRST_WORKFLOW_TASK
- RESET_TYPE_LAST_WORKFLOW_TASK
type: string
description: Deprecated. Use `options`.
format: enum
resetReapplyType:
enum:
- RESET_REAPPLY_TYPE_UNSPECIFIED
- RESET_REAPPLY_TYPE_SIGNAL
- RESET_REAPPLY_TYPE_NONE
- RESET_REAPPLY_TYPE_ALL_ELIGIBLE
type: string
description: Deprecated. Use `options`.
format: enum
postResetOperations:
type: array
items:
$ref: '#/components/schemas/PostResetOperation'
description: |-
Operations to perform after the workflow has been reset. These operations will be applied
to the *new* run of the workflow execution in the order they are provided.
All operations are applied to the workflow before the first new workflow task is generated
description: |-
BatchOperationReset sends reset requests to batch workflows.
Keep the parameter in sync with temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest.
BatchOperationResetActivities:
type: object
properties:
identity:
type: string
description: The identity of the worker/client.
type:
type: string
matchAll:
type: boolean
resetAttempts:
type: boolean
description: Setting this flag will also reset the number of attempts.
resetHeartbeat:
type: boolean
description: Setting this flag will also reset the heartbeat details.
keepPaused:
type: boolean
description: If activity is paused, it will remain paused after reset
jitter:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
If set, the activity will start at a random time within the specified jitter
duration, introducing variability to the start time.
restoreOriginalOptions:
type: boolean
description: |-
If set, the activity options will be restored to the defaults.
Default options are then options activity was created with.
They are part of the first ActivityTaskScheduled event.
description: |-
BatchOperationResetActivities sends activity reset requests in a batch.
NOTE: keep in sync with temporal.api.workflowservice.v1.ResetActivityRequest
BatchOperationSignal:
type: object
properties:
signal:
type: string
description: The workflow author-defined name of the signal to send to the workflow
input:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Serialized value(s) to provide with the signal
header:
allOf:
- $ref: '#/components/schemas/Header'
description: |-
Headers that are passed with the signal to the processing workflow.
These can include things like auth or tracing tokens.
identity:
type: string
description: The identity of the worker/client
description: |-
BatchOperationSignal sends signals to batch workflows.
Keep the parameter in sync with temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest.
BatchOperationTermination:
type: object
properties:
details:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Serialized value(s) to provide to the termination event
identity:
type: string
description: The identity of the worker/client
description: |-
BatchOperationTermination sends terminate requests to batch workflows.
Keep the parameter in sync with temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest.
Ignore first_execution_run_id because this is used for single workflow operation.
BatchOperationUnpauseActivities:
type: object
properties:
identity:
type: string
description: The identity of the worker/client.
type:
type: string
matchAll:
type: boolean
resetAttempts:
type: boolean
description: Setting this flag will also reset the number of attempts.
resetHeartbeat:
type: boolean
description: Setting this flag will also reset the heartbeat details.
jitter:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
If set, the activity will start at a random time within the specified jitter
duration, introducing variability to the start time.
description: BatchOperationUnpauseActivities sends unpause requests to batch workflows.
BatchOperationUpdateActivityOptions:
type: object
properties:
identity:
type: string
description: The identity of the worker/client.
type:
type: string
matchAll:
type: boolean
activityOptions:
allOf:
- $ref: '#/components/schemas/ActivityOptions'
description: Update Activity options. Partial updates are accepted and controlled by update_mask.
updateMask:
type: string
description: Controls which fields from `activity_options` will be applied
format: field-mask
restoreOriginal:
type: boolean
description: |-
If set, the activity options will be restored to the default.
Default options are then options activity was created with.
They are part of the first ActivityTaskScheduled event.
This flag cannot be combined with any other option; if you supply
restore_original together with other options, the request will be rejected.
description: |-
BatchOperationUpdateActivityOptions sends an update-activity-options requests in a batch.
NOTE: keep in sync with temporal.api.workflowservice.v1.UpdateActivityRequest
BatchOperationUpdateWorkflowExecutionOptions:
type: object
properties:
identity:
type: string
description: The identity of the worker/client.
workflowExecutionOptions:
allOf:
- $ref: '#/components/schemas/WorkflowExecutionOptions'
description: Update Workflow options that were originally specified via StartWorkflowExecution. Partial updates are accepted and controlled by update_mask.
updateMask:
type: string
description: |-
Controls which fields from `workflow_execution_options` will be applied.
To unset a field, set it to null and use the update mask to indicate that it should be mutated.
format: field-mask
description: |-
BatchOperationUpdateWorkflowExecutionOptions sends UpdateWorkflowExecutionOptions requests to batch workflows.
Keep the parameters in sync with temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsRequest.
BuildIdAssignmentRule:
type: object
properties:
targetBuildId:
type: string
percentageRamp:
allOf:
- $ref: '#/components/schemas/RampByPercentage'
description: |-
This ramp is useful for gradual Blue/Green deployments (and similar)
where you want to send a certain portion of the traffic to the target
Build ID.
description: |-
Assignment rules are applied to *new* Workflow and Activity executions at
schedule time to assign them to a Build ID.
Assignment rules will not be used in the following cases:
- Child Workflows or Continue-As-New Executions who inherit their
parent/previous Workflow's assigned Build ID (by setting the
`inherit_build_id` flag - default behavior in SDKs when the same Task Queue
is used.)
- An Activity that inherits the assigned Build ID of its Workflow (by
setting the `use_workflow_build_id` flag - default behavior in SDKs
when the same Task Queue is used.)
In absence of (applicable) redirect rules (`CompatibleBuildIdRedirectRule`s)
the task will be dispatched to Workers of the Build ID determined by the
assignment rules (or inherited). Otherwise, the final Build ID will be
determined by the redirect rules.
Once a Workflow completes its first Workflow Task in a particular Build ID it
stays in that Build ID regardless of changes to assignment rules. Redirect
rules can be used to move the workflow to another compatible Build ID.
When using Worker Versioning on a Task Queue, in the steady state,
there should typically be a single assignment rule to send all new executions
to the latest Build ID. Existence of at least one such "unconditional"
rule at all times is enforces by the system, unless the `force` flag is used
by the user when replacing/deleting these rules (for exceptional cases).
During a deployment, one or more additional rules can be added to assign a
subset of the tasks to a new Build ID based on a "ramp percentage".
When there are multiple assignment rules for a Task Queue, the rules are
evaluated in order, starting from index 0. The first applicable rule will be
applied and the rest will be ignored.
In the event that no assignment rule is applicable on a task (or the Task
Queue is simply not versioned), the tasks will be dispatched to an
unversioned Worker.
BuildIdReachability:
type: object
properties:
buildId:
type: string
description: A build id or empty if unversioned.
taskQueueReachability:
type: array
items:
$ref: '#/components/schemas/TaskQueueReachability'
description: Reachability per task queue.
description: Reachability of tasks for a worker by build id, in one or more task queues.
CalendarSpec:
type: object
properties:
second:
type: string
description: 'Expression to match seconds. Default: 0'
minute:
type: string
description: 'Expression to match minutes. Default: 0'
hour:
type: string
description: 'Expression to match hours. Default: 0'
dayOfMonth:
type: string
description: |-
Expression to match days of the month. Default: *
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: standard name of field --)
month:
type: string
description: 'Expression to match months. Default: *'
year:
type: string
description: 'Expression to match years. Default: *'
dayOfWeek:
type: string
description: 'Expression to match days of the week. Default: *'
comment:
type: string
description: Free-form comment describing the intention of this spec.
description: |-
CalendarSpec describes an event specification relative to the calendar,
similar to a traditional cron specification, but with labeled fields. Each
field can be one of:
*: matches always
x: matches when the field equals x
x/y : matches when the field equals x+n*y where n is an integer
x-z: matches when the field is between x and z inclusive
w,x,y,...: matches when the field is one of the listed values
Each x, y, z, ... is either a decimal integer, or a month or day of week name
or abbreviation (in the appropriate fields).
A timestamp matches if all fields match.
Note that fields have different default values, for convenience.
Note that the special case that some cron implementations have for treating
day_of_month and day_of_week as "or" instead of "and" when both are set is
not implemented.
day_of_week can accept 0 or 7 as Sunday
CalendarSpec gets compiled into StructuredCalendarSpec, which is what will be
returned if you describe the schedule.
Callback:
type: object
properties:
nexus:
$ref: '#/components/schemas/Callback_Nexus'
internal:
$ref: '#/components/schemas/Callback_Internal'
links:
type: array
items:
$ref: '#/components/schemas/Link'
description: |-
Links associated with the callback. It can be used to link to underlying resources of the
callback.
description: Callback to attach to various events in the system, e.g. workflow run completion.
CallbackInfo:
type: object
properties:
callback:
allOf:
- $ref: '#/components/schemas/Callback'
description: Information on how this callback should be invoked (e.g. its URL and type).
registrationTime:
type: string
description: The time when the callback was registered.
format: date-time
state:
enum:
- CALLBACK_STATE_UNSPECIFIED
- CALLBACK_STATE_STANDBY
- CALLBACK_STATE_SCHEDULED
- CALLBACK_STATE_BACKING_OFF
- CALLBACK_STATE_FAILED
- CALLBACK_STATE_SUCCEEDED
- CALLBACK_STATE_BLOCKED
type: string
description: The current state of the callback.
format: enum
attempt:
type: integer
description: |-
The number of attempts made to deliver the callback.
This number represents a minimum bound since the attempt is incremented after the callback request completes.
format: int32
lastAttemptCompleteTime:
type: string
description: The time when the last attempt completed.
format: date-time
lastAttemptFailure:
allOf:
- $ref: '#/components/schemas/Failure'
description: The last attempt's failure, if any.
nextAttemptScheduleTime:
type: string
description: The time when the next attempt is scheduled.
format: date-time
blockedReason:
type: string
description: If the state is BLOCKED, blocked reason provides additional information.
description: Common callback information. Specific CallbackInfo messages should embed this and may include additional fields.
Callback_Internal:
type: object
properties:
data:
type: string
description: Opaque internal data.
format: bytes
description: |-
Callbacks to be delivered internally within the system.
This variant is not settable in the API and will be rejected by the service with an INVALID_ARGUMENT error.
The only reason that this is exposed is because callbacks are replicated across clusters via the
WorkflowExecutionStarted event, which is defined in the public API.
Callback_Nexus:
type: object
properties:
url:
type: string
description: Callback URL.
header:
type: object
additionalProperties:
type: string
description: Header to attach to callback request.
CanceledFailureInfo:
type: object
properties:
details:
$ref: '#/components/schemas/Payloads'
identity:
type: string
description: The identity of the worker or client that requested the cancellation.
ChildWorkflowExecutionCanceledEventAttributes:
type: object
properties:
details:
$ref: '#/components/schemas/Payloads'
namespace:
type: string
description: |-
Namespace of the child workflow.
SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.
namespaceId:
type: string
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
workflowType:
$ref: '#/components/schemas/WorkflowType'
initiatedEventId:
type: string
description: Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to
startedEventId:
type: string
description: Id of the `CHILD_WORKFLOW_EXECUTION_STARTED` event which this event corresponds to
ChildWorkflowExecutionCompletedEventAttributes:
type: object
properties:
result:
$ref: '#/components/schemas/Payloads'
namespace:
type: string
description: |-
Namespace of the child workflow.
SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.
namespaceId:
type: string
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
workflowType:
$ref: '#/components/schemas/WorkflowType'
initiatedEventId:
type: string
description: Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to
startedEventId:
type: string
description: Id of the `CHILD_WORKFLOW_EXECUTION_STARTED` event which this event corresponds to
ChildWorkflowExecutionFailedEventAttributes:
type: object
properties:
failure:
$ref: '#/components/schemas/Failure'
namespace:
type: string
description: |-
Namespace of the child workflow.
SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.
namespaceId:
type: string
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
workflowType:
$ref: '#/components/schemas/WorkflowType'
initiatedEventId:
type: string
description: Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to
startedEventId:
type: string
description: Id of the `CHILD_WORKFLOW_EXECUTION_STARTED` event which this event corresponds to
retryState:
enum:
- RETRY_STATE_UNSPECIFIED
- RETRY_STATE_IN_PROGRESS
- RETRY_STATE_NON_RETRYABLE_FAILURE
- RETRY_STATE_TIMEOUT
- RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED
- RETRY_STATE_RETRY_POLICY_NOT_SET
- RETRY_STATE_INTERNAL_SERVER_ERROR
- RETRY_STATE_CANCEL_REQUESTED
type: string
format: enum
ChildWorkflowExecutionFailureInfo:
type: object
properties:
namespace:
type: string
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
workflowType:
$ref: '#/components/schemas/WorkflowType'
initiatedEventId:
type: string
startedEventId:
type: string
retryState:
enum:
- RETRY_STATE_UNSPECIFIED
- RETRY_STATE_IN_PROGRESS
- RETRY_STATE_NON_RETRYABLE_FAILURE
- RETRY_STATE_TIMEOUT
- RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED
- RETRY_STATE_RETRY_POLICY_NOT_SET
- RETRY_STATE_INTERNAL_SERVER_ERROR
- RETRY_STATE_CANCEL_REQUESTED
type: string
format: enum
ChildWorkflowExecutionStartedEventAttributes:
type: object
properties:
namespace:
type: string
description: |-
Namespace of the child workflow.
SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.
namespaceId:
type: string
initiatedEventId:
type: string
description: Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
workflowType:
$ref: '#/components/schemas/WorkflowType'
header:
$ref: '#/components/schemas/Header'
ChildWorkflowExecutionTerminatedEventAttributes:
type: object
properties:
namespace:
type: string
description: |-
Namespace of the child workflow.
SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.
namespaceId:
type: string
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
workflowType:
$ref: '#/components/schemas/WorkflowType'
initiatedEventId:
type: string
description: Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to
startedEventId:
type: string
description: Id of the `CHILD_WORKFLOW_EXECUTION_STARTED` event which this event corresponds to
ChildWorkflowExecutionTimedOutEventAttributes:
type: object
properties:
namespace:
type: string
description: |-
Namespace of the child workflow.
SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.
namespaceId:
type: string
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
workflowType:
$ref: '#/components/schemas/WorkflowType'
initiatedEventId:
type: string
description: Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to
startedEventId:
type: string
description: Id of the `CHILD_WORKFLOW_EXECUTION_STARTED` event which this event corresponds to
retryState:
enum:
- RETRY_STATE_UNSPECIFIED
- RETRY_STATE_IN_PROGRESS
- RETRY_STATE_NON_RETRYABLE_FAILURE
- RETRY_STATE_TIMEOUT
- RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED
- RETRY_STATE_RETRY_POLICY_NOT_SET
- RETRY_STATE_INTERNAL_SERVER_ERROR
- RETRY_STATE_CANCEL_REQUESTED
type: string
format: enum
ClusterReplicationConfig:
type: object
properties:
clusterName:
type: string
CompatibleBuildIdRedirectRule:
type: object
properties:
sourceBuildId:
type: string
targetBuildId:
type: string
description: |-
Target Build ID must be compatible with the Source Build ID; that is it
must be able to process event histories made by the Source Build ID by
using [Patching](https://docs.temporal.io/workflows#patching) or other
means.
description: |-
These rules apply to tasks assigned to a particular Build ID
(`source_build_id`) to redirect them to another *compatible* Build ID
(`target_build_id`).
It is user's responsibility to ensure that the target Build ID is compatible
with the source Build ID (e.g. by using the Patching API).
Most deployments are not expected to need these rules, however following
situations can greatly benefit from redirects:
- Need to move long-running Workflow Executions from an old Build ID to a
newer one.
- Need to hotfix some broken or stuck Workflow Executions.
In steady state, redirect rules are beneficial when dealing with old
Executions ran on now-decommissioned Build IDs:
- To redirecting the Workflow Queries to the current (compatible) Build ID.
- To be able to Reset an old Execution so it can run on the current
(compatible) Build ID.
Redirect rules can be chained.
CompatibleVersionSet:
type: object
properties:
buildIds:
type: array
items:
type: string
description: All the compatible versions, unordered, except for the last element, which is considered the set "default".
description: |-
Used by the worker versioning APIs, represents an unordered set of one or more versions which are
considered to be compatible with each other. Currently the versions are always worker build IDs.
ComputeConfig:
type: object
properties:
scalingGroups:
type: object
additionalProperties:
$ref: '#/components/schemas/ComputeConfigScalingGroup'
description: |-
Each scaling group describes a compute config for a specific subset of the worker
deployment version: covering a specific set of task types and/or regions.
Having different configurations for different task types, allows independent
tuning of activity and workflow task processing (for example).
The key of the map is the ID of the scaling group used to reference it in subsequent
update calls.
description: |-
ComputeConfig stores configuration that helps a worker control plane
controller understand *when* and *how* to respond to worker lifecycle
events.
ComputeConfigScalingGroup:
type: object
properties:
taskQueueTypes:
type: array
items:
enum:
- TASK_QUEUE_TYPE_UNSPECIFIED
- TASK_QUEUE_TYPE_WORKFLOW
- TASK_QUEUE_TYPE_ACTIVITY
- TASK_QUEUE_TYPE_NEXUS
type: string
format: enum
description: |-
Optional. The set of task queue types this scaling group serves.
If not provided, this scaling group serves all not otherwise defined
task types.
provider:
allOf:
- $ref: '#/components/schemas/ComputeProvider'
description: |-
Stores instructions for a worker control plane controller how to respond
to worker lifeycle events.
scaler:
allOf:
- $ref: '#/components/schemas/ComputeScaler'
description: |-
Informs a worker lifecycle controller *when* and *how often* to perform
certain worker lifecycle actions like starting a serverless worker.
ComputeConfigScalingGroupSummary:
type: object
properties:
taskQueueTypes:
type: array
items:
enum:
- TASK_QUEUE_TYPE_UNSPECIFIED
- TASK_QUEUE_TYPE_WORKFLOW
- TASK_QUEUE_TYPE_ACTIVITY
- TASK_QUEUE_TYPE_NEXUS
type: string
format: enum
providerType:
type: string
ComputeConfigScalingGroupUpdate:
type: object
properties:
scalingGroup:
$ref: '#/components/schemas/ComputeConfigScalingGroup'
updateMask:
type: string
description: |-
Controls which fields from `scaling_group` will be applied. Semantics:
- Mask is ignored for new scaling groups (only applicable when scaling group already exists).
- Empty mask for an existing scaling group is no-op: no change.
- Non-empty mask for an existing scaling group will update/unset only to the fields
mentioned in the mask.
- Accepted paths: "task_queue_types", "provider", "provider.type", "provider.details",
"provider.nexus_endpoint", "scaler", "scaler.type", "scaler.details"
format: field-mask
ComputeConfigSummary:
type: object
properties:
scalingGroups:
type: object
additionalProperties:
$ref: '#/components/schemas/ComputeConfigScalingGroupSummary'
description: A subset of information in ComputeConfig optimized for list views.
ComputeProvider:
type: object
properties:
type:
type: string
description: |-
Type of the compute provider. This string is implementation-specific and
can be used by implementations to understand how to interpret the
contents of the provider_details field.
details:
allOf:
- $ref: '#/components/schemas/Payload'
description: |-
Contains provider-specific instructions and configuration.
For server-implemented providers, use the SDK's default content
converter to ensure the server can understand it.
For remote-implemented providers, you might use your own content
converters according to what the remote endpoints understand.
nexusEndpoint:
type: string
description: |-
Optional. If the compute provider is a Nexus service, this should point
there.
description: |-
ComputeProvider stores information used by a worker control plane controller
to respond to worker lifecycle events. For example, when a Task is received
on a TaskQueue that has no active pollers, a serverless worker lifecycle
controller might need to invoke an AWS Lambda Function that itself ends up
calling the SDK's worker.New() function.
ComputeScaler:
type: object
properties:
type:
type: string
description: |-
Type of the compute scaler. this string is implementation-specific and
can be used by implementations to understand how to interpret the
contents of the scaler_details field.
details:
allOf:
- $ref: '#/components/schemas/Payload'
description: |-
Contains scaler-specific instructions and configuration.
For server-implemented scalers, use the SDK's default data
converter to ensure the server can understand it.
For remote-implemented scalers, you might use your own data
converters according to what the remote endpoints understand.
description: |-
ComputeScaler instructs the Temporal Service when to scale up or down the number of
Workers that comprise a WorkerDeployment.
ConfigMetadata:
type: object
properties:
reason:
type: string
description: Reason for why the config was set.
updateIdentity:
type: string
description: |-
Identity of the last updater.
Set by the request's identity field.
updateTime:
type: string
description: Time of the last update.
format: date-time
CountActivityExecutionsResponse:
type: object
properties:
count:
type: string
description: |-
If `query` is not grouping by any field, the count is an approximate number
of activities that match the query.
If `query` is grouping by a field, the count is simply the sum of the counts
of the groups returned in the response. This number can be smaller than the
total number of activities matching the query.
groups:
type: array
items:
$ref: '#/components/schemas/CountActivityExecutionsResponse_AggregationGroup'
description: |-
Contains the groups if the request is grouping by a field.
The list might not be complete, and the counts of each group is approximate.
CountActivityExecutionsResponse_AggregationGroup:
type: object
properties:
groupValues:
type: array
items:
$ref: '#/components/schemas/Payload'
count:
type: string
CountNexusOperationExecutionsResponse:
type: object
properties:
count:
type: string
description: |-
If `query` is not grouping by any field, the count is an approximate number
of operations that match the query.
If `query` is grouping by a field, the count is simply the sum of the counts
of the groups returned in the response. This number can be smaller than the
total number of operations matching the query.
groups:
type: array
items:
$ref: '#/components/schemas/CountNexusOperationExecutionsResponse_AggregationGroup'
description: |-
Contains the groups if the request is grouping by a field.
The list might not be complete, and the counts of each group is approximate.
CountNexusOperationExecutionsResponse_AggregationGroup:
type: object
properties:
groupValues:
type: array
items:
$ref: '#/components/schemas/Payload'
count:
type: string
CountSchedulesResponse:
type: object
properties:
count:
type: string
description: |-
If `query` is not grouping by any field, the count is an approximate number
of schedules that match the query.
If `query` is grouping by a field, the count is simply the sum of the counts
of the groups returned in the response. This number can be smaller than the
total number of schedules matching the query.
groups:
type: array
items:
$ref: '#/components/schemas/CountSchedulesResponse_AggregationGroup'
description: |-
Contains the groups if the request is grouping by a field.
The list might not be complete, and the counts of each group is approximate.
CountSchedulesResponse_AggregationGroup:
type: object
properties:
groupValues:
type: array
items:
$ref: '#/components/schemas/Payload'
count:
type: string
CountWorkflowExecutionsResponse:
type: object
properties:
count:
type: string
description: |-
If `query` is not grouping by any field, the count is an approximate number
of workflows that matches the query.
If `query` is grouping by a field, the count is simply the sum of the counts
of the groups returned in the response. This number can be smaller than the
total number of workflows matching the query.
groups:
type: array
items:
$ref: '#/components/schemas/CountWorkflowExecutionsResponse_AggregationGroup'
description: |-
`groups` contains the groups if the request is grouping by a field.
The list might not be complete, and the counts of each group is approximate.
CountWorkflowExecutionsResponse_AggregationGroup:
type: object
properties:
groupValues:
type: array
items:
$ref: '#/components/schemas/Payload'
count:
type: string
CreateNexusEndpointRequest:
type: object
properties:
spec:
allOf:
- $ref: '#/components/schemas/EndpointSpec'
description: Endpoint definition to create.
CreateNexusEndpointResponse:
type: object
properties:
endpoint:
allOf:
- $ref: '#/components/schemas/Endpoint'
description: Data post acceptance. Can be used to issue additional updates to this record.
CreateScheduleRequest:
type: object
properties:
namespace:
type: string
description: The namespace the schedule should be created in.
scheduleId:
type: string
description: The id of the new schedule.
schedule:
allOf:
- $ref: '#/components/schemas/Schedule'
description: The schedule spec, policies, action, and initial state.
initialPatch:
allOf:
- $ref: '#/components/schemas/SchedulePatch'
description: Optional initial patch (e.g. to run the action once immediately).
identity:
type: string
description: The identity of the client who initiated this request.
requestId:
type: string
description: A unique identifier for this create request for idempotence. Typically UUIDv4.
memo:
allOf:
- $ref: '#/components/schemas/Memo'
description: Memo and search attributes to attach to the schedule itself.
searchAttributes:
$ref: '#/components/schemas/SearchAttributes'
description: |-
(-- api-linter: core::0203::optional=disabled
aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --)
CreateScheduleResponse:
type: object
properties:
conflictToken:
type: string
format: bytes
CreateWorkerDeploymentRequest:
type: object
properties:
namespace:
type: string
deploymentName:
type: string
description: |-
The name of the Worker Deployment to create. If a Worker Deployment with
this name already exists, an error will be returned.
identity:
type: string
description: Optional. The identity of the client who initiated this request.
requestId:
type: string
description: A unique identifier for this create request for idempotence. Typically UUIDv4.
description: Creates a new WorkerDeployment.
CreateWorkerDeploymentResponse:
type: object
properties:
conflictToken:
type: string
description: |-
This value is returned so that it can be optionally passed to APIs that
write to the WorkerDeployment state to ensure that the state did not
change between this API call and a future write.
format: bytes
CreateWorkerDeploymentVersionRequest:
type: object
properties:
namespace:
type: string
deploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: Required.
computeConfig:
allOf:
- $ref: '#/components/schemas/ComputeConfig'
description: |-
Optional. Contains the new worker compute configuration for the Worker
Deployment. Used for worker scale management.
identity:
type: string
description: Optional. The identity of the client who initiated this request.
requestId:
type: string
description: |-
A unique identifier for this create request for idempotence. Typically UUIDv4.
If a second request with the same ID is recieved, it is considered a successful no-op.
Retrying with a different request ID for the same deployment name + build ID is an error.
description: Creates a new WorkerDeploymentVersion.
CreateWorkerDeploymentVersionResponse:
type: object
properties: {}
CreateWorkflowRuleRequest:
type: object
properties:
namespace:
type: string
spec:
allOf:
- $ref: '#/components/schemas/WorkflowRuleSpec'
description: The rule specification .
forceScan:
type: boolean
description: |-
If true, the rule will be applied to the currently running workflows via batch job.
If not set , the rule will only be applied when triggering condition is satisfied.
visibility_query in the rule will be used to select the workflows to apply the rule to.
requestId:
type: string
description: Used to de-dupe requests. Typically should be UUID.
identity:
type: string
description: Identity of the actor who created the rule. Will be stored with the rule.
description:
type: string
description: Rule description.Will be stored with the rule.
CreateWorkflowRuleResponse:
type: object
properties:
rule:
allOf:
- $ref: '#/components/schemas/WorkflowRule'
description: Created rule.
jobId:
type: string
description: Batch Job ID if force-scan flag was provided. Otherwise empty.
DataBlob:
type: object
properties:
encodingType:
enum:
- ENCODING_TYPE_UNSPECIFIED
- ENCODING_TYPE_PROTO3
- ENCODING_TYPE_JSON
type: string
format: enum
data:
type: string
format: bytes
DeclinedTargetVersionUpgrade:
type: object
properties:
deploymentVersion:
$ref: '#/components/schemas/WorkerDeploymentVersion'
revisionNumber:
type: string
description: |-
Revision number of the task queue routing config at the time the target
was declined. If an incoming target's revision is <= this value, it is
not newer and is not used for deciding whether or not to suppress the
upgrade signal.
description: |-
Wrapper for a target deployment version that the SDK declined to upgrade to.
See declined_target_version_upgrade on WorkflowExecutionStartedEventAttributes.
DeleteNexusEndpointResponse:
type: object
properties: {}
DeleteScheduleResponse:
type: object
properties: {}
DeleteWorkerDeploymentResponse:
type: object
properties: {}
DeleteWorkerDeploymentVersionResponse:
type: object
properties: {}
DeleteWorkflowRuleResponse:
type: object
properties: {}
Deployment:
type: object
properties:
seriesName:
type: string
description: |-
Different versions of the same worker service/application are related together by having a
shared series name.
Out of all deployments of a series, one can be designated as the current deployment, which
receives new workflow executions and new tasks of workflows with
`VERSIONING_BEHAVIOR_AUTO_UPGRADE` versioning behavior.
buildId:
type: string
description: |-
Build ID changes with each version of the worker when the worker program code and/or config
changes.
description: |-
`Deployment` identifies a deployment of Temporal workers. The combination of deployment series
name + build ID serves as the identifier. User can use `WorkerDeploymentOptions` in their worker
programs to specify these values.
Deprecated.
DeploymentInfo:
type: object
properties:
deployment:
$ref: '#/components/schemas/Deployment'
createTime:
type: string
format: date-time
taskQueueInfos:
type: array
items:
$ref: '#/components/schemas/DeploymentInfo_TaskQueueInfo'
metadata:
type: object
additionalProperties:
$ref: '#/components/schemas/Payload'
description: |-
A user-defined set of key-values. Can be updated as part of write operations to the
deployment, such as `SetCurrentDeployment`.
isCurrent:
type: boolean
description: If this deployment is the current deployment of its deployment series.
description: |-
`DeploymentInfo` holds information about a deployment. Deployment information is tracked
automatically by server as soon as the first poll from that deployment reaches the server. There
can be multiple task queue workers in a single deployment which are listed in this message.
Deprecated.
DeploymentInfo_TaskQueueInfo:
type: object
properties:
name:
type: string
type:
enum:
- TASK_QUEUE_TYPE_UNSPECIFIED
- TASK_QUEUE_TYPE_WORKFLOW
- TASK_QUEUE_TYPE_ACTIVITY
- TASK_QUEUE_TYPE_NEXUS
type: string
format: enum
firstPollerTime:
type: string
description: When server saw the first poller for this task queue in this deployment.
format: date-time
DeploymentListInfo:
type: object
properties:
deployment:
$ref: '#/components/schemas/Deployment'
createTime:
type: string
format: date-time
isCurrent:
type: boolean
description: If this deployment is the current deployment of its deployment series.
description: |-
DeploymentListInfo is an abbreviated set of fields from DeploymentInfo that's returned in
ListDeployments.
Deprecated.
DeploymentTransition:
type: object
properties:
deployment:
allOf:
- $ref: '#/components/schemas/Deployment'
description: |-
The target deployment of the transition. Null means a so-far-versioned workflow is
transitioning to unversioned workers.
description: |-
Holds information about ongoing transition of a workflow execution from one deployment to another.
Deprecated. Use DeploymentVersionTransition.
DeploymentVersionTransition:
type: object
properties:
version:
type: string
description: Deprecated. Use `deployment_version`.
deploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: |-
The target Version of the transition.
If nil, a so-far-versioned workflow is transitioning to unversioned workers.
description: |-
Holds information about ongoing transition of a workflow execution from one worker
deployment version to another.
Experimental. Might change in the future.
DescribeActivityExecutionResponse:
type: object
properties:
runId:
type: string
description: The run ID of the activity, useful when run_id was not specified in the request.
info:
allOf:
- $ref: '#/components/schemas/ActivityExecutionInfo'
description: Information about the activity execution.
input:
allOf:
- $ref: '#/components/schemas/Payloads'
description: |-
Serialized activity input, passed as arguments to the activity function.
Only set if include_input was true in the request.
outcome:
allOf:
- $ref: '#/components/schemas/ActivityExecutionOutcome'
description: Only set if the activity is completed and include_outcome was true in the request.
longPollToken:
type: string
description: Token for follow-on long-poll requests. Absent only if the activity is complete.
format: bytes
callbacks:
type: array
items:
$ref: '#/components/schemas/CallbackInfo'
description: Callbacks attached to this activity execution and their current state.
DescribeBatchOperationResponse:
type: object
properties:
operationType:
enum:
- BATCH_OPERATION_TYPE_UNSPECIFIED
- BATCH_OPERATION_TYPE_TERMINATE
- BATCH_OPERATION_TYPE_CANCEL
- BATCH_OPERATION_TYPE_SIGNAL
- BATCH_OPERATION_TYPE_DELETE
- BATCH_OPERATION_TYPE_RESET
- BATCH_OPERATION_TYPE_UPDATE_EXECUTION_OPTIONS
- BATCH_OPERATION_TYPE_UNPAUSE_ACTIVITY
- BATCH_OPERATION_TYPE_UPDATE_ACTIVITY_OPTIONS
- BATCH_OPERATION_TYPE_RESET_ACTIVITY
type: string
description: Batch operation type
format: enum
jobId:
type: string
description: Batch job ID
state:
enum:
- BATCH_OPERATION_STATE_UNSPECIFIED
- BATCH_OPERATION_STATE_RUNNING
- BATCH_OPERATION_STATE_COMPLETED
- BATCH_OPERATION_STATE_FAILED
type: string
description: Batch operation state
format: enum
startTime:
type: string
description: Batch operation start time
format: date-time
closeTime:
type: string
description: Batch operation close time
format: date-time
totalOperationCount:
type: string
description: Total operation count
completeOperationCount:
type: string
description: Complete operation count
failureOperationCount:
type: string
description: Failure operation count
identity:
type: string
description: Identity indicates the operator identity
reason:
type: string
description: Reason indicates the reason to stop a operation
DescribeDeploymentResponse:
type: object
properties:
deploymentInfo:
$ref: '#/components/schemas/DeploymentInfo'
description: '[cleanup-wv-pre-release] Pre-release deployment APIs, clean up later'
DescribeNamespaceResponse:
type: object
properties:
namespaceInfo:
$ref: '#/components/schemas/NamespaceInfo'
config:
$ref: '#/components/schemas/NamespaceConfig'
replicationConfig:
$ref: '#/components/schemas/NamespaceReplicationConfig'
failoverVersion:
type: string
isGlobalNamespace:
type: boolean
failoverHistory:
type: array
items:
$ref: '#/components/schemas/FailoverStatus'
description: |-
Contains the historical state of failover_versions for the cluster, truncated to contain only the last N
states to ensure that the list does not grow unbounded.
DescribeNexusOperationExecutionResponse:
type: object
properties:
runId:
type: string
description: The run ID of the operation, useful when run_id was not specified in the request.
info:
allOf:
- $ref: '#/components/schemas/NexusOperationExecutionInfo'
description: Information about the operation.
input:
allOf:
- $ref: '#/components/schemas/Payload'
description: |-
Serialized operation input, passed as the request payload.
Only set if include_input was true in the request.
result:
allOf:
- $ref: '#/components/schemas/Payload'
description: The result if the operation completed successfully.
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: The failure if the operation completed unsuccessfully.
longPollToken:
type: string
description: Token for follow-on long-poll requests. Absent only if the operation is complete.
format: bytes
DescribeScheduleResponse:
type: object
properties:
schedule:
allOf:
- $ref: '#/components/schemas/Schedule'
description: |-
The complete current schedule details. This may not match the schedule as
created because:
- some types of schedule specs may get compiled into others (e.g.
CronString into StructuredCalendarSpec)
- some unspecified fields may be replaced by defaults
- some fields in the state are modified automatically
- the schedule may have been modified by UpdateSchedule or PatchSchedule
info:
allOf:
- $ref: '#/components/schemas/ScheduleInfo'
description: Extra schedule state info.
memo:
allOf:
- $ref: '#/components/schemas/Memo'
description: The memo and search attributes that the schedule was created with.
searchAttributes:
$ref: '#/components/schemas/SearchAttributes'
conflictToken:
type: string
description: |-
This value can be passed back to UpdateSchedule to ensure that the
schedule was not modified between a Describe and an Update, which could
lead to lost updates and other confusion.
format: bytes
DescribeTaskQueueResponse:
type: object
properties:
pollers:
type: array
items:
$ref: '#/components/schemas/PollerInfo'
stats:
allOf:
- $ref: '#/components/schemas/TaskQueueStats'
description: |-
Statistics for the task queue.
Only set if `report_stats` is set on the request.
statsByPriorityKey:
type: object
additionalProperties:
$ref: '#/components/schemas/TaskQueueStats'
description: |-
Task queue stats breakdown by priority key. Only contains actively used priority keys.
Only set if `report_stats` is set on the request.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "by" is used to clarify the keys and values. --)
versioningInfo:
allOf:
- $ref: '#/components/schemas/TaskQueueVersioningInfo'
description: |-
Specifies which Worker Deployment Version(s) Server routes this Task Queue's tasks to.
When not present, it means the tasks are routed to Unversioned workers (workers with
UNVERSIONED or unspecified WorkerVersioningMode.)
Task Queue Versioning info is updated indirectly by calling SetWorkerDeploymentCurrentVersion
and SetWorkerDeploymentRampingVersion on Worker Deployments.
Note: This information is not relevant to Pinned workflow executions and their activities as
they are always routed to their Pinned Deployment Version. However, new workflow executions
are typically not Pinned until they complete their first task (unless they are started with
a Pinned VersioningOverride or are Child Workflows of a Pinned parent).
config:
allOf:
- $ref: '#/components/schemas/TaskQueueConfig'
description: Only populated if report_task_queue_config is set to true.
effectiveRateLimit:
$ref: '#/components/schemas/DescribeTaskQueueResponse_EffectiveRateLimit'
taskQueueStatus:
allOf:
- $ref: '#/components/schemas/TaskQueueStatus'
description: |-
Deprecated.
Status of the task queue. Only populated when `include_task_queue_status` is set to true in the request.
versionsInfo:
type: object
additionalProperties:
$ref: '#/components/schemas/TaskQueueVersionInfo'
description: |-
Deprecated.
Only returned in ENHANCED mode.
This map contains Task Queue information for each Build ID. Empty string as key value means unversioned.
DescribeTaskQueueResponse_EffectiveRateLimit:
type: object
properties:
requestsPerSecond:
type: number
description: The effective rate limit for the task queue.
format: float
rateLimitSource:
enum:
- RATE_LIMIT_SOURCE_UNSPECIFIED
- RATE_LIMIT_SOURCE_API
- RATE_LIMIT_SOURCE_WORKER
- RATE_LIMIT_SOURCE_SYSTEM
type: string
description: |-
Source of the RateLimit Configuration,which can be one of the following values:
- SOURCE_API: The rate limit that is set via the TaskQueueConfig api.
- SOURCE_WORKER: The rate limit is the value set using the workerOptions in TaskQueueActivitiesPerSecond.
- SOURCE_SYSTEM: The rate limit is the default value set by the system
format: enum
DescribeWorkerDeploymentResponse:
type: object
properties:
conflictToken:
type: string
description: |-
This value is returned so that it can be optionally passed to APIs
that write to the Worker Deployment state to ensure that the state
did not change between this read and a future write.
format: bytes
workerDeploymentInfo:
$ref: '#/components/schemas/WorkerDeploymentInfo'
DescribeWorkerDeploymentVersionResponse:
type: object
properties:
workerDeploymentVersionInfo:
$ref: '#/components/schemas/WorkerDeploymentVersionInfo'
versionTaskQueues:
type: array
items:
$ref: '#/components/schemas/DescribeWorkerDeploymentVersionResponse_VersionTaskQueue'
description: All the Task Queues that have ever polled from this Deployment version.
DescribeWorkerDeploymentVersionResponse_VersionTaskQueue:
type: object
properties:
name:
type: string
type:
enum:
- TASK_QUEUE_TYPE_UNSPECIFIED
- TASK_QUEUE_TYPE_WORKFLOW
- TASK_QUEUE_TYPE_ACTIVITY
- TASK_QUEUE_TYPE_NEXUS
type: string
format: enum
stats:
allOf:
- $ref: '#/components/schemas/TaskQueueStats'
description: Only set if `report_task_queue_stats` is set on the request.
statsByPriorityKey:
type: object
additionalProperties:
$ref: '#/components/schemas/TaskQueueStats'
description: |-
Task queue stats breakdown by priority key. Only contains actively used priority keys.
Only set if `report_task_queue_stats` is set to true in the request.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "by" is used to clarify the key. --)
DescribeWorkerResponse:
type: object
properties:
workerInfo:
$ref: '#/components/schemas/WorkerInfo'
DescribeWorkflowExecutionResponse:
type: object
properties:
executionConfig:
$ref: '#/components/schemas/WorkflowExecutionConfig'
workflowExecutionInfo:
$ref: '#/components/schemas/WorkflowExecutionInfo'
pendingActivities:
type: array
items:
$ref: '#/components/schemas/PendingActivityInfo'
pendingChildren:
type: array
items:
$ref: '#/components/schemas/PendingChildExecutionInfo'
pendingWorkflowTask:
$ref: '#/components/schemas/PendingWorkflowTaskInfo'
callbacks:
type: array
items:
$ref: '#/components/schemas/CallbackInfo'
pendingNexusOperations:
type: array
items:
$ref: '#/components/schemas/PendingNexusOperationInfo'
workflowExtendedInfo:
$ref: '#/components/schemas/WorkflowExecutionExtendedInfo'
DescribeWorkflowRuleResponse:
type: object
properties:
rule:
allOf:
- $ref: '#/components/schemas/WorkflowRule'
description: The rule that was read.
Endpoint:
type: object
properties:
version:
type: string
description: Data version for this endpoint, incremented for every update issued via the UpdateNexusEndpoint API.
id:
type: string
description: Unique server-generated endpoint ID.
spec:
allOf:
- $ref: '#/components/schemas/EndpointSpec'
description: Spec for the endpoint.
createdTime:
type: string
description: |-
The date and time when the endpoint was created.
(-- api-linter: core::0142::time-field-names=disabled
aip.dev/not-precedent: Not following linter rules. --)
format: date-time
lastModifiedTime:
type: string
description: |-
The date and time when the endpoint was last modified.
Will not be set if the endpoint has never been modified.
(-- api-linter: core::0142::time-field-names=disabled
aip.dev/not-precedent: Not following linter rules. --)
format: date-time
urlPrefix:
type: string
description: |-
Server exposed URL prefix for invocation of operations on this endpoint.
This doesn't include the protocol, hostname or port as the server does not know how it should be accessed
publicly. The URL is stable in the face of endpoint renames.
description: A cluster-global binding from an endpoint ID to a target for dispatching incoming Nexus requests.
EndpointSpec:
type: object
properties:
name:
type: string
description: |-
Endpoint name, unique for this cluster. Must match `[a-zA-Z_][a-zA-Z0-9_]*`.
Renaming an endpoint breaks all workflow callers that reference this endpoint, causing operations to fail.
description:
allOf:
- $ref: '#/components/schemas/Payload'
description: |-
Markdown description serialized as a single JSON string.
If the Payload is encrypted, the UI and CLI may decrypt with the configured codec server endpoint.
By default, the server enforces a limit of 20,000 bytes for this entire payload.
target:
allOf:
- $ref: '#/components/schemas/EndpointTarget'
description: Target to route requests to.
description: Contains mutable fields for an Endpoint.
EndpointTarget:
type: object
properties:
worker:
$ref: '#/components/schemas/EndpointTarget_Worker'
external:
$ref: '#/components/schemas/EndpointTarget_External'
description: Target to route requests to.
EndpointTarget_External:
type: object
properties:
url:
type: string
description: URL to call.
description: |-
Target an external server by URL.
At a later point, this will support providing credentials, in the meantime, an http.RoundTripper can be injected
into the server to modify the request.
EndpointTarget_Worker:
type: object
properties:
namespace:
type: string
description: Namespace to route requests to.
taskQueue:
type: string
description: Nexus task queue to route requests to.
description: Target a worker polling on a Nexus task queue in a specific namespace.
ExternalWorkflowExecutionCancelRequestedEventAttributes:
type: object
properties:
initiatedEventId:
type: string
description: |-
id of the `REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED` event this event corresponds
to
namespace:
type: string
description: |-
Namespace of the to-be-cancelled workflow.
SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.
namespaceId:
type: string
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
ExternalWorkflowExecutionSignaledEventAttributes:
type: object
properties:
initiatedEventId:
type: string
description: id of the `SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED` event this event corresponds to
namespace:
type: string
description: |-
Namespace of the workflow which was signaled.
SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.
namespaceId:
type: string
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
control:
type: string
description: Deprecated.
FailoverStatus:
type: object
properties:
failoverTime:
type: string
description: Timestamp when the Cluster switched to the following failover_version
format: date-time
failoverVersion:
type: string
description: Represents a historical replication status of a Namespace
Failure:
type: object
properties:
message:
type: string
source:
type: string
description: |-
The source this Failure originated in, e.g. TypeScriptSDK / JavaSDK
In some SDKs this is used to rehydrate the stack trace into an exception object.
stackTrace:
type: string
encodedAttributes:
allOf:
- $ref: '#/components/schemas/Payload'
description: |-
Alternative way to supply `message` and `stack_trace` and possibly other attributes, used for encryption of
errors originating in user code which might contain sensitive information.
The `encoded_attributes` Payload could represent any serializable object, e.g. JSON object or a `Failure` proto
message.
SDK authors:
- The SDK should provide a default `encodeFailureAttributes` and `decodeFailureAttributes` implementation that:
- Uses a JSON object to represent `{ message, stack_trace }`.
- Overwrites the original message with "Encoded failure" to indicate that more information could be extracted.
- Overwrites the original stack_trace with an empty string.
- The resulting JSON object is converted to Payload using the default PayloadConverter and should be processed
by the user-provided PayloadCodec
- If there's demand, we could allow overriding the default SDK implementation to encode other opaque Failure attributes.
cause:
$ref: '#/components/schemas/Failure'
applicationFailureInfo:
$ref: '#/components/schemas/ApplicationFailureInfo'
timeoutFailureInfo:
$ref: '#/components/schemas/TimeoutFailureInfo'
canceledFailureInfo:
$ref: '#/components/schemas/CanceledFailureInfo'
terminatedFailureInfo:
$ref: '#/components/schemas/TerminatedFailureInfo'
serverFailureInfo:
$ref: '#/components/schemas/ServerFailureInfo'
resetWorkflowFailureInfo:
$ref: '#/components/schemas/ResetWorkflowFailureInfo'
activityFailureInfo:
$ref: '#/components/schemas/ActivityFailureInfo'
childWorkflowExecutionFailureInfo:
$ref: '#/components/schemas/ChildWorkflowExecutionFailureInfo'
nexusOperationExecutionFailureInfo:
$ref: '#/components/schemas/NexusOperationFailureInfo'
nexusHandlerFailureInfo:
$ref: '#/components/schemas/NexusHandlerFailureInfo'
FetchWorkerConfigRequest:
type: object
properties:
namespace:
type: string
description: Namespace this worker belongs to.
identity:
type: string
description: The identity of the client who initiated this request.
reason:
type: string
description: Reason for sending worker command, can be used for audit purpose.
selector:
allOf:
- $ref: '#/components/schemas/WorkerSelector'
description: |-
Defines which workers should receive this command.
only single worker is supported at this time.
resourceId:
type: string
description: Resource ID for routing. Contains the worker grouping key.
FetchWorkerConfigResponse:
type: object
properties:
workerConfig:
allOf:
- $ref: '#/components/schemas/WorkerConfig'
description: The worker configuration.
GetClusterInfoResponse:
type: object
properties:
supportedClients:
type: object
additionalProperties:
type: string
description: |-
Key is client name i.e "temporal-go", "temporal-java", or "temporal-cli".
Value is ranges of supported versions of this client i.e ">1.1.1 <=1.4.0 || ^5.0.0".
serverVersion:
type: string
clusterId:
type: string
versionInfo:
$ref: '#/components/schemas/VersionInfo'
clusterName:
type: string
historyShardCount:
type: integer
format: int32
persistenceStore:
type: string
visibilityStore:
type: string
initialFailoverVersion:
type: string
failoverVersionIncrement:
type: string
description: GetClusterInfoResponse contains information about Temporal cluster.
GetCurrentDeploymentResponse:
type: object
properties:
currentDeploymentInfo:
$ref: '#/components/schemas/DeploymentInfo'
description: '[cleanup-wv-pre-release] Pre-release deployment APIs, clean up later'
GetDeploymentReachabilityResponse:
type: object
properties:
deploymentInfo:
$ref: '#/components/schemas/DeploymentInfo'
reachability:
enum:
- DEPLOYMENT_REACHABILITY_UNSPECIFIED
- DEPLOYMENT_REACHABILITY_REACHABLE
- DEPLOYMENT_REACHABILITY_CLOSED_WORKFLOWS_ONLY
- DEPLOYMENT_REACHABILITY_UNREACHABLE
type: string
format: enum
lastUpdateTime:
type: string
description: |-
Reachability level might come from server cache. This timestamp specifies when the value
was actually calculated.
format: date-time
description: '[cleanup-wv-pre-release] Pre-release deployment APIs, clean up later'
GetNexusEndpointResponse:
type: object
properties:
endpoint:
$ref: '#/components/schemas/Endpoint'
GetSystemInfoResponse:
type: object
properties:
serverVersion:
type: string
description: Version of the server.
capabilities:
allOf:
- $ref: '#/components/schemas/GetSystemInfoResponse_Capabilities'
description: All capabilities the system supports.
GetSystemInfoResponse_Capabilities:
type: object
properties:
signalAndQueryHeader:
type: boolean
description: True if signal and query headers are supported.
internalErrorDifferentiation:
type: boolean
description: |-
True if internal errors are differentiated from other types of errors for purposes of
retrying non-internal errors.
When unset/false, clients retry all failures. When true, clients should only retry
non-internal errors.
activityFailureIncludeHeartbeat:
type: boolean
description: True if RespondActivityTaskFailed API supports including heartbeat details
supportsSchedules:
type: boolean
description: Supports scheduled workflow features.
encodedFailureAttributes:
type: boolean
description: True if server uses protos that include temporal.api.failure.v1.Failure.encoded_attributes
buildIdBasedVersioning:
type: boolean
description: |-
True if server supports dispatching Workflow and Activity tasks based on a worker's build_id
(see:
https://github.com/temporalio/proposals/blob/a123af3b559f43db16ea6dd31870bfb754c4dc5e/versioning/worker-versions.md)
upsertMemo:
type: boolean
description: True if server supports upserting workflow memo
eagerWorkflowStart:
type: boolean
description: True if server supports eager workflow task dispatching for the StartWorkflowExecution API
sdkMetadata:
type: boolean
description: |-
True if the server knows about the sdk metadata field on WFT completions and will record
it in history
countGroupByExecutionStatus:
type: boolean
description: True if the server supports count group by execution status
nexus:
type: boolean
description: |-
True if the server supports Nexus operations.
This flag is dependent both on server version and for Nexus to be enabled via server configuration.
serverScaledDeployments:
type: boolean
description: |-
True if the server supports server-scaled deployments.
This flag is dependent both on server version and for server-scaled deployments
to be enabled via server configuration.
description: System capability details.
GetWorkerBuildIdCompatibilityResponse:
type: object
properties:
majorVersionSets:
type: array
items:
$ref: '#/components/schemas/CompatibleVersionSet'
description: |-
Major version sets, in order from oldest to newest. The last element of the list will always
be the current default major version. IE: New workflows will target the most recent version
in that version set.
There may be fewer sets returned than exist, if the request chose to limit this response.
description: '[cleanup-wv-pre-release]'
GetWorkerTaskReachabilityResponse:
type: object
properties:
buildIdReachability:
type: array
items:
$ref: '#/components/schemas/BuildIdReachability'
description: |-
Task reachability, broken down by build id and then task queue.
When requesting a large number of task queues or all task queues associated with the given build ids in a
namespace, all task queues will be listed in the response but some of them may not contain reachability
information due to a server enforced limit. When reaching the limit, task queues that reachability information
could not be retrieved for will be marked with a single TASK_REACHABILITY_UNSPECIFIED entry. The caller may issue
another call to get the reachability for those task queues.
Open source users can adjust this limit by setting the server's dynamic config value for
`limit.reachabilityTaskQueueScan` with the caveat that this call can strain the visibility store.
description: |-
[cleanup-wv-pre-release]
Deprecated. Use `DescribeTaskQueue`.
GetWorkerVersioningRulesResponse:
type: object
properties:
assignmentRules:
type: array
items:
$ref: '#/components/schemas/TimestampedBuildIdAssignmentRule'
compatibleRedirectRules:
type: array
items:
$ref: '#/components/schemas/TimestampedCompatibleBuildIdRedirectRule'
conflictToken:
type: string
description: |-
This value can be passed back to UpdateWorkerVersioningRulesRequest to
ensure that the rules were not modified between this List and the Update,
which could lead to lost updates and other confusion.
format: bytes
description: '[cleanup-wv-pre-release]'
GetWorkflowExecutionHistoryResponse:
type: object
properties:
history:
$ref: '#/components/schemas/History'
rawHistory:
type: array
items:
$ref: '#/components/schemas/DataBlob'
description: |-
Raw history is an alternate representation of history that may be returned if configured on
the frontend. This is not supported by all SDKs. Either this or `history` will be set.
nextPageToken:
type: string
description: Will be set if there are more history events than were included in this response
format: bytes
archived:
type: boolean
GetWorkflowExecutionHistoryReverseResponse:
type: object
properties:
history:
$ref: '#/components/schemas/History'
nextPageToken:
type: string
description: Will be set if there are more history events than were included in this response
format: bytes
GoogleProtobufAny:
type: object
properties:
'@type':
type: string
description: The type of the serialized message.
additionalProperties: true
description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
Header:
type: object
properties:
fields:
type: object
additionalProperties:
$ref: '#/components/schemas/Payload'
description: |-
Contains metadata that can be attached to a variety of requests, like starting a workflow, and
can be propagated between, for example, workflows and activities.
History:
type: object
properties:
events:
type: array
items:
$ref: '#/components/schemas/HistoryEvent'
HistoryEvent:
type: object
properties:
eventId:
type: string
description: Monotonically increasing event number, starts at 1.
eventTime:
type: string
format: date-time
eventType:
enum:
- EVENT_TYPE_UNSPECIFIED
- EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
- EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
- EVENT_TYPE_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT
- EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
- EVENT_TYPE_WORKFLOW_TASK_STARTED
- EVENT_TYPE_WORKFLOW_TASK_COMPLETED
- EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT
- EVENT_TYPE_WORKFLOW_TASK_FAILED
- EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
- EVENT_TYPE_ACTIVITY_TASK_STARTED
- EVENT_TYPE_ACTIVITY_TASK_COMPLETED
- EVENT_TYPE_ACTIVITY_TASK_FAILED
- EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT
- EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED
- EVENT_TYPE_ACTIVITY_TASK_CANCELED
- EVENT_TYPE_TIMER_STARTED
- EVENT_TYPE_TIMER_FIRED
- EVENT_TYPE_TIMER_CANCELED
- EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED
- EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED
- EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED
- EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_CANCEL_REQUESTED
- EVENT_TYPE_MARKER_RECORDED
- EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
- EVENT_TYPE_WORKFLOW_EXECUTION_TERMINATED
- EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW
- EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED
- EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_COMPLETED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_CANCELED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TIMED_OUT
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TERMINATED
- EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED
- EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED
- EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ADMITTED
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ACCEPTED
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_REJECTED
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_COMPLETED
- EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED_EXTERNALLY
- EVENT_TYPE_ACTIVITY_PROPERTIES_MODIFIED_EXTERNALLY
- EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED
- EVENT_TYPE_NEXUS_OPERATION_SCHEDULED
- EVENT_TYPE_NEXUS_OPERATION_STARTED
- EVENT_TYPE_NEXUS_OPERATION_COMPLETED
- EVENT_TYPE_NEXUS_OPERATION_FAILED
- EVENT_TYPE_NEXUS_OPERATION_CANCELED
- EVENT_TYPE_NEXUS_OPERATION_TIMED_OUT
- EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUESTED
- EVENT_TYPE_WORKFLOW_EXECUTION_OPTIONS_UPDATED
- EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUEST_COMPLETED
- EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUEST_FAILED
- EVENT_TYPE_WORKFLOW_EXECUTION_PAUSED
- EVENT_TYPE_WORKFLOW_EXECUTION_UNPAUSED
- EVENT_TYPE_WORKFLOW_EXECUTION_TIME_SKIPPING_TRANSITIONED
type: string
format: enum
version:
type: string
description: |-
Failover version of the event, used by the server for multi-cluster replication and history
versioning. SDKs generally ignore this field.
taskId:
type: string
description: |-
Identifier used by the service to order replication and transfer tasks associated with this
event. SDKs generally ignore this field.
workerMayIgnore:
type: boolean
description: |-
Set to true when the SDK may ignore the event as it does not impact workflow state or
information in any way that the SDK need be concerned with. If an SDK encounters an event
type which it does not understand, it must error unless this is true. If it is true, it's
acceptable for the event type and/or attributes to be uninterpretable.
userMetadata:
allOf:
- $ref: '#/components/schemas/UserMetadata'
description: |-
Metadata on the event. This is often carried over from commands and client calls. Most events
won't have this information, and how this information is used is dependent upon the interface
that reads it.
Current well-known uses:
* workflow_execution_started_event_attributes - summary and details from start workflow.
* timer_started_event_attributes - summary represents an identifier for the timer for use by
user interfaces.
links:
type: array
items:
$ref: '#/components/schemas/Link'
description: Links to related entities, such as the entity that started this event's workflow.
principal:
allOf:
- $ref: '#/components/schemas/Principal'
description: Server-computed authenticated caller identity associated with this event.
workflowExecutionStartedEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionStartedEventAttributes'
workflowExecutionCompletedEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionCompletedEventAttributes'
workflowExecutionFailedEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionFailedEventAttributes'
workflowExecutionTimedOutEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionTimedOutEventAttributes'
workflowTaskScheduledEventAttributes:
$ref: '#/components/schemas/WorkflowTaskScheduledEventAttributes'
workflowTaskStartedEventAttributes:
$ref: '#/components/schemas/WorkflowTaskStartedEventAttributes'
workflowTaskCompletedEventAttributes:
$ref: '#/components/schemas/WorkflowTaskCompletedEventAttributes'
workflowTaskTimedOutEventAttributes:
$ref: '#/components/schemas/WorkflowTaskTimedOutEventAttributes'
workflowTaskFailedEventAttributes:
$ref: '#/components/schemas/WorkflowTaskFailedEventAttributes'
activityTaskScheduledEventAttributes:
$ref: '#/components/schemas/ActivityTaskScheduledEventAttributes'
activityTaskStartedEventAttributes:
$ref: '#/components/schemas/ActivityTaskStartedEventAttributes'
activityTaskCompletedEventAttributes:
$ref: '#/components/schemas/ActivityTaskCompletedEventAttributes'
activityTaskFailedEventAttributes:
$ref: '#/components/schemas/ActivityTaskFailedEventAttributes'
activityTaskTimedOutEventAttributes:
$ref: '#/components/schemas/ActivityTaskTimedOutEventAttributes'
timerStartedEventAttributes:
$ref: '#/components/schemas/TimerStartedEventAttributes'
timerFiredEventAttributes:
$ref: '#/components/schemas/TimerFiredEventAttributes'
activityTaskCancelRequestedEventAttributes:
$ref: '#/components/schemas/ActivityTaskCancelRequestedEventAttributes'
activityTaskCanceledEventAttributes:
$ref: '#/components/schemas/ActivityTaskCanceledEventAttributes'
timerCanceledEventAttributes:
$ref: '#/components/schemas/TimerCanceledEventAttributes'
markerRecordedEventAttributes:
$ref: '#/components/schemas/MarkerRecordedEventAttributes'
workflowExecutionSignaledEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionSignaledEventAttributes'
workflowExecutionTerminatedEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionTerminatedEventAttributes'
workflowExecutionCancelRequestedEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionCancelRequestedEventAttributes'
workflowExecutionCanceledEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionCanceledEventAttributes'
requestCancelExternalWorkflowExecutionInitiatedEventAttributes:
$ref: '#/components/schemas/RequestCancelExternalWorkflowExecutionInitiatedEventAttributes'
requestCancelExternalWorkflowExecutionFailedEventAttributes:
$ref: '#/components/schemas/RequestCancelExternalWorkflowExecutionFailedEventAttributes'
externalWorkflowExecutionCancelRequestedEventAttributes:
$ref: '#/components/schemas/ExternalWorkflowExecutionCancelRequestedEventAttributes'
workflowExecutionContinuedAsNewEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionContinuedAsNewEventAttributes'
startChildWorkflowExecutionInitiatedEventAttributes:
$ref: '#/components/schemas/StartChildWorkflowExecutionInitiatedEventAttributes'
startChildWorkflowExecutionFailedEventAttributes:
$ref: '#/components/schemas/StartChildWorkflowExecutionFailedEventAttributes'
childWorkflowExecutionStartedEventAttributes:
$ref: '#/components/schemas/ChildWorkflowExecutionStartedEventAttributes'
childWorkflowExecutionCompletedEventAttributes:
$ref: '#/components/schemas/ChildWorkflowExecutionCompletedEventAttributes'
childWorkflowExecutionFailedEventAttributes:
$ref: '#/components/schemas/ChildWorkflowExecutionFailedEventAttributes'
childWorkflowExecutionCanceledEventAttributes:
$ref: '#/components/schemas/ChildWorkflowExecutionCanceledEventAttributes'
childWorkflowExecutionTimedOutEventAttributes:
$ref: '#/components/schemas/ChildWorkflowExecutionTimedOutEventAttributes'
childWorkflowExecutionTerminatedEventAttributes:
$ref: '#/components/schemas/ChildWorkflowExecutionTerminatedEventAttributes'
signalExternalWorkflowExecutionInitiatedEventAttributes:
$ref: '#/components/schemas/SignalExternalWorkflowExecutionInitiatedEventAttributes'
signalExternalWorkflowExecutionFailedEventAttributes:
$ref: '#/components/schemas/SignalExternalWorkflowExecutionFailedEventAttributes'
externalWorkflowExecutionSignaledEventAttributes:
$ref: '#/components/schemas/ExternalWorkflowExecutionSignaledEventAttributes'
upsertWorkflowSearchAttributesEventAttributes:
$ref: '#/components/schemas/UpsertWorkflowSearchAttributesEventAttributes'
workflowExecutionUpdateAcceptedEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionUpdateAcceptedEventAttributes'
workflowExecutionUpdateRejectedEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionUpdateRejectedEventAttributes'
workflowExecutionUpdateCompletedEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionUpdateCompletedEventAttributes'
workflowPropertiesModifiedExternallyEventAttributes:
$ref: '#/components/schemas/WorkflowPropertiesModifiedExternallyEventAttributes'
activityPropertiesModifiedExternallyEventAttributes:
$ref: '#/components/schemas/ActivityPropertiesModifiedExternallyEventAttributes'
workflowPropertiesModifiedEventAttributes:
$ref: '#/components/schemas/WorkflowPropertiesModifiedEventAttributes'
workflowExecutionUpdateAdmittedEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionUpdateAdmittedEventAttributes'
nexusOperationScheduledEventAttributes:
$ref: '#/components/schemas/NexusOperationScheduledEventAttributes'
nexusOperationStartedEventAttributes:
$ref: '#/components/schemas/NexusOperationStartedEventAttributes'
nexusOperationCompletedEventAttributes:
$ref: '#/components/schemas/NexusOperationCompletedEventAttributes'
nexusOperationFailedEventAttributes:
$ref: '#/components/schemas/NexusOperationFailedEventAttributes'
nexusOperationCanceledEventAttributes:
$ref: '#/components/schemas/NexusOperationCanceledEventAttributes'
nexusOperationTimedOutEventAttributes:
$ref: '#/components/schemas/NexusOperationTimedOutEventAttributes'
nexusOperationCancelRequestedEventAttributes:
$ref: '#/components/schemas/NexusOperationCancelRequestedEventAttributes'
workflowExecutionOptionsUpdatedEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionOptionsUpdatedEventAttributes'
nexusOperationCancelRequestCompletedEventAttributes:
$ref: '#/components/schemas/NexusOperationCancelRequestCompletedEventAttributes'
nexusOperationCancelRequestFailedEventAttributes:
$ref: '#/components/schemas/NexusOperationCancelRequestFailedEventAttributes'
workflowExecutionPausedEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionPausedEventAttributes'
workflowExecutionUnpausedEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionUnpausedEventAttributes'
workflowExecutionTimeSkippingTransitionedEventAttributes:
$ref: '#/components/schemas/WorkflowExecutionTimeSkippingTransitionedEventAttributes'
description: |-
History events are the method by which Temporal SDKs advance (or recreate) workflow state.
See the `EventType` enum for more info about what each event is for.
InheritedAutoUpgradeInfo:
type: object
properties:
sourceDeploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: The source deployment version of the parent/previous workflow.
sourceDeploymentRevisionNumber:
type: string
description: The revision number of the source deployment version of the parent/previous workflow.
continueAsNewInitialVersioningBehavior:
enum:
- CONTINUE_AS_NEW_VERSIONING_BEHAVIOR_UNSPECIFIED
- CONTINUE_AS_NEW_VERSIONING_BEHAVIOR_AUTO_UPGRADE
- CONTINUE_AS_NEW_VERSIONING_BEHAVIOR_USE_RAMPING_VERSION
type: string
description: |-
Experimental.
If this workflow is the result of a continue-as-new, this field is set to the initial_versioning_behavior
specified in that command.
Only used for the initial task of this run and the initial task of any retries of this run.
Not passed to children or to future continue-as-new.
Note: In the first release of Upgrade-on-CaN, when the only ContinueAsNewVersioningBehavior was AutoUpgrade,
a non-empty InheritedAutoUpgradeInfo meant that the workflow should start as AutoUpgrade. So for compatibility
with history events generated during that time, know that an UNSPECIFIED value here is equivalent to AutoUpgrade
value if the InheritedAutoUpgradeInfo is non-empty.
format: enum
description: |-
Used as part of WorkflowExecutionStartedEventAttributes to pass down the AutoUpgrade behavior and source deployment version
to a workflow execution whose parent/previous workflow has an AutoUpgrade behavior.
Also used for Upgrade-on-CaN behaviors AutoUpgrade and UseRampingVersion.
Input:
type: object
properties:
header:
allOf:
- $ref: '#/components/schemas/Header'
description: |-
Headers that are passed with the Update from the requesting entity.
These can include things like auth or tracing tokens.
name:
type: string
description: The name of the Update handler to invoke on the target Workflow.
args:
allOf:
- $ref: '#/components/schemas/Payloads'
description: The arguments to pass to the named Update handler.
IntervalSpec:
type: object
properties:
interval:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
phase:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
IntervalSpec matches times that can be expressed as:
epoch + n * interval + phase
where n is an integer.
phase defaults to zero if missing. interval is required.
Both interval and phase must be non-negative and are truncated to the nearest
second before any calculations.
For example, an interval of 1 hour with phase of zero would match every hour,
on the hour. The same interval but a phase of 19 minutes would match every
xx:19:00. An interval of 28 days with phase zero would match
2022-02-17T00:00:00Z (among other times). The same interval with a phase of 3
days, 5 hours, and 23 minutes would match 2022-02-20T05:23:00Z instead.
Link:
type: object
properties:
workflowEvent:
$ref: '#/components/schemas/Link_WorkflowEvent'
batchJob:
$ref: '#/components/schemas/Link_BatchJob'
activity:
$ref: '#/components/schemas/Link_Activity'
nexusOperation:
$ref: '#/components/schemas/Link_NexusOperation'
description: |-
Link can be associated with history events. It might contain information about an external entity
related to the history event. For example, workflow A makes a Nexus call that starts workflow B:
in this case, a history event in workflow A could contain a Link to the workflow started event in
workflow B, and vice-versa.
Link_Activity:
type: object
properties:
namespace:
type: string
activityId:
type: string
runId:
type: string
description: A link to an activity.
Link_BatchJob:
type: object
properties:
jobId:
type: string
description: |-
A link to a built-in batch job.
Batch jobs can be used to perform operations on a set of workflows (e.g. terminate, signal, cancel, etc).
This link can be put on workflow history events generated by actions taken by a batch job.
Link_NexusOperation:
type: object
properties:
namespace:
type: string
operationId:
type: string
runId:
type: string
description: A link to a standalone Nexus operation.
Link_WorkflowEvent:
type: object
properties:
namespace:
type: string
workflowId:
type: string
runId:
type: string
eventRef:
$ref: '#/components/schemas/WorkflowEvent_EventReference'
requestIdRef:
$ref: '#/components/schemas/WorkflowEvent_RequestIdReference'
ListActivityExecutionsResponse:
type: object
properties:
executions:
type: array
items:
$ref: '#/components/schemas/ActivityExecutionListInfo'
nextPageToken:
type: string
description: Token to use to fetch the next page. If empty, there is no next page.
format: bytes
ListArchivedWorkflowExecutionsResponse:
type: object
properties:
executions:
type: array
items:
$ref: '#/components/schemas/WorkflowExecutionInfo'
nextPageToken:
type: string
format: bytes
ListBatchOperationsResponse:
type: object
properties:
operationInfo:
type: array
items:
$ref: '#/components/schemas/BatchOperationInfo'
description: BatchOperationInfo contains the basic info about batch operation
nextPageToken:
type: string
format: bytes
ListDeploymentsResponse:
type: object
properties:
nextPageToken:
type: string
format: bytes
deployments:
type: array
items:
$ref: '#/components/schemas/DeploymentListInfo'
description: '[cleanup-wv-pre-release] Pre-release deployment APIs, clean up later'
ListNamespacesResponse:
type: object
properties:
namespaces:
type: array
items:
$ref: '#/components/schemas/DescribeNamespaceResponse'
nextPageToken:
type: string
format: bytes
ListNexusEndpointsResponse:
type: object
properties:
nextPageToken:
type: string
description: Token for getting the next page.
format: bytes
endpoints:
type: array
items:
$ref: '#/components/schemas/Endpoint'
ListNexusOperationExecutionsResponse:
type: object
properties:
operations:
type: array
items:
$ref: '#/components/schemas/NexusOperationExecutionListInfo'
nextPageToken:
type: string
description: Token to use to fetch the next page. If empty, there is no next page.
format: bytes
ListScheduleMatchingTimesResponse:
type: object
properties:
startTime:
type: array
items:
type: string
format: date-time
ListSchedulesResponse:
type: object
properties:
schedules:
type: array
items:
$ref: '#/components/schemas/ScheduleListEntry'
nextPageToken:
type: string
format: bytes
ListSearchAttributesResponse:
type: object
properties:
customAttributes:
type: object
additionalProperties:
enum:
- INDEXED_VALUE_TYPE_UNSPECIFIED
- INDEXED_VALUE_TYPE_TEXT
- INDEXED_VALUE_TYPE_KEYWORD
- INDEXED_VALUE_TYPE_INT
- INDEXED_VALUE_TYPE_DOUBLE
- INDEXED_VALUE_TYPE_BOOL
- INDEXED_VALUE_TYPE_DATETIME
- INDEXED_VALUE_TYPE_KEYWORD_LIST
type: string
format: enum
description: Mapping between custom (user-registered) search attribute name to its IndexedValueType.
systemAttributes:
type: object
additionalProperties:
enum:
- INDEXED_VALUE_TYPE_UNSPECIFIED
- INDEXED_VALUE_TYPE_TEXT
- INDEXED_VALUE_TYPE_KEYWORD
- INDEXED_VALUE_TYPE_INT
- INDEXED_VALUE_TYPE_DOUBLE
- INDEXED_VALUE_TYPE_BOOL
- INDEXED_VALUE_TYPE_DATETIME
- INDEXED_VALUE_TYPE_KEYWORD_LIST
type: string
format: enum
description: Mapping between system (predefined) search attribute name to its IndexedValueType.
storageSchema:
type: object
additionalProperties:
type: string
description: Mapping from the attribute name to the visibility storage native type.
ListWorkerDeploymentsResponse:
type: object
properties:
nextPageToken:
type: string
format: bytes
workerDeployments:
type: array
items:
$ref: '#/components/schemas/ListWorkerDeploymentsResponse_WorkerDeploymentSummary'
description: The list of worker deployments.
ListWorkerDeploymentsResponse_WorkerDeploymentSummary:
type: object
properties:
name:
type: string
createTime:
type: string
format: date-time
routingConfig:
$ref: '#/components/schemas/RoutingConfig'
latestVersionSummary:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentInfo_WorkerDeploymentVersionSummary'
description: Summary of the version that was added most recently in the Worker Deployment.
currentVersionSummary:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentInfo_WorkerDeploymentVersionSummary'
description: Summary of the current version of the Worker Deployment.
rampingVersionSummary:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentInfo_WorkerDeploymentVersionSummary'
description: Summary of the ramping version of the Worker Deployment.
description: A subset of WorkerDeploymentInfo
ListWorkersResponse:
type: object
properties:
workersInfo:
type: array
items:
$ref: '#/components/schemas/WorkerInfo'
description: |-
Deprecated: Use workers instead. This field returns full WorkerInfo which
includes expensive runtime metrics. We will stop populating this field in the future.
workers:
type: array
items:
$ref: '#/components/schemas/WorkerListInfo'
description: Limited worker information.
nextPageToken:
type: string
description: Next page token
format: bytes
ListWorkflowExecutionsResponse:
type: object
properties:
executions:
type: array
items:
$ref: '#/components/schemas/WorkflowExecutionInfo'
nextPageToken:
type: string
format: bytes
ListWorkflowRulesResponse:
type: object
properties:
rules:
type: array
items:
$ref: '#/components/schemas/WorkflowRule'
nextPageToken:
type: string
format: bytes
MarkerRecordedEventAttributes:
type: object
properties:
markerName:
type: string
description: 'Workers use this to identify the "types" of various markers. Ex: Local activity, side effect.'
details:
type: object
additionalProperties:
$ref: '#/components/schemas/Payloads'
description: Serialized information recorded in the marker
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
header:
$ref: '#/components/schemas/Header'
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: Some uses of markers, like a local activity, could "fail". If they did that is recorded here.
Memo:
type: object
properties:
fields:
type: object
additionalProperties:
$ref: '#/components/schemas/Payload'
description: A user-defined set of *unindexed* fields that are exposed when listing/searching workflows
Message:
type: object
properties:
id:
type: string
description: An ID for this specific message.
protocolInstanceId:
type: string
description: |-
Identifies the specific instance of a protocol to which this message
belongs.
eventId:
type: string
commandIndex:
type: string
body:
allOf:
- $ref: '#/components/schemas/GoogleProtobufAny'
description: |-
The opaque data carried by this message. The protocol type can be
extracted from the package name of the message carried inside the Any.
description: |-
(-- api-linter: core::0146::any=disabled
aip.dev/not-precedent: We want runtime extensibility for the body field --)
Meta:
type: object
properties:
updateId:
type: string
description: An ID with workflow-scoped uniqueness for this Update.
identity:
type: string
description: A string identifying the agent that requested this Update.
description: Metadata about a Workflow Update.
MeteringMetadata:
type: object
properties:
nonfirstLocalActivityExecutionAttempts:
type: integer
description: |-
Count of local activities which have begun an execution attempt during this workflow task,
and whose first attempt occurred in some previous task. This is used for metering
purposes, and does not affect workflow state.
(-- api-linter: core::0141::forbidden-types=disabled
aip.dev/not-precedent: Negative values make no sense to represent. --)
format: uint32
description: Metadata relevant for metering purposes
NamespaceConfig:
type: object
properties:
workflowExecutionRetentionTtl:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
badBinaries:
$ref: '#/components/schemas/BadBinaries'
historyArchivalState:
enum:
- ARCHIVAL_STATE_UNSPECIFIED
- ARCHIVAL_STATE_DISABLED
- ARCHIVAL_STATE_ENABLED
type: string
description: If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used.
format: enum
historyArchivalUri:
type: string
visibilityArchivalState:
enum:
- ARCHIVAL_STATE_UNSPECIFIED
- ARCHIVAL_STATE_DISABLED
- ARCHIVAL_STATE_ENABLED
type: string
description: If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used.
format: enum
visibilityArchivalUri:
type: string
customSearchAttributeAliases:
type: object
additionalProperties:
type: string
description: Map from field name to alias.
NamespaceInfo:
type: object
properties:
name:
type: string
state:
enum:
- NAMESPACE_STATE_UNSPECIFIED
- NAMESPACE_STATE_REGISTERED
- NAMESPACE_STATE_DEPRECATED
- NAMESPACE_STATE_DELETED
type: string
format: enum
description:
type: string
ownerEmail:
type: string
data:
type: object
additionalProperties:
type: string
description: A key-value map for any customized purpose.
id:
type: string
capabilities:
allOf:
- $ref: '#/components/schemas/NamespaceInfo_Capabilities'
description: All capabilities the namespace supports.
limits:
allOf:
- $ref: '#/components/schemas/NamespaceInfo_Limits'
description: Namespace configured limits
supportsSchedules:
type: boolean
description: |-
Whether scheduled workflows are supported on this namespace. This is only needed
temporarily while the feature is experimental, so we can give it a high tag.
NamespaceInfo_Capabilities:
type: object
properties:
eagerWorkflowStart:
type: boolean
description: True if the namespace supports eager workflow start.
syncUpdate:
type: boolean
description: True if the namespace supports sync update
asyncUpdate:
type: boolean
description: True if the namespace supports async update
workerHeartbeats:
type: boolean
description: True if the namespace supports worker heartbeats
reportedProblemsSearchAttribute:
type: boolean
description: True if the namespace supports reported problems search attribute
workflowPause:
type: boolean
description: True if the namespace supports pausing workflows
standaloneActivities:
type: boolean
description: True if the namespace supports standalone activities
workerPollCompleteOnShutdown:
type: boolean
description: |-
True if the namespace supports server-side completion of outstanding worker polls on shutdown.
When enabled, the server will complete polls for workers that send WorkerInstanceKey in their
poll requests and call ShutdownWorker with the same WorkerInstanceKey. The poll will return
an empty response. When this flag is true, workers should allow polls to return gracefully
rather than terminating any open polls on shutdown.
pollerAutoscaling:
type: boolean
description: True if the namespace supports poller autoscaling
description: Namespace capability details. Should contain what features are enabled in a namespace.
NamespaceInfo_Limits:
type: object
properties:
blobSizeLimitError:
type: string
description: |-
Maximum size in bytes for payload fields in workflow history events
(e.g., workflow/activity inputs and results, failure details, signal payloads).
When exceeded, the server will reject the operation with an error.
memoSizeLimitError:
type: string
description: Maximum total memo size in bytes per workflow execution.
NamespaceReplicationConfig:
type: object
properties:
activeClusterName:
type: string
clusters:
type: array
items:
$ref: '#/components/schemas/ClusterReplicationConfig'
state:
enum:
- REPLICATION_STATE_UNSPECIFIED
- REPLICATION_STATE_NORMAL
- REPLICATION_STATE_HANDOVER
type: string
format: enum
NewWorkflowExecutionInfo:
type: object
properties:
workflowId:
type: string
workflowType:
$ref: '#/components/schemas/WorkflowType'
taskQueue:
$ref: '#/components/schemas/TaskQueue'
input:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Serialized arguments to the workflow.
workflowExecutionTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Total workflow execution timeout including retries and continue as new.
workflowRunTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Timeout of a single workflow run.
workflowTaskTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Timeout of a single workflow task.
workflowIdReusePolicy:
enum:
- WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED
- WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE
- WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY
- WORKFLOW_ID_REUSE_POLICY_REJECT_DUPLICATE
- WORKFLOW_ID_REUSE_POLICY_TERMINATE_IF_RUNNING
type: string
description: 'Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.'
format: enum
retryPolicy:
allOf:
- $ref: '#/components/schemas/RetryPolicy'
description: The retry policy for the workflow. Will never exceed `workflow_execution_timeout`.
cronSchedule:
type: string
description: See https://docs.temporal.io/docs/content/what-is-a-temporal-cron-job/
memo:
$ref: '#/components/schemas/Memo'
searchAttributes:
$ref: '#/components/schemas/SearchAttributes'
header:
$ref: '#/components/schemas/Header'
userMetadata:
allOf:
- $ref: '#/components/schemas/UserMetadata'
description: |-
Metadata on the workflow if it is started. This is carried over to the WorkflowExecutionConfig
for use by user interfaces to display the fixed as-of-start summary and details of the
workflow.
versioningOverride:
allOf:
- $ref: '#/components/schemas/VersioningOverride'
description: |-
If set, takes precedence over the Versioning Behavior sent by the SDK on Workflow Task completion.
To unset the override after the workflow is running, use UpdateWorkflowExecutionOptions.
priority:
allOf:
- $ref: '#/components/schemas/Priority'
description: Priority metadata
description: |-
NewWorkflowExecutionInfo is a shared message that encapsulates all the
required arguments to starting a workflow in different contexts.
NexusHandlerFailureInfo:
type: object
properties:
type:
type: string
description: |-
The Nexus error type as defined in the spec:
https://github.com/nexus-rpc/api/blob/main/SPEC.md#predefined-handler-errors.
retryBehavior:
enum:
- NEXUS_HANDLER_ERROR_RETRY_BEHAVIOR_UNSPECIFIED
- NEXUS_HANDLER_ERROR_RETRY_BEHAVIOR_RETRYABLE
- NEXUS_HANDLER_ERROR_RETRY_BEHAVIOR_NON_RETRYABLE
type: string
description: Retry behavior, defaults to the retry behavior of the error type as defined in the spec.
format: enum
NexusOperationCancelRequestCompletedEventAttributes:
type: object
properties:
requestedEventId:
type: string
description: The ID of the `NEXUS_OPERATION_CANCEL_REQUESTED` event.
workflowTaskCompletedEventId:
type: string
description: |-
The `WORKFLOW_TASK_COMPLETED` event that the corresponding RequestCancelNexusOperation command was reported
with.
scheduledEventId:
type: string
description: The id of the `NEXUS_OPERATION_SCHEDULED` event this cancel request corresponds to.
NexusOperationCancelRequestFailedEventAttributes:
type: object
properties:
requestedEventId:
type: string
description: The ID of the `NEXUS_OPERATION_CANCEL_REQUESTED` event.
workflowTaskCompletedEventId:
type: string
description: |-
The `WORKFLOW_TASK_COMPLETED` event that the corresponding RequestCancelNexusOperation command was reported
with.
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: Failure details. A NexusOperationFailureInfo wrapping a CanceledFailureInfo.
scheduledEventId:
type: string
description: The id of the `NEXUS_OPERATION_SCHEDULED` event this cancel request corresponds to.
NexusOperationCancelRequestedEventAttributes:
type: object
properties:
scheduledEventId:
type: string
description: The id of the `NEXUS_OPERATION_SCHEDULED` event this cancel request corresponds to.
workflowTaskCompletedEventId:
type: string
description: |-
The `WORKFLOW_TASK_COMPLETED` event that the corresponding RequestCancelNexusOperation command was reported
with.
NexusOperationCanceledEventAttributes:
type: object
properties:
scheduledEventId:
type: string
description: The ID of the `NEXUS_OPERATION_SCHEDULED` event. Uniquely identifies this operation.
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: Cancellation details.
requestId:
type: string
description: The request ID allocated at schedule time.
description: Nexus operation completed as canceled. May or may not have been due to a cancellation request by the workflow.
NexusOperationCancellationInfo:
type: object
properties:
requestedTime:
type: string
description: The time when cancellation was requested.
format: date-time
state:
enum:
- NEXUS_OPERATION_CANCELLATION_STATE_UNSPECIFIED
- NEXUS_OPERATION_CANCELLATION_STATE_SCHEDULED
- NEXUS_OPERATION_CANCELLATION_STATE_BACKING_OFF
- NEXUS_OPERATION_CANCELLATION_STATE_SUCCEEDED
- NEXUS_OPERATION_CANCELLATION_STATE_FAILED
- NEXUS_OPERATION_CANCELLATION_STATE_TIMED_OUT
- NEXUS_OPERATION_CANCELLATION_STATE_BLOCKED
type: string
format: enum
attempt:
type: integer
description: |-
The number of attempts made to deliver the cancel operation request.
This number represents a minimum bound since the attempt is incremented after the request completes.
format: int32
lastAttemptCompleteTime:
type: string
description: The time when the last attempt completed.
format: date-time
lastAttemptFailure:
allOf:
- $ref: '#/components/schemas/Failure'
description: The last attempt's failure, if any.
nextAttemptScheduleTime:
type: string
description: The time when the next attempt is scheduled.
format: date-time
blockedReason:
type: string
description: If the state is BLOCKED, blocked reason provides additional information.
description: NexusOperationCancellationInfo contains the state of a nexus operation cancellation.
NexusOperationCompletedEventAttributes:
type: object
properties:
scheduledEventId:
type: string
description: The ID of the `NEXUS_OPERATION_SCHEDULED` event. Uniquely identifies this operation.
result:
allOf:
- $ref: '#/components/schemas/Payload'
description: |-
Serialized result of the Nexus operation. The response of the Nexus handler.
Delivered either via a completion callback or as a response to a synchronous operation.
requestId:
type: string
description: The request ID allocated at schedule time.
description: Nexus operation completed successfully.
NexusOperationExecutionCancellationInfo:
type: object
properties:
requestedTime:
type: string
description: The time when cancellation was requested.
format: date-time
state:
enum:
- NEXUS_OPERATION_CANCELLATION_STATE_UNSPECIFIED
- NEXUS_OPERATION_CANCELLATION_STATE_SCHEDULED
- NEXUS_OPERATION_CANCELLATION_STATE_BACKING_OFF
- NEXUS_OPERATION_CANCELLATION_STATE_SUCCEEDED
- NEXUS_OPERATION_CANCELLATION_STATE_FAILED
- NEXUS_OPERATION_CANCELLATION_STATE_TIMED_OUT
- NEXUS_OPERATION_CANCELLATION_STATE_BLOCKED
type: string
format: enum
attempt:
type: integer
description: |-
The number of attempts made to deliver the cancel operation request.
This number represents a minimum bound since the attempt is incremented after the request completes.
format: int32
lastAttemptCompleteTime:
type: string
description: The time when the last attempt completed.
format: date-time
lastAttemptFailure:
allOf:
- $ref: '#/components/schemas/Failure'
description: The last attempt's failure, if any.
nextAttemptScheduleTime:
type: string
description: The time when the next attempt is scheduled.
format: date-time
blockedReason:
type: string
description: If the state is BLOCKED, blocked reason provides additional information.
reason:
type: string
description: A reason that may be specified in the CancelNexusOperationRequest.
description: NexusOperationExecutionCancellationInfo contains the state of a Nexus operation cancellation.
NexusOperationExecutionInfo:
type: object
properties:
operationId:
type: string
description: Unique identifier of this Nexus operation within its namespace along with run ID (below).
runId:
type: string
endpoint:
type: string
description: Endpoint name, resolved to a URL via the cluster's endpoint registry.
service:
type: string
description: Service name.
operation:
type: string
description: Operation name.
status:
enum:
- NEXUS_OPERATION_EXECUTION_STATUS_UNSPECIFIED
- NEXUS_OPERATION_EXECUTION_STATUS_RUNNING
- NEXUS_OPERATION_EXECUTION_STATUS_COMPLETED
- NEXUS_OPERATION_EXECUTION_STATUS_FAILED
- NEXUS_OPERATION_EXECUTION_STATUS_CANCELED
- NEXUS_OPERATION_EXECUTION_STATUS_TERMINATED
- NEXUS_OPERATION_EXECUTION_STATUS_TIMED_OUT
type: string
description: |-
A general status for this operation, indicates whether it is currently running or in one of the terminal statuses.
Updated once when the operation is originally scheduled, and again when it reaches a terminal status.
format: enum
state:
enum:
- PENDING_NEXUS_OPERATION_STATE_UNSPECIFIED
- PENDING_NEXUS_OPERATION_STATE_SCHEDULED
- PENDING_NEXUS_OPERATION_STATE_BACKING_OFF
- PENDING_NEXUS_OPERATION_STATE_STARTED
- PENDING_NEXUS_OPERATION_STATE_BLOCKED
type: string
description: More detailed breakdown of NEXUS_OPERATION_EXECUTION_STATUS_RUNNING.
format: enum
scheduleToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Schedule-to-close timeout for this operation.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
scheduleToStartTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Schedule-to-start timeout for this operation.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
startToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Start-to-close timeout for this operation.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
attempt:
type: integer
description: |-
The number of attempts made to deliver the start operation request.
This number is approximate, it is incremented when a task is added to the history queue.
In practice, there could be more attempts if a task is executed but fails to commit, or less attempts if a task
was never executed.
format: int32
scheduleTime:
type: string
description: Time the operation was originally scheduled via a StartNexusOperation request.
format: date-time
expirationTime:
type: string
description: Scheduled time + schedule to close timeout.
format: date-time
closeTime:
type: string
description: Time when the operation transitioned to a closed state.
format: date-time
lastAttemptCompleteTime:
type: string
description: The time when the last attempt completed.
format: date-time
lastAttemptFailure:
allOf:
- $ref: '#/components/schemas/Failure'
description: The last attempt's failure, if any.
nextAttemptScheduleTime:
type: string
description: The time when the next attempt is scheduled.
format: date-time
executionDuration:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Elapsed time from schedule_time to now for running operations or to close_time for closed
operations, including all attempts and backoff between attempts.
cancellationInfo:
$ref: '#/components/schemas/NexusOperationExecutionCancellationInfo'
blockedReason:
type: string
description: If the state is BLOCKED, blocked reason provides additional information.
requestId:
type: string
description: |-
Server-generated request ID used as an idempotency token when submitting start requests to
the handler. Distinct from the request_id in StartNexusOperationRequest, which is the
caller-side idempotency key for the StartNexusOperation RPC itself.
operationToken:
type: string
description: Operation token. Only set for asynchronous operations after a successful StartOperation call.
stateTransitionCount:
type: string
description: Incremented each time the operation's state is mutated in persistence.
searchAttributes:
$ref: '#/components/schemas/SearchAttributes'
nexusHeader:
type: object
additionalProperties:
type: string
description: Header for context propagation and tracing purposes.
userMetadata:
allOf:
- $ref: '#/components/schemas/UserMetadata'
description: Metadata for use by user interfaces to display the fixed as-of-start summary and details of the operation.
links:
type: array
items:
$ref: '#/components/schemas/Link'
description: Links attached by the handler of this operation on start or completion.
identity:
type: string
description: The identity of the client who started this operation.
description: Full current state of a standalone Nexus operation, as of the time of the request.
NexusOperationExecutionListInfo:
type: object
properties:
operationId:
type: string
description: A unique identifier of this operation within its namespace along with run ID (below).
runId:
type: string
description: The run ID of the standalone Nexus operation.
endpoint:
type: string
description: Endpoint name.
service:
type: string
description: Service name.
operation:
type: string
description: Operation name.
scheduleTime:
type: string
description: Time the operation was originally scheduled via a StartNexusOperation request.
format: date-time
closeTime:
type: string
description: If the operation is in a terminal status, this field represents the time the operation transitioned to that status.
format: date-time
status:
enum:
- NEXUS_OPERATION_EXECUTION_STATUS_UNSPECIFIED
- NEXUS_OPERATION_EXECUTION_STATUS_RUNNING
- NEXUS_OPERATION_EXECUTION_STATUS_COMPLETED
- NEXUS_OPERATION_EXECUTION_STATUS_FAILED
- NEXUS_OPERATION_EXECUTION_STATUS_CANCELED
- NEXUS_OPERATION_EXECUTION_STATUS_TERMINATED
- NEXUS_OPERATION_EXECUTION_STATUS_TIMED_OUT
type: string
description: The status is updated once, when the operation is originally scheduled, and again when the operation reaches a terminal status.
format: enum
searchAttributes:
allOf:
- $ref: '#/components/schemas/SearchAttributes'
description: Search attributes from the start request.
stateTransitionCount:
type: string
description: Updated on terminal status.
executionDuration:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
The difference between close time and scheduled time.
This field is only populated if the operation is closed.
description: |-
Limited Nexus operation information returned in the list response.
When adding fields here, ensure that it is also present in NexusOperationExecutionInfo (note that it may already be present in
NexusOperationExecutionInfo but not at the top-level).
NexusOperationFailedEventAttributes:
type: object
properties:
scheduledEventId:
type: string
description: The ID of the `NEXUS_OPERATION_SCHEDULED` event. Uniquely identifies this operation.
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: Failure details. A NexusOperationFailureInfo wrapping an ApplicationFailureInfo.
requestId:
type: string
description: The request ID allocated at schedule time.
description: Nexus operation failed.
NexusOperationFailureInfo:
type: object
properties:
scheduledEventId:
type: string
description: The NexusOperationScheduled event ID.
endpoint:
type: string
description: Endpoint name.
service:
type: string
description: Service name.
operation:
type: string
description: Operation name.
operationId:
type: string
description: |-
Operation ID - may be empty if the operation completed synchronously.
Deprecated. Renamed to operation_token.
operationToken:
type: string
description: Operation token - may be empty if the operation completed synchronously.
description: Representation of the Temporal SDK NexusOperationError object that is returned to workflow callers.
NexusOperationScheduledEventAttributes:
type: object
properties:
endpoint:
type: string
description: Endpoint name, must exist in the endpoint registry.
service:
type: string
description: Service name.
operation:
type: string
description: Operation name.
input:
allOf:
- $ref: '#/components/schemas/Payload'
description: |-
Input for the operation. The server converts this into Nexus request content and the appropriate content headers
internally when sending the StartOperation request. On the handler side, if it is also backed by Temporal, the
content is transformed back to the original Payload stored in this event.
scheduleToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Schedule-to-close timeout for this operation.
Indicates how long the caller is willing to wait for operation completion.
Calls are retried internally by the server.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
(-- api-linter: core::0142::time-field-names=disabled
aip.dev/not-precedent: "timeout" is an acceptable suffix for duration fields in this API. --)
nexusHeader:
type: object
additionalProperties:
type: string
description: |-
Header to attach to the Nexus request. Note these headers are not the same as Temporal headers on internal
activities and child workflows, these are transmitted to Nexus operations that may be external and are not
traditional payloads.
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event that the corresponding ScheduleNexusOperation command was reported with.
requestId:
type: string
description: |-
A unique ID generated by the history service upon creation of this event.
The ID will be transmitted with all nexus StartOperation requests and is used as an idempotentency key.
endpointId:
type: string
description: |-
Endpoint ID as resolved in the endpoint registry at the time this event was generated.
This is stored on the event and used internally by the server in case the endpoint is renamed from the time the
event was originally scheduled.
scheduleToStartTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Schedule-to-start timeout for this operation.
See ScheduleNexusOperationCommandAttributes.schedule_to_start_timeout for details.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
startToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Start-to-close timeout for this operation.
See ScheduleNexusOperationCommandAttributes.start_to_close_timeout for details.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
description: Event marking that an operation was scheduled by a workflow via the ScheduleNexusOperation command.
NexusOperationStartedEventAttributes:
type: object
properties:
scheduledEventId:
type: string
description: The ID of the `NEXUS_OPERATION_SCHEDULED` event this task corresponds to.
operationId:
type: string
description: |-
The operation ID returned by the Nexus handler in the response to the StartOperation request.
This ID is used when canceling the operation.
Deprecated: Renamed to operation_token.
requestId:
type: string
description: The request ID allocated at schedule time.
operationToken:
type: string
description: |-
The operation token returned by the Nexus handler in the response to the StartOperation request.
This token is used when canceling the operation.
description: |-
Event marking an asynchronous operation was started by the responding Nexus handler.
If the operation completes synchronously, this event is not generated.
In rare situations, such as request timeouts, the service may fail to record the actual start time and will fabricate
this event upon receiving the operation completion via callback.
NexusOperationTimedOutEventAttributes:
type: object
properties:
scheduledEventId:
type: string
description: The ID of the `NEXUS_OPERATION_SCHEDULED` event. Uniquely identifies this operation.
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: Failure details. A NexusOperationFailureInfo wrapping a CanceledFailureInfo.
requestId:
type: string
description: The request ID allocated at schedule time.
description: Nexus operation timed out.
OnConflictOptions:
type: object
properties:
attachRequestId:
type: boolean
description: Attaches the request ID to the running execution.
attachCompletionCallbacks:
type: boolean
description: Attaches the completion callbacks to the running execution.
attachLinks:
type: boolean
description: Attaches the links to the running execution.
description: |-
When starting an execution with a conflict policy that uses an existing execution and there is already an existing
running execution, OnConflictOptions defines actions to be taken on the existing running execution.
Outcome:
type: object
properties:
success:
$ref: '#/components/schemas/Payloads'
failure:
$ref: '#/components/schemas/Failure'
description: 'The outcome of a Workflow Update: success or failure.'
PatchScheduleRequest:
type: object
properties:
namespace:
type: string
description: The namespace of the schedule to patch.
scheduleId:
type: string
description: The id of the schedule to patch.
patch:
$ref: '#/components/schemas/SchedulePatch'
identity:
type: string
description: The identity of the client who initiated this request.
requestId:
type: string
description: A unique identifier for this update request for idempotence. Typically UUIDv4.
PatchScheduleResponse:
type: object
properties: {}
PauseActivityRequest:
type: object
properties:
namespace:
type: string
description: Namespace of the workflow which scheduled this activity.
execution:
allOf:
- $ref: '#/components/schemas/WorkflowExecution'
description: Execution info of the workflow which scheduled this activity
identity:
type: string
description: The identity of the client who initiated this request.
id:
type: string
description: Only the activity with this ID will be paused.
type:
type: string
description: |-
Pause all running activities of this type.
Note: Experimental - the behavior of pause by activity type might change in a future release.
reason:
type: string
description: Reason to pause the activity.
PauseActivityResponse:
type: object
properties: {}
PauseInfo_Manual:
type: object
properties:
identity:
type: string
description: The identity of the actor that paused the activity.
reason:
type: string
description: Reason for pausing the activity.
PauseInfo_Rule:
type: object
properties:
ruleId:
type: string
description: The rule that paused the activity.
identity:
type: string
description: The identity of the actor that created the rule.
reason:
type: string
description: Reason why rule was created. Populated from rule description.
PauseWorkflowExecutionRequest:
type: object
properties:
namespace:
type: string
description: Namespace of the workflow to pause.
workflowId:
type: string
description: ID of the workflow execution to be paused. Required.
runId:
type: string
description: Run ID of the workflow execution to be paused. Optional. If not provided, the current run of the workflow will be paused.
identity:
type: string
description: The identity of the client who initiated this request.
reason:
type: string
description: Reason to pause the workflow execution.
requestId:
type: string
description: A unique identifier for this pause request for idempotence. Typically UUIDv4.
description: Request to pause a workflow execution.
PauseWorkflowExecutionResponse:
type: object
properties: {}
description: Response to a successful PauseWorkflowExecution request.
Payload:
description: |-
Represents some binary (byte array) data (ex: activity input parameters or workflow result) with
metadata which describes this binary data (format, encoding, encryption, etc). Serialization
of the data may be user-defined.
Payload_ExternalPayloadDetails:
type: object
properties:
sizeBytes:
type: string
description: Size in bytes of the externally stored payload
description: Describes an externally stored object referenced by this payload.
Payloads:
type: object
properties:
payloads:
type: array
items:
$ref: '#/components/schemas/Payload'
description: See `Payload`
PendingActivityInfo:
type: object
properties:
activityId:
type: string
activityType:
$ref: '#/components/schemas/ActivityType'
state:
enum:
- PENDING_ACTIVITY_STATE_UNSPECIFIED
- PENDING_ACTIVITY_STATE_SCHEDULED
- PENDING_ACTIVITY_STATE_STARTED
- PENDING_ACTIVITY_STATE_CANCEL_REQUESTED
- PENDING_ACTIVITY_STATE_PAUSED
- PENDING_ACTIVITY_STATE_PAUSE_REQUESTED
type: string
format: enum
heartbeatDetails:
$ref: '#/components/schemas/Payloads'
lastHeartbeatTime:
type: string
format: date-time
lastStartedTime:
type: string
format: date-time
attempt:
type: integer
format: int32
maximumAttempts:
type: integer
format: int32
scheduledTime:
type: string
format: date-time
expirationTime:
type: string
format: date-time
lastFailure:
$ref: '#/components/schemas/Failure'
lastWorkerIdentity:
type: string
lastIndependentlyAssignedBuildId:
type: string
description: |-
Deprecated. This means the activity is independently versioned and not bound to the build ID of its workflow.
The activity will use the build id in this field instead.
If the task fails and is scheduled again, the assigned build ID may change according to the latest versioning
rules.
lastWorkerVersionStamp:
allOf:
- $ref: '#/components/schemas/WorkerVersionStamp'
description: |-
Deprecated. The version stamp of the worker to whom this activity was most recently dispatched
This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
currentRetryInterval:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
The time activity will wait until the next retry.
If activity is currently running it will be next retry interval if activity failed.
If activity is currently waiting it will be current retry interval.
If there will be no retry it will be null.
lastAttemptCompleteTime:
type: string
description: The time when the last activity attempt was completed. If activity has not been completed yet then it will be null.
format: date-time
nextAttemptScheduleTime:
type: string
description: |-
Next time when activity will be scheduled.
If activity is currently scheduled or started it will be null.
format: date-time
paused:
type: boolean
description: Indicates if activity is paused.
lastDeployment:
allOf:
- $ref: '#/components/schemas/Deployment'
description: |-
The deployment this activity was dispatched to most recently. Present only if the activity
was dispatched to a versioned worker.
Deprecated. Use `last_deployment_version`.
lastWorkerDeploymentVersion:
type: string
description: |-
The Worker Deployment Version this activity was dispatched to most recently.
Deprecated. Use `last_deployment_version`.
lastDeploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: |-
The Worker Deployment Version this activity was dispatched to most recently.
If nil, the activity has not yet been dispatched or was last dispatched to an unversioned worker.
priority:
allOf:
- $ref: '#/components/schemas/Priority'
description: |-
Priority metadata. If this message is not present, or any fields are not
present, they inherit the values from the workflow.
pauseInfo:
$ref: '#/components/schemas/PendingActivityInfo_PauseInfo'
activityOptions:
allOf:
- $ref: '#/components/schemas/ActivityOptions'
description: Current activity options. May be different from the one used to start the activity.
PendingActivityInfo_PauseInfo:
type: object
properties:
pauseTime:
type: string
description: The time when the activity was paused.
format: date-time
manual:
allOf:
- $ref: '#/components/schemas/PauseInfo_Manual'
description: activity was paused by the manual intervention
rule:
allOf:
- $ref: '#/components/schemas/PauseInfo_Rule'
description: activity was paused by the rule
PendingChildExecutionInfo:
type: object
properties:
workflowId:
type: string
runId:
type: string
workflowTypeName:
type: string
initiatedId:
type: string
parentClosePolicy:
enum:
- PARENT_CLOSE_POLICY_UNSPECIFIED
- PARENT_CLOSE_POLICY_TERMINATE
- PARENT_CLOSE_POLICY_ABANDON
- PARENT_CLOSE_POLICY_REQUEST_CANCEL
type: string
description: 'Default: PARENT_CLOSE_POLICY_TERMINATE.'
format: enum
PendingNexusOperationInfo:
type: object
properties:
endpoint:
type: string
description: |-
Endpoint name.
Resolved to a URL via the cluster's endpoint registry.
service:
type: string
description: Service name.
operation:
type: string
description: Operation name.
operationId:
type: string
description: |-
Operation ID. Only set for asynchronous operations after a successful StartOperation call.
Deprecated. Renamed to operation_token.
scheduleToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Schedule-to-close timeout for this operation.
This is the only timeout settable by a workflow.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
scheduledTime:
type: string
description: The time when the operation was scheduled.
format: date-time
state:
enum:
- PENDING_NEXUS_OPERATION_STATE_UNSPECIFIED
- PENDING_NEXUS_OPERATION_STATE_SCHEDULED
- PENDING_NEXUS_OPERATION_STATE_BACKING_OFF
- PENDING_NEXUS_OPERATION_STATE_STARTED
- PENDING_NEXUS_OPERATION_STATE_BLOCKED
type: string
format: enum
attempt:
type: integer
description: |-
The number of attempts made to deliver the start operation request.
This number is approximate, it is incremented when a task is added to the history queue.
In practice, there could be more attempts if a task is executed but fails to commit, or less attempts if a task
was never executed.
format: int32
lastAttemptCompleteTime:
type: string
description: The time when the last attempt completed.
format: date-time
lastAttemptFailure:
allOf:
- $ref: '#/components/schemas/Failure'
description: The last attempt's failure, if any.
nextAttemptScheduleTime:
type: string
description: The time when the next attempt is scheduled.
format: date-time
cancellationInfo:
$ref: '#/components/schemas/NexusOperationCancellationInfo'
scheduledEventId:
type: string
description: |-
The event ID of the NexusOperationScheduled event. Can be used to correlate an operation in the
DescribeWorkflowExecution response with workflow history.
blockedReason:
type: string
description: If the state is BLOCKED, blocked reason provides additional information.
operationToken:
type: string
description: Operation token. Only set for asynchronous operations after a successful StartOperation call.
scheduleToStartTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Schedule-to-start timeout for this operation.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
startToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Start-to-close timeout for this operation.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
description: PendingNexusOperationInfo contains the state of a pending Nexus operation.
PendingWorkflowTaskInfo:
type: object
properties:
state:
enum:
- PENDING_WORKFLOW_TASK_STATE_UNSPECIFIED
- PENDING_WORKFLOW_TASK_STATE_SCHEDULED
- PENDING_WORKFLOW_TASK_STATE_STARTED
type: string
format: enum
scheduledTime:
type: string
format: date-time
originalScheduledTime:
type: string
description: |-
original_scheduled_time is the scheduled time of the first workflow task during workflow task heartbeat.
Heartbeat workflow task is done by RespondWorkflowTaskComplete with ForceCreateNewWorkflowTask == true and no command
In this case, OriginalScheduledTime won't change. Then when current time - original_scheduled_time exceeds
some threshold, the workflow task will be forced timeout.
format: date-time
startedTime:
type: string
format: date-time
attempt:
type: integer
format: int32
PluginInfo:
type: object
properties:
name:
type: string
description: The name of the plugin, required.
version:
type: string
description: The version of the plugin, may be empty.
PollActivityExecutionResponse:
type: object
properties:
runId:
type: string
description: The run ID of the activity, useful when run_id was not specified in the request.
outcome:
$ref: '#/components/schemas/ActivityExecutionOutcome'
PollNexusOperationExecutionResponse:
type: object
properties:
runId:
type: string
description: The run ID of the operation, useful when run_id was not specified in the request.
waitStage:
enum:
- NEXUS_OPERATION_WAIT_STAGE_UNSPECIFIED
- NEXUS_OPERATION_WAIT_STAGE_STARTED
- NEXUS_OPERATION_WAIT_STAGE_CLOSED
type: string
description: The current stage of the operation. May be more advanced than the stage requested in the poll.
format: enum
operationToken:
type: string
description: Operation token. Only populated for asynchronous operations after a successful StartOperation call.
result:
allOf:
- $ref: '#/components/schemas/Payload'
description: The result if the operation completed successfully.
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: The failure if the operation completed unsuccessfully.
PollWorkflowTaskQueueResponse:
type: object
properties:
taskToken:
type: string
description: A unique identifier for this task
format: bytes
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
workflowType:
$ref: '#/components/schemas/WorkflowType'
previousStartedEventId:
type: string
description: |-
The last workflow task started event which was processed by some worker for this execution.
Will be zero if no task has ever started.
startedEventId:
type: string
description: |-
The id of the most recent workflow task started event, which will have been generated as a
result of this poll request being served. Will be zero if the task
does not contain any events which would advance history (no new WFT started).
Currently this can happen for queries.
attempt:
type: integer
description: Starting at 1, the number of attempts to complete this task by any worker.
format: int32
backlogCountHint:
type: string
description: |-
A hint that there are more tasks already present in this task queue
partition. Can be used to prioritize draining a sticky queue.
Specifically, the returned number is the number of tasks remaining in
the in-memory buffer for this partition, which is currently capped at
1000. Because sticky queues only have one partition, this number is
more useful when draining them. Normal queues, typically having more than one
partition, will return a number representing only some portion of the
overall backlog. Subsequent RPCs may not hit the same partition as
this call.
history:
allOf:
- $ref: '#/components/schemas/History'
description: |-
The history for this workflow, which will either be complete or partial. Partial histories
are sent to workers who have signaled that they are using a sticky queue when completing
a workflow task.
nextPageToken:
type: string
description: |-
Will be set if there are more history events than were included in this response. Such events
should be fetched via `GetWorkflowExecutionHistory`.
format: bytes
query:
allOf:
- $ref: '#/components/schemas/WorkflowQuery'
description: |-
Legacy queries appear in this field. The query must be responded to via
`RespondQueryTaskCompleted`. If the workflow is already closed (queries are permitted on
closed workflows) then the `history` field will be populated with the entire history. It
may also be populated if this task originates on a non-sticky queue.
workflowExecutionTaskQueue:
allOf:
- $ref: '#/components/schemas/TaskQueue'
description: |-
The task queue this task originated from, which will always be the original non-sticky name
for the queue, even if this response came from polling a sticky queue.
scheduledTime:
type: string
description: When this task was scheduled by the server
format: date-time
startedTime:
type: string
description: When the current workflow task started event was generated, meaning the current attempt.
format: date-time
queries:
type: object
additionalProperties:
$ref: '#/components/schemas/WorkflowQuery'
description: |-
Queries that should be executed after applying the history in this task. Responses should be
attached to `RespondWorkflowTaskCompletedRequest::query_results`
messages:
type: array
items:
$ref: '#/components/schemas/Message'
description: Protocol messages piggybacking on a WFT as a transport
pollerScalingDecision:
allOf:
- $ref: '#/components/schemas/PollerScalingDecision'
description: Server-advised information the SDK may use to adjust its poller count.
pollerGroupId:
type: string
description: |-
This poller group ID identifies the owner of the workflow task awaiting for query response.
Corresponding RespondQueryTaskCompleted should pass this value for proper routing.
pollerGroupInfos:
type: array
items:
$ref: '#/components/schemas/PollerGroupInfo'
description: |-
The weighted list of poller groups IDs that client should use for future polls to this task
queue. Client is expected to:
1. Maintain minimum number of pollers no less than the number of groups.
2. Try to assign the next poll to a group without any pending polls,
3. If every group has some pending polls, assign the next poll to a group randomly
according to the weights.
PollerGroupInfo:
type: object
properties:
id:
type: string
weight:
type: number
format: float
PollerInfo:
type: object
properties:
lastAccessTime:
type: string
format: date-time
identity:
type: string
ratePerSecond:
type: number
format: double
workerVersionCapabilities:
allOf:
- $ref: '#/components/schemas/WorkerVersionCapabilities'
description: |-
If a worker has opted into the worker versioning feature while polling, its capabilities will
appear here.
Deprecated. Replaced by deployment_options.
deploymentOptions:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentOptions'
description: Worker deployment options that SDK sent to server.
PollerScalingDecision:
type: object
properties:
pollRequestDeltaSuggestion:
type: integer
description: |-
How many poll requests to suggest should be added or removed, if any. As of now, server only
scales up or down by 1. However, SDKs should allow for other values (while staying within
defined min/max).
The SDK is free to ignore this suggestion, EX: making more polls would not make sense because
all slots are already occupied.
format: int32
description: |-
Attached to task responses to give hints to the SDK about how it may adjust its number of
pollers.
PostResetOperation:
type: object
properties:
signalWorkflow:
$ref: '#/components/schemas/PostResetOperation_SignalWorkflow'
updateWorkflowOptions:
$ref: '#/components/schemas/PostResetOperation_UpdateWorkflowOptions'
description: PostResetOperation represents an operation to be performed on the new workflow execution after a workflow reset.
PostResetOperation_SignalWorkflow:
type: object
properties:
signalName:
type: string
description: The workflow author-defined name of the signal to send to the workflow.
input:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Serialized value(s) to provide with the signal.
header:
allOf:
- $ref: '#/components/schemas/Header'
description: Headers that are passed with the signal to the processing workflow.
links:
type: array
items:
$ref: '#/components/schemas/Link'
description: Links to be associated with the WorkflowExecutionSignaled event.
description: |-
SignalWorkflow represents sending a signal after a workflow reset.
Keep the parameter in sync with temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest.
PostResetOperation_UpdateWorkflowOptions:
type: object
properties:
workflowExecutionOptions:
allOf:
- $ref: '#/components/schemas/WorkflowExecutionOptions'
description: Update Workflow options that were originally specified via StartWorkflowExecution. Partial updates are accepted and controlled by update_mask.
updateMask:
type: string
description: |-
Controls which fields from `workflow_execution_options` will be applied.
To unset a field, set it to null and use the update mask to indicate that it should be mutated.
format: field-mask
description: |-
UpdateWorkflowOptions represents updating workflow execution options after a workflow reset.
Keep the parameters in sync with temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsRequest.
Principal:
type: object
properties:
type:
type: string
description: Low-cardinality category of the principal (e.g., "jwt", "users").
name:
type: string
description: Identifier within that category (e.g., sub JWT claim, email address).
description: |-
Principal is an authenticated caller identity computed by the server from trusted
authentication context.
Priority:
type: object
properties:
priorityKey:
type: integer
description: |-
Priority key is a positive integer from 1 to n, where smaller integers
correspond to higher priorities (tasks run sooner). In general, tasks in
a queue should be processed in close to priority order, although small
deviations are possible.
The maximum priority value (minimum priority) is determined by server
configuration, and defaults to 5.
If priority is not present (or zero), then the effective priority will be
the default priority, which is calculated by (min+max)/2. With the
default max of 5, and min of 1, that comes out to 3.
format: int32
fairnessKey:
type: string
description: |-
Fairness key is a short string that's used as a key for a fairness
balancing mechanism. It may correspond to a tenant id, or to a fixed
string like "high" or "low". The default is the empty string.
The fairness mechanism attempts to dispatch tasks for a given key in
proportion to its weight. For example, using a thousand distinct tenant
ids, each with a weight of 1.0 (the default) will result in each tenant
getting a roughly equal share of task dispatch throughput.
(Note: this does not imply equal share of worker capacity! Fairness
decisions are made based on queue statistics, not
current worker load.)
As another example, using keys "high" and "low" with weight 9.0 and 1.0
respectively will prefer dispatching "high" tasks over "low" tasks at a
9:1 ratio, while allowing either key to use all worker capacity if the
other is not present.
All fairness mechanisms, including rate limits, are best-effort and
probabilistic. The results may not match what a "perfect" algorithm with
infinite resources would produce. The more unique keys are used, the less
accurate the results will be.
Fairness keys are limited to 64 bytes.
fairnessWeight:
type: number
description: |-
Fairness weight for a task can come from multiple sources for
flexibility. From highest to lowest precedence:
1. Weights for a small set of keys can be overridden in task queue
configuration with an API.
2. It can be attached to the workflow/activity in this field.
3. The default weight of 1.0 will be used.
Weight values are clamped to the range [0.001, 1000].
format: float
description: |-
Priority contains metadata that controls relative ordering of task processing
when tasks are backed up in a queue. Initially, Priority will be used in
matching (workflow and activity) task queues. Later it may be used in history
task queues and in rate limiting decisions.
Priority is attached to workflows and activities. By default, activities
inherit Priority from the workflow that created them, but may override fields
when an activity is started or modified.
Despite being named "Priority", this message also contains fields that
control "fairness" mechanisms.
For all fields, the field not present or equal to zero/empty string means to
inherit the value from the calling workflow, or if there is no calling
workflow, then use the default value.
For all fields other than fairness_key, the zero value isn't meaningful so
there's no confusion between inherit/default and a meaningful value. For
fairness_key, the empty string will be interpreted as "inherit". This means
that if a workflow has a non-empty fairness key, you can't override the
fairness key of its activity to the empty string.
The overall semantics of Priority are:
1. First, consider "priority": higher priority (lower number) goes first.
2. Then, consider fairness: try to dispatch tasks for different fairness keys
in proportion to their weight.
Applications may use any subset of mechanisms that are useful to them and
leave the other fields to use default values.
Not all queues in the system may support the "full" semantics of all priority
fields. (Currently only support in matching task queues is planned.)
QueryRejected:
type: object
properties:
status:
enum:
- WORKFLOW_EXECUTION_STATUS_UNSPECIFIED
- WORKFLOW_EXECUTION_STATUS_RUNNING
- WORKFLOW_EXECUTION_STATUS_COMPLETED
- WORKFLOW_EXECUTION_STATUS_FAILED
- WORKFLOW_EXECUTION_STATUS_CANCELED
- WORKFLOW_EXECUTION_STATUS_TERMINATED
- WORKFLOW_EXECUTION_STATUS_CONTINUED_AS_NEW
- WORKFLOW_EXECUTION_STATUS_TIMED_OUT
- WORKFLOW_EXECUTION_STATUS_PAUSED
type: string
format: enum
QueryWorkflowRequest:
type: object
properties:
namespace:
type: string
execution:
$ref: '#/components/schemas/WorkflowExecution'
query:
$ref: '#/components/schemas/WorkflowQuery'
queryRejectCondition:
enum:
- QUERY_REJECT_CONDITION_UNSPECIFIED
- QUERY_REJECT_CONDITION_NONE
- QUERY_REJECT_CONDITION_NOT_OPEN
- QUERY_REJECT_CONDITION_NOT_COMPLETED_CLEANLY
type: string
description: |-
QueryRejectCondition can used to reject the query if workflow state does not satisfy condition.
Default: QUERY_REJECT_CONDITION_NONE.
format: enum
QueryWorkflowResponse:
type: object
properties:
queryResult:
$ref: '#/components/schemas/Payloads'
queryRejected:
$ref: '#/components/schemas/QueryRejected'
RampByPercentage:
type: object
properties:
rampPercentage:
type: number
description: Acceptable range is [0,100).
format: float
Range:
type: object
properties:
start:
type: integer
description: Start of range (inclusive).
format: int32
end:
type: integer
description: End of range (inclusive).
format: int32
step:
type: integer
description: Step (optional, default 1).
format: int32
description: |-
Range represents a set of integer values, used to match fields of a calendar
time in StructuredCalendarSpec. If end < start, then end is interpreted as
equal to start. This means you can use a Range with start set to a value, and
end and step unset (defaulting to 0) to represent a single value.
RateLimit:
type: object
properties:
requestsPerSecond:
type: number
description: Zero is a valid rate limit.
format: float
RateLimitConfig:
type: object
properties:
rateLimit:
$ref: '#/components/schemas/RateLimit'
metadata:
$ref: '#/components/schemas/ConfigMetadata'
RecordActivityTaskHeartbeatByIdRequest:
type: object
properties:
namespace:
type: string
description: Namespace of the workflow which scheduled this activity
workflowId:
type: string
description: Id of the workflow which scheduled this activity, leave empty to target a standalone activity
runId:
type: string
description: |-
For a workflow activity - the run ID of the workflow which scheduled this activity.
For a standalone activity - the run ID of the activity.
activityId:
type: string
description: Id of the activity we're heartbeating
details:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Arbitrary data, of which the most recent call is kept, to store for this activity
identity:
type: string
description: The identity of the worker/client
resourceId:
type: string
description: Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities.
RecordActivityTaskHeartbeatByIdResponse:
type: object
properties:
cancelRequested:
type: boolean
description: |-
Will be set to true if the activity has been asked to cancel itself. The SDK should then
notify the activity of cancellation if it is still running.
activityPaused:
type: boolean
description: Will be set to true if the activity is paused.
activityReset:
type: boolean
description: |-
Will be set to true if the activity was reset.
Applies only to the current run.
RecordActivityTaskHeartbeatRequest:
type: object
properties:
taskToken:
type: string
description: The task token as received in `PollActivityTaskQueueResponse`
format: bytes
details:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Arbitrary data, of which the most recent call is kept, to store for this activity
identity:
type: string
description: The identity of the worker/client
namespace:
type: string
resourceId:
type: string
description: Resource ID for routing. Contains the workflow ID or activity ID for standalone activities.
RecordActivityTaskHeartbeatResponse:
type: object
properties:
cancelRequested:
type: boolean
description: |-
Will be set to true if the activity has been asked to cancel itself. The SDK should then
notify the activity of cancellation if it is still running.
activityPaused:
type: boolean
description: Will be set to true if the activity is paused.
activityReset:
type: boolean
description: |-
Will be set to true if the activity was reset.
Applies only to the current run.
RecordWorkerHeartbeatRequest:
type: object
properties:
namespace:
type: string
description: Namespace this worker belongs to.
identity:
type: string
description: The identity of the client who initiated this request.
workerHeartbeat:
type: array
items:
$ref: '#/components/schemas/WorkerHeartbeat'
resourceId:
type: string
description: Resource ID for routing. Contains the worker grouping key.
RecordWorkerHeartbeatResponse:
type: object
properties: {}
RegisterNamespaceRequest:
type: object
properties:
namespace:
type: string
description:
type: string
ownerEmail:
type: string
workflowExecutionRetentionPeriod:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
clusters:
type: array
items:
$ref: '#/components/schemas/ClusterReplicationConfig'
activeClusterName:
type: string
data:
type: object
additionalProperties:
type: string
description: A key-value map for any customized purpose.
securityToken:
type: string
isGlobalNamespace:
type: boolean
historyArchivalState:
enum:
- ARCHIVAL_STATE_UNSPECIFIED
- ARCHIVAL_STATE_DISABLED
- ARCHIVAL_STATE_ENABLED
type: string
description: If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used.
format: enum
historyArchivalUri:
type: string
visibilityArchivalState:
enum:
- ARCHIVAL_STATE_UNSPECIFIED
- ARCHIVAL_STATE_DISABLED
- ARCHIVAL_STATE_ENABLED
type: string
description: If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used.
format: enum
visibilityArchivalUri:
type: string
RegisterNamespaceResponse:
type: object
properties: {}
ReleaseInfo:
type: object
properties:
version:
type: string
releaseTime:
type: string
format: date-time
notes:
type: string
description: ReleaseInfo contains information about specific version of temporal.
Request:
type: object
properties:
meta:
$ref: '#/components/schemas/Meta'
input:
$ref: '#/components/schemas/Input'
description: The client request that triggers a Workflow Update.
RequestCancelActivityExecutionRequest:
type: object
properties:
namespace:
type: string
activityId:
type: string
runId:
type: string
description: Activity run ID, targets the latest run if run_id is empty.
identity:
type: string
description: The identity of the worker/client.
requestId:
type: string
description: Used to de-dupe cancellation requests.
reason:
type: string
description: |-
Reason for requesting the cancellation, recorded and available via the PollActivityExecution API.
Not propagated to a worker if an activity attempt is currently running.
RequestCancelActivityExecutionResponse:
type: object
properties: {}
RequestCancelExternalWorkflowExecutionFailedEventAttributes:
type: object
properties:
cause:
enum:
- CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED
- CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_EXTERNAL_WORKFLOW_EXECUTION_NOT_FOUND
- CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND
type: string
format: enum
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
namespace:
type: string
description: |-
Namespace of the workflow which failed to cancel.
SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.
namespaceId:
type: string
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
initiatedEventId:
type: string
description: |-
id of the `REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED` event this failure
corresponds to
control:
type: string
description: Deprecated.
RequestCancelExternalWorkflowExecutionInitiatedEventAttributes:
type: object
properties:
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
namespace:
type: string
description: |-
The namespace the workflow to be cancelled lives in.
SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.
namespaceId:
type: string
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
control:
type: string
description: Deprecated.
childWorkflowOnly:
type: boolean
description: |-
Workers are expected to set this to true if the workflow they are requesting to cancel is
a child of the workflow which issued the request
reason:
type: string
description: Reason for requesting the cancellation
RequestCancelNexusOperationExecutionRequest:
type: object
properties:
namespace:
type: string
operationId:
type: string
runId:
type: string
description: Operation run ID, targets the latest run if empty.
identity:
type: string
description: The identity of the client who initiated this request.
requestId:
type: string
description: Used to de-dupe cancellation requests.
reason:
type: string
description: Reason for requesting the cancellation, recorded and available via the DescribeNexusOperationExecution API.
RequestCancelNexusOperationExecutionResponse:
type: object
properties: {}
RequestCancelWorkflowExecutionRequest:
type: object
properties:
namespace:
type: string
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
identity:
type: string
description: The identity of the worker/client
requestId:
type: string
description: Used to de-dupe cancellation requests
firstExecutionRunId:
type: string
description: |-
If set, this call will error if the most recent (if no run id is set on
`workflow_execution`), or specified (if it is) workflow execution is not part of the same
execution chain as this id.
reason:
type: string
description: Reason for requesting the cancellation
links:
type: array
items:
$ref: '#/components/schemas/Link'
description: Links to be associated with the WorkflowExecutionCanceled event.
RequestCancelWorkflowExecutionResponse:
type: object
properties: {}
RequestIdInfo:
type: object
properties:
eventType:
enum:
- EVENT_TYPE_UNSPECIFIED
- EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
- EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
- EVENT_TYPE_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT
- EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
- EVENT_TYPE_WORKFLOW_TASK_STARTED
- EVENT_TYPE_WORKFLOW_TASK_COMPLETED
- EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT
- EVENT_TYPE_WORKFLOW_TASK_FAILED
- EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
- EVENT_TYPE_ACTIVITY_TASK_STARTED
- EVENT_TYPE_ACTIVITY_TASK_COMPLETED
- EVENT_TYPE_ACTIVITY_TASK_FAILED
- EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT
- EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED
- EVENT_TYPE_ACTIVITY_TASK_CANCELED
- EVENT_TYPE_TIMER_STARTED
- EVENT_TYPE_TIMER_FIRED
- EVENT_TYPE_TIMER_CANCELED
- EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED
- EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED
- EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED
- EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_CANCEL_REQUESTED
- EVENT_TYPE_MARKER_RECORDED
- EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
- EVENT_TYPE_WORKFLOW_EXECUTION_TERMINATED
- EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW
- EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED
- EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_COMPLETED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_CANCELED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TIMED_OUT
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TERMINATED
- EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED
- EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED
- EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ADMITTED
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ACCEPTED
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_REJECTED
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_COMPLETED
- EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED_EXTERNALLY
- EVENT_TYPE_ACTIVITY_PROPERTIES_MODIFIED_EXTERNALLY
- EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED
- EVENT_TYPE_NEXUS_OPERATION_SCHEDULED
- EVENT_TYPE_NEXUS_OPERATION_STARTED
- EVENT_TYPE_NEXUS_OPERATION_COMPLETED
- EVENT_TYPE_NEXUS_OPERATION_FAILED
- EVENT_TYPE_NEXUS_OPERATION_CANCELED
- EVENT_TYPE_NEXUS_OPERATION_TIMED_OUT
- EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUESTED
- EVENT_TYPE_WORKFLOW_EXECUTION_OPTIONS_UPDATED
- EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUEST_COMPLETED
- EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUEST_FAILED
- EVENT_TYPE_WORKFLOW_EXECUTION_PAUSED
- EVENT_TYPE_WORKFLOW_EXECUTION_UNPAUSED
- EVENT_TYPE_WORKFLOW_EXECUTION_TIME_SKIPPING_TRANSITIONED
type: string
description: The event type of the history event generated by the request.
format: enum
eventId:
type: string
description: |-
The event id of the history event generated by the request. It's possible the event ID is not
known (unflushed buffered event). In this case, the value will be zero or a negative value,
representing an invalid ID.
buffered:
type: boolean
description: |-
Indicate if the request is still buffered. If so, the event ID is not known and its value
will be an invalid event ID.
description: RequestIdInfo contains details of a request ID.
ResetActivityRequest:
type: object
properties:
namespace:
type: string
description: Namespace of the workflow which scheduled this activity.
execution:
allOf:
- $ref: '#/components/schemas/WorkflowExecution'
description: Execution info of the workflow which scheduled this activity
identity:
type: string
description: The identity of the client who initiated this request.
id:
type: string
description: Only activity with this ID will be reset.
type:
type: string
description: Reset all running activities with of this type.
matchAll:
type: boolean
description: Reset all running activities.
resetHeartbeat:
type: boolean
description: |-
Indicates that activity should reset heartbeat details.
This flag will be applied only to the new instance of the activity.
keepPaused:
type: boolean
description: If activity is paused, it will remain paused after reset
jitter:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
If set, and activity is in backoff, the activity will start at a random time within the specified jitter duration.
(unless it is paused and keep_paused is set)
restoreOriginalOptions:
type: boolean
description: |-
If set, the activity options will be restored to the defaults.
Default options are then options activity was created with.
They are part of the first SCHEDULE event.
description: 'NOTE: keep in sync with temporal.api.batch.v1.BatchOperationResetActivities'
ResetActivityResponse:
type: object
properties: {}
ResetOptions:
type: object
properties:
workflowTaskId:
type: string
description: |-
The id of a specific `WORKFLOW_TASK_COMPLETED`,`WORKFLOW_TASK_TIMED_OUT`, `WORKFLOW_TASK_FAILED`, or
`WORKFLOW_TASK_STARTED` event to reset to.
Note that this option doesn't make sense when used as part of a batch request.
buildId:
type: string
description: |-
Resets to the first workflow task processed by this build id.
If the workflow was not processed by the build id, or the workflow task can't be
determined, no reset will be performed.
Note that by default, this reset is allowed to be to a prior run in a chain of
continue-as-new.
resetReapplyType:
enum:
- RESET_REAPPLY_TYPE_UNSPECIFIED
- RESET_REAPPLY_TYPE_SIGNAL
- RESET_REAPPLY_TYPE_NONE
- RESET_REAPPLY_TYPE_ALL_ELIGIBLE
type: string
description: |-
Deprecated. Use `options`.
Default: RESET_REAPPLY_TYPE_SIGNAL
format: enum
currentRunOnly:
type: boolean
description: |-
If true, limit the reset to only within the current run. (Applies to build_id targets and
possibly others in the future.)
resetReapplyExcludeTypes:
type: array
items:
enum:
- RESET_REAPPLY_EXCLUDE_TYPE_UNSPECIFIED
- RESET_REAPPLY_EXCLUDE_TYPE_SIGNAL
- RESET_REAPPLY_EXCLUDE_TYPE_UPDATE
- RESET_REAPPLY_EXCLUDE_TYPE_NEXUS
- RESET_REAPPLY_EXCLUDE_TYPE_CANCEL_REQUEST
type: string
format: enum
description: Event types not to be reapplied
description: |-
Describes where and how to reset a workflow, used for batch reset currently
and may be used for single-workflow reset later.
ResetPointInfo:
type: object
properties:
buildId:
type: string
description: Worker build id.
binaryChecksum:
type: string
description: Deprecated. A worker binary version identifier.
runId:
type: string
description: The first run ID in the execution chain that was touched by this worker build.
firstWorkflowTaskCompletedId:
type: string
description: Event ID of the first WorkflowTaskCompleted event processed by this worker build.
createTime:
type: string
format: date-time
expireTime:
type: string
description: |-
(-- api-linter: core::0214::resource-expiry=disabled
aip.dev/not-precedent: TTL is not defined for ResetPointInfo. --)
The time that the run is deleted due to retention.
format: date-time
resettable:
type: boolean
description: false if the reset point has pending childWFs/reqCancels/signalExternals.
description: |-
ResetPointInfo records the workflow event id that is the first one processed by a given
build id or binary checksum. A new reset point will be created if either build id or binary
checksum changes (although in general only one or the other will be used at a time).
ResetPoints:
type: object
properties:
points:
type: array
items:
$ref: '#/components/schemas/ResetPointInfo'
ResetWorkflowExecutionRequest:
type: object
properties:
namespace:
type: string
workflowExecution:
allOf:
- $ref: '#/components/schemas/WorkflowExecution'
description: |-
The workflow to reset. If this contains a run ID then the workflow will be reset back to the
provided event ID in that run. Otherwise it will be reset to the provided event ID in the
current run. In all cases the current run will be terminated and a new run started.
reason:
type: string
workflowTaskFinishEventId:
type: string
description: |-
The id of a `WORKFLOW_TASK_COMPLETED`,`WORKFLOW_TASK_TIMED_OUT`, `WORKFLOW_TASK_FAILED`, or
`WORKFLOW_TASK_STARTED` event to reset to.
requestId:
type: string
description: Used to de-dupe reset requests
resetReapplyType:
enum:
- RESET_REAPPLY_TYPE_UNSPECIFIED
- RESET_REAPPLY_TYPE_SIGNAL
- RESET_REAPPLY_TYPE_NONE
- RESET_REAPPLY_TYPE_ALL_ELIGIBLE
type: string
description: |-
Deprecated. Use `options`.
Default: RESET_REAPPLY_TYPE_SIGNAL
format: enum
resetReapplyExcludeTypes:
type: array
items:
enum:
- RESET_REAPPLY_EXCLUDE_TYPE_UNSPECIFIED
- RESET_REAPPLY_EXCLUDE_TYPE_SIGNAL
- RESET_REAPPLY_EXCLUDE_TYPE_UPDATE
- RESET_REAPPLY_EXCLUDE_TYPE_NEXUS
- RESET_REAPPLY_EXCLUDE_TYPE_CANCEL_REQUEST
type: string
format: enum
description: Event types not to be reapplied
postResetOperations:
type: array
items:
$ref: '#/components/schemas/PostResetOperation'
description: |-
Operations to perform after the workflow has been reset. These operations will be applied
to the *new* run of the workflow execution in the order they are provided.
All operations are applied to the workflow before the first new workflow task is generated
identity:
type: string
description: The identity of the worker/client
ResetWorkflowExecutionResponse:
type: object
properties:
runId:
type: string
ResetWorkflowFailureInfo:
type: object
properties:
lastHeartbeatDetails:
$ref: '#/components/schemas/Payloads'
RespondActivityTaskCanceledByIdRequest:
type: object
properties:
namespace:
type: string
description: Namespace of the workflow which scheduled this activity
workflowId:
type: string
description: Id of the workflow which scheduled this activity, leave empty to target a standalone activity
runId:
type: string
description: |-
For a workflow activity - the run ID of the workflow which scheduled this activity.
For a standalone activity - the run ID of the activity.
activityId:
type: string
description: Id of the activity to confirm is cancelled
details:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Serialized additional information to attach to the cancellation
identity:
type: string
description: The identity of the worker/client
deploymentOptions:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentOptions'
description: Worker deployment options that user has set in the worker.
resourceId:
type: string
description: Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities.
RespondActivityTaskCanceledByIdResponse:
type: object
properties: {}
RespondActivityTaskCanceledRequest:
type: object
properties:
taskToken:
type: string
description: The task token as received in `PollActivityTaskQueueResponse`
format: bytes
details:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Serialized additional information to attach to the cancellation
identity:
type: string
description: The identity of the worker/client
namespace:
type: string
resourceId:
type: string
description: Resource ID for routing. Contains the workflow ID or activity ID for standalone activities.
workerVersion:
allOf:
- $ref: '#/components/schemas/WorkerVersionStamp'
description: |-
Version info of the worker who processed this task. This message's `build_id` field should
always be set by SDKs. Workers opting into versioning will also set the `use_versioning`
field to true. See message docstrings for more.
Deprecated. Use `deployment_options` instead.
deployment:
allOf:
- $ref: '#/components/schemas/Deployment'
description: |-
Deployment info of the worker that completed this task. Must be present if user has set
`WorkerDeploymentOptions` regardless of versioning being enabled or not.
Deprecated. Replaced with `deployment_options`.
deploymentOptions:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentOptions'
description: Worker deployment options that user has set in the worker.
RespondActivityTaskCanceledResponse:
type: object
properties: {}
RespondActivityTaskCompletedByIdRequest:
type: object
properties:
namespace:
type: string
description: Namespace of the workflow which scheduled this activity
workflowId:
type: string
description: Id of the workflow which scheduled this activity, leave empty to target a standalone activity
runId:
type: string
description: |-
For a workflow activity - the run ID of the workflow which scheduled this activity.
For a standalone activity - the run ID of the activity.
activityId:
type: string
description: Id of the activity to complete
result:
allOf:
- $ref: '#/components/schemas/Payloads'
description: The serialized result of activity execution
identity:
type: string
description: The identity of the worker/client
resourceId:
type: string
description: Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities.
RespondActivityTaskCompletedByIdResponse:
type: object
properties: {}
RespondActivityTaskCompletedRequest:
type: object
properties:
taskToken:
type: string
description: The task token as received in `PollActivityTaskQueueResponse`
format: bytes
result:
allOf:
- $ref: '#/components/schemas/Payloads'
description: The result of successfully executing the activity
identity:
type: string
description: The identity of the worker/client
namespace:
type: string
resourceId:
type: string
description: Resource ID for routing. Contains the workflow ID or activity ID for standalone activities.
workerVersion:
allOf:
- $ref: '#/components/schemas/WorkerVersionStamp'
description: |-
Version info of the worker who processed this task. This message's `build_id` field should
always be set by SDKs. Workers opting into versioning will also set the `use_versioning`
field to true. See message docstrings for more.
Deprecated. Use `deployment_options` instead.
deployment:
allOf:
- $ref: '#/components/schemas/Deployment'
description: |-
Deployment info of the worker that completed this task. Must be present if user has set
`WorkerDeploymentOptions` regardless of versioning being enabled or not.
Deprecated. Replaced with `deployment_options`.
deploymentOptions:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentOptions'
description: Worker deployment options that user has set in the worker.
RespondActivityTaskCompletedResponse:
type: object
properties: {}
RespondActivityTaskFailedByIdRequest:
type: object
properties:
namespace:
type: string
description: Namespace of the workflow which scheduled this activity
workflowId:
type: string
description: Id of the workflow which scheduled this activity, leave empty to target a standalone activity
runId:
type: string
description: |-
For a workflow activity - the run ID of the workflow which scheduled this activity.
For a standalone activity - the run ID of the activity.
activityId:
type: string
description: Id of the activity to fail
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: Detailed failure information
identity:
type: string
description: The identity of the worker/client
lastHeartbeatDetails:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Additional details to be stored as last activity heartbeat
resourceId:
type: string
description: Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities.
RespondActivityTaskFailedByIdResponse:
type: object
properties:
failures:
type: array
items:
$ref: '#/components/schemas/Failure'
description: |-
Server validation failures could include
last_heartbeat_details payload is too large, request failure is too large
RespondActivityTaskFailedRequest:
type: object
properties:
taskToken:
type: string
description: The task token as received in `PollActivityTaskQueueResponse`
format: bytes
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: Detailed failure information
identity:
type: string
description: The identity of the worker/client
namespace:
type: string
resourceId:
type: string
description: Resource ID for routing. Contains the workflow ID or activity ID for standalone activities.
lastHeartbeatDetails:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Additional details to be stored as last activity heartbeat
workerVersion:
allOf:
- $ref: '#/components/schemas/WorkerVersionStamp'
description: |-
Version info of the worker who processed this task. This message's `build_id` field should
always be set by SDKs. Workers opting into versioning will also set the `use_versioning`
field to true. See message docstrings for more.
Deprecated. Use `deployment_options` instead.
deployment:
allOf:
- $ref: '#/components/schemas/Deployment'
description: |-
Deployment info of the worker that completed this task. Must be present if user has set
`WorkerDeploymentOptions` regardless of versioning being enabled or not.
Deprecated. Replaced with `deployment_options`.
deploymentOptions:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentOptions'
description: Worker deployment options that user has set in the worker.
RespondActivityTaskFailedResponse:
type: object
properties:
failures:
type: array
items:
$ref: '#/components/schemas/Failure'
description: |-
Server validation failures could include
last_heartbeat_details payload is too large, request failure is too large
RetryPolicy:
type: object
properties:
initialInterval:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Interval of the first retry. If retryBackoffCoefficient is 1.0 then it is used for all retries.
backoffCoefficient:
type: number
description: |-
Coefficient used to calculate the next retry interval.
The next retry interval is previous interval multiplied by the coefficient.
Must be 1 or larger.
format: double
maximumInterval:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Maximum interval between retries. Exponential backoff leads to interval increase.
This value is the cap of the increase. Default is 100x of the initial interval.
maximumAttempts:
type: integer
description: |-
Maximum number of attempts. When exceeded the retries stop even if not expired yet.
1 disables retries. 0 means unlimited (up to the timeouts)
format: int32
nonRetryableErrorTypes:
type: array
items:
type: string
description: |-
Non-Retryable errors types. Will stop retrying if the error type matches this list. Note that
this is not a substring match, the error *type* (not message) must match exactly.
description: How retries ought to be handled, usable by both workflows and activities
RoutingConfig:
type: object
properties:
currentDeploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: |-
Specifies which Deployment Version should receive new workflow executions and tasks of
existing unversioned or AutoUpgrade workflows.
Nil value means no Version in this Deployment (except Ramping Version, if present) receives traffic other than tasks of previously Pinned workflows. In absence of a Current Version, remaining traffic after any ramp (if set) goes to unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.).
Note: Current Version is overridden by the Ramping Version for a portion of traffic when ramp percentage
is non-zero (see `ramping_deployment_version` and `ramping_version_percentage`).
currentVersion:
type: string
description: Deprecated. Use `current_deployment_version`.
rampingDeploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: |-
When ramp percentage is non-zero, that portion of traffic is shifted from the Current Version to the Ramping Version.
Must always be different from `current_deployment_version` unless both are nil.
Nil value represents all the unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.)
Note that it is possible to ramp from one Version to another Version, or from unversioned
workers to a particular Version, or from a particular Version to unversioned workers.
rampingVersion:
type: string
description: Deprecated. Use `ramping_deployment_version`.
rampingVersionPercentage:
type: number
description: |-
Percentage of tasks that are routed to the Ramping Version instead of the Current Version.
Valid range: [0, 100]. A 100% value means the Ramping Version is receiving full traffic but
not yet "promoted" to be the Current Version, likely due to pending validations.
A 0% value means the Ramping Version is receiving no traffic.
format: float
currentVersionChangedTime:
type: string
description: Last time current version was changed.
format: date-time
rampingVersionChangedTime:
type: string
description: Last time ramping version was changed. Not updated if only the ramp percentage changes.
format: date-time
rampingVersionPercentageChangedTime:
type: string
description: |-
Last time ramping version percentage was changed.
If ramping version is changed, this is also updated, even if the percentage stays the same.
format: date-time
revisionNumber:
type: string
description: |-
Monotonically increasing value which is incremented on every mutation
to any field of this message to achieve eventual consistency between task queues and their partitions.
Schedule:
type: object
properties:
spec:
$ref: '#/components/schemas/ScheduleSpec'
action:
$ref: '#/components/schemas/ScheduleAction'
policies:
$ref: '#/components/schemas/SchedulePolicies'
state:
$ref: '#/components/schemas/ScheduleState'
ScheduleAction:
type: object
properties:
startWorkflow:
allOf:
- $ref: '#/components/schemas/NewWorkflowExecutionInfo'
description: |-
All fields of NewWorkflowExecutionInfo are valid except for:
- workflow_id_reuse_policy
- cron_schedule
The workflow id of the started workflow may not match this exactly,
it may have a timestamp appended for uniqueness.
ScheduleActionResult:
type: object
properties:
scheduleTime:
type: string
description: Time that the action was taken (according to the schedule, including jitter).
format: date-time
actualTime:
type: string
description: Time that the action was taken (real time).
format: date-time
startWorkflowResult:
allOf:
- $ref: '#/components/schemas/WorkflowExecution'
description: 'If action was start_workflow:'
startWorkflowStatus:
enum:
- WORKFLOW_EXECUTION_STATUS_UNSPECIFIED
- WORKFLOW_EXECUTION_STATUS_RUNNING
- WORKFLOW_EXECUTION_STATUS_COMPLETED
- WORKFLOW_EXECUTION_STATUS_FAILED
- WORKFLOW_EXECUTION_STATUS_CANCELED
- WORKFLOW_EXECUTION_STATUS_TERMINATED
- WORKFLOW_EXECUTION_STATUS_CONTINUED_AS_NEW
- WORKFLOW_EXECUTION_STATUS_TIMED_OUT
- WORKFLOW_EXECUTION_STATUS_PAUSED
type: string
description: |-
If the action was start_workflow, this field will reflect an
eventually-consistent view of the started workflow's status.
format: enum
ScheduleInfo:
type: object
properties:
actionCount:
type: string
description: Number of actions taken so far.
missedCatchupWindow:
type: string
description: Number of times a scheduled action was skipped due to missing the catchup window.
overlapSkipped:
type: string
description: Number of skipped actions due to overlap.
bufferDropped:
type: string
description: Number of dropped actions due to buffer limit.
bufferSize:
type: string
description: |-
Number of actions in the buffer. The buffer holds the actions that cannot
be immediately triggered (due to the overlap policy). These actions can be a result of
the normal schedule or a backfill.
runningWorkflows:
type: array
items:
$ref: '#/components/schemas/WorkflowExecution'
description: |-
Currently-running workflows started by this schedule. (There might be
more than one if the overlap policy allows overlaps.)
Note that the run_ids in here are the original execution run ids as
started by the schedule. If the workflows retried, did continue-as-new,
or were reset, they might still be running but with a different run_id.
recentActions:
type: array
items:
$ref: '#/components/schemas/ScheduleActionResult'
description: Most recent ten actual action times (including manual triggers).
futureActionTimes:
type: array
items:
type: string
format: date-time
description: Next ten scheduled action times.
createTime:
type: string
description: Timestamps of schedule creation and last update.
format: date-time
updateTime:
type: string
format: date-time
invalidScheduleError:
type: string
description: Deprecated.
ScheduleListEntry:
type: object
properties:
scheduleId:
type: string
memo:
$ref: '#/components/schemas/Memo'
searchAttributes:
$ref: '#/components/schemas/SearchAttributes'
info:
$ref: '#/components/schemas/ScheduleListInfo'
description: ScheduleListEntry is returned by ListSchedules.
ScheduleListInfo:
type: object
properties:
spec:
allOf:
- $ref: '#/components/schemas/ScheduleSpec'
description: |-
From spec:
Some fields are dropped from this copy of spec: timezone_data
workflowType:
allOf:
- $ref: '#/components/schemas/WorkflowType'
description: |-
From action:
Action is a oneof field, but we need to encode this in JSON and oneof fields don't work
well with JSON. If action is start_workflow, this is set:
notes:
type: string
description: 'From state:'
paused:
type: boolean
recentActions:
type: array
items:
$ref: '#/components/schemas/ScheduleActionResult'
description: 'From info (maybe fewer entries):'
futureActionTimes:
type: array
items:
type: string
format: date-time
description: |-
ScheduleListInfo is an abbreviated set of values from Schedule and ScheduleInfo
that's returned in ListSchedules.
SchedulePatch:
type: object
properties:
triggerImmediately:
allOf:
- $ref: '#/components/schemas/TriggerImmediatelyRequest'
description: If set, trigger one action immediately.
backfillRequest:
type: array
items:
$ref: '#/components/schemas/BackfillRequest'
description: |-
If set, runs though the specified time period(s) and takes actions as if that time
passed by right now, all at once. The overlap policy can be overridden for the
scope of the backfill.
pause:
type: string
description: |-
If set, change the state to paused or unpaused (respectively) and set the
notes field to the value of the string.
unpause:
type: string
SchedulePolicies:
type: object
properties:
overlapPolicy:
enum:
- SCHEDULE_OVERLAP_POLICY_UNSPECIFIED
- SCHEDULE_OVERLAP_POLICY_SKIP
- SCHEDULE_OVERLAP_POLICY_BUFFER_ONE
- SCHEDULE_OVERLAP_POLICY_BUFFER_ALL
- SCHEDULE_OVERLAP_POLICY_CANCEL_OTHER
- SCHEDULE_OVERLAP_POLICY_TERMINATE_OTHER
- SCHEDULE_OVERLAP_POLICY_ALLOW_ALL
type: string
description: |-
Policy for overlaps.
Note that this can be changed after a schedule has taken some actions,
and some changes might produce unintuitive results. In general, the later
policy overrides the earlier policy.
format: enum
catchupWindow:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Policy for catchups:
If the Temporal server misses an action due to one or more components
being down, and comes back up, the action will be run if the scheduled
time is within this window from the current time.
This value defaults to one year, and can't be less than 10 seconds.
pauseOnFailure:
type: boolean
description: |-
If true, and a workflow run fails or times out, turn on "paused".
This applies after retry policies: the full chain of retries must fail to
trigger a pause here.
keepOriginalWorkflowId:
type: boolean
description: |-
If true, and the action would start a workflow, a timestamp will not be
appended to the scheduled workflow id.
ScheduleSpec:
type: object
properties:
structuredCalendar:
type: array
items:
$ref: '#/components/schemas/StructuredCalendarSpec'
description: Calendar-based specifications of times.
cronString:
type: array
items:
type: string
description: |-
cron_string holds a traditional cron specification as a string. It
accepts 5, 6, or 7 fields, separated by spaces, and interprets them the
same way as CalendarSpec.
5 fields: minute, hour, day_of_month, month, day_of_week
6 fields: minute, hour, day_of_month, month, day_of_week, year
7 fields: second, minute, hour, day_of_month, month, day_of_week, year
If year is not given, it defaults to *. If second is not given, it
defaults to 0.
Shorthands @yearly, @monthly, @weekly, @daily, and @hourly are also
accepted instead of the 5-7 time fields.
Optionally, the string can be preceded by CRON_TZ=<timezone name> or
TZ=<timezone name>, which will get copied to timezone_name. (There must
not also be a timezone_name present.)
Optionally "#" followed by a comment can appear at the end of the string.
Note that the special case that some cron implementations have for
treating day_of_month and day_of_week as "or" instead of "and" when both
are set is not implemented.
@every <interval>[/<phase>] is accepted and gets compiled into an
IntervalSpec instead. <interval> and <phase> should be a decimal integer
with a unit suffix s, m, h, or d.
calendar:
type: array
items:
$ref: '#/components/schemas/CalendarSpec'
description: Calendar-based specifications of times.
interval:
type: array
items:
$ref: '#/components/schemas/IntervalSpec'
description: Interval-based specifications of times.
excludeCalendar:
type: array
items:
$ref: '#/components/schemas/CalendarSpec'
description: |-
Any timestamps matching any of exclude_* will be skipped.
Deprecated. Use exclude_structured_calendar.
excludeStructuredCalendar:
type: array
items:
$ref: '#/components/schemas/StructuredCalendarSpec'
startTime:
type: string
description: |-
If start_time is set, any timestamps before start_time will be skipped.
(Together, start_time and end_time make an inclusive interval.)
format: date-time
endTime:
type: string
description: If end_time is set, any timestamps after end_time will be skipped.
format: date-time
jitter:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
All timestamps will be incremented by a random value from 0 to this
amount of jitter. Default: 0
timezoneName:
type: string
description: |-
Time zone to interpret all calendar-based specs in.
If unset, defaults to UTC. We recommend using UTC for your application if
at all possible, to avoid various surprising properties of time zones.
Time zones may be provided by name, corresponding to names in the IANA
time zone database (see https://www.iana.org/time-zones). The definition
will be loaded by the Temporal server from the environment it runs in.
If your application requires more control over the time zone definition
used, it may pass in a complete definition in the form of a TZif file
from the time zone database. If present, this will be used instead of
loading anything from the environment. You are then responsible for
updating timezone_data when the definition changes.
Calendar spec matching is based on literal matching of the clock time
with no special handling of DST: if you write a calendar spec that fires
at 2:30am and specify a time zone that follows DST, that action will not
be triggered on the day that has no 2:30am. Similarly, an action that
fires at 1:30am will be triggered twice on the day that has two 1:30s.
Also note that no actions are taken on leap-seconds (e.g. 23:59:60 UTC).
timezoneData:
type: string
format: bytes
description: |-
ScheduleSpec is a complete description of a set of absolute timestamps
(possibly infinite) that an action should occur at. The meaning of a
ScheduleSpec depends only on its contents and never changes, except that the
definition of a time zone can change over time (most commonly, when daylight
saving time policy changes for an area). To create a totally self-contained
ScheduleSpec, use UTC or include timezone_data.
For input, you can provide zero or more of: structured_calendar, calendar,
cron_string, interval, and exclude_structured_calendar, and all of them will
be used (the schedule will take action at the union of all of their times,
minus the ones that match exclude_structured_calendar).
On input, calendar and cron_string fields will be compiled into
structured_calendar (and maybe interval and timezone_name), so if you
Describe a schedule, you'll see only structured_calendar, interval, etc.
If a spec has no matching times after the current time, then the schedule
will be subject to automatic deletion (after several days).
ScheduleState:
type: object
properties:
notes:
type: string
description: |-
Informative human-readable message with contextual notes, e.g. the reason
a schedule is paused. The system may overwrite this message on certain
conditions, e.g. when pause-on-failure happens.
paused:
type: boolean
description: If true, do not take any actions based on the schedule spec.
limitedActions:
type: boolean
description: |-
If limited_actions is true, decrement remaining_actions after each
action, and do not take any more scheduled actions if remaining_actions
is zero. Actions may still be taken by explicit request (i.e. trigger
immediately or backfill). Skipped actions (due to overlap policy) do not
count against remaining actions.
If a schedule has no more remaining actions, then the schedule will be
subject to automatic deletion (after several days).
remainingActions:
type: string
SearchAttributes:
type: object
properties:
indexedFields:
type: object
additionalProperties:
$ref: '#/components/schemas/Payload'
description: |-
A user-defined set of *indexed* fields that are used/exposed when listing/searching workflows.
The payload is not serialized in a user-defined way.
ServerFailureInfo:
type: object
properties:
nonRetryable:
type: boolean
SetCurrentDeploymentRequest:
type: object
properties:
namespace:
type: string
deployment:
$ref: '#/components/schemas/Deployment'
identity:
type: string
description: Optional. The identity of the client who initiated this request.
updateMetadata:
allOf:
- $ref: '#/components/schemas/UpdateDeploymentMetadata'
description: |-
Optional. Use to add or remove user-defined metadata entries. Metadata entries are exposed
when describing a deployment. It is a good place for information such as operator name,
links to internal deployment pipelines, etc.
description: '[cleanup-wv-pre-release] Pre-release deployment APIs, clean up later'
SetCurrentDeploymentResponse:
type: object
properties:
currentDeploymentInfo:
$ref: '#/components/schemas/DeploymentInfo'
previousDeploymentInfo:
allOf:
- $ref: '#/components/schemas/DeploymentInfo'
description: Info of the deployment that was current before executing this operation.
description: '[cleanup-wv-pre-release] Pre-release deployment APIs, clean up later'
SetWorkerDeploymentCurrentVersionRequest:
type: object
properties:
namespace:
type: string
deploymentName:
type: string
version:
type: string
description: Deprecated. Use `build_id`.
buildId:
type: string
description: |-
The build id of the Version that you want to set as Current.
Pass an empty value to set the Current Version to nil.
A nil Current Version represents all the unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.)
conflictToken:
type: string
description: |-
Optional. This can be the value of conflict_token from a Describe, or another Worker
Deployment API. Passing a non-nil conflict token will cause this request to fail if the
Deployment's configuration has been modified between the API call that generated the
token and this one.
format: bytes
identity:
type: string
description: Optional. The identity of the client who initiated this request.
ignoreMissingTaskQueues:
type: boolean
description: |-
Optional. By default this request would be rejected if not all the expected Task Queues are
being polled by the new Version, to protect against accidental removal of Task Queues, or
worker health issues. Pass `true` here to bypass this protection.
The set of expected Task Queues is the set of all the Task Queues that were ever poller by
the existing Current Version of the Deployment, with the following exclusions:
- Task Queues that are not used anymore (inferred by having empty backlog and a task
add_rate of 0.)
- Task Queues that are moved to another Worker Deployment (inferred by the Task Queue
having a different Current Version than the Current Version of this deployment.)
WARNING: Do not set this flag unless you are sure that the missing task queue pollers are not
needed. If the request is unexpectedly rejected due to missing pollers, then that means the
pollers have not reached to the server yet. Only set this if you expect those pollers to
never arrive.
allowNoPollers:
type: boolean
description: |-
Optional. By default this request will be rejected if no pollers have been seen for the proposed
Current Version, in order to protect users from routing tasks to pollers that do not exist, leading
to possible timeouts. Pass `true` here to bypass this protection.
description: Set/unset the Current Version of a Worker Deployment.
SetWorkerDeploymentCurrentVersionResponse:
type: object
properties:
conflictToken:
type: string
description: |-
This value is returned so that it can be optionally passed to APIs
that write to the Worker Deployment state to ensure that the state
did not change between this API call and a future write.
format: bytes
previousVersion:
type: string
description: Deprecated. Use `previous_deployment_version`.
previousDeploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: |-
The version that was current before executing this operation.
Deprecated in favor of idempotency of the API. Use `DescribeWorkerDeployment` to get the
Current version info before calling this API. By passing the `conflict_token` got from the
`DescribeWorkerDeployment` call to this API you can ensure there is no interfering changes
between the two calls.
SetWorkerDeploymentManagerRequest:
type: object
properties:
namespace:
type: string
deploymentName:
type: string
managerIdentity:
type: string
description: |-
Arbitrary value for `manager_identity`.
Empty will unset the field.
self:
type: boolean
description: True will set `manager_identity` to `identity`.
conflictToken:
type: string
description: |-
Optional. This can be the value of conflict_token from a Describe, or another Worker
Deployment API. Passing a non-nil conflict token will cause this request to fail if the
Deployment's configuration has been modified between the API call that generated the
token and this one.
format: bytes
identity:
type: string
description: Required. The identity of the client who initiated this request.
description: Update the ManagerIdentity of a Worker Deployment.
SetWorkerDeploymentManagerResponse:
type: object
properties:
conflictToken:
type: string
description: |-
This value is returned so that it can be optionally passed to APIs
that write to the Worker Deployment state to ensure that the state
did not change between this API call and a future write.
format: bytes
previousManagerIdentity:
type: string
description: |-
What the `manager_identity` field was before this change.
Deprecated in favor of idempotency of the API. Use `DescribeWorkerDeployment` to get the
manager identity before calling this API. By passing the `conflict_token` got from the
`DescribeWorkerDeployment` call to this API you can ensure there is no interfering changes
between the two calls.
SetWorkerDeploymentRampingVersionRequest:
type: object
properties:
namespace:
type: string
deploymentName:
type: string
version:
type: string
description: Deprecated. Use `build_id`.
buildId:
type: string
description: |-
The build id of the Version that you want to ramp traffic to.
Pass an empty value to set the Ramping Version to nil.
A nil Ramping Version represents all the unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.)
percentage:
type: number
description: 'Ramp percentage to set. Valid range: [0,100].'
format: float
conflictToken:
type: string
description: |-
Optional. This can be the value of conflict_token from a Describe, or another Worker
Deployment API. Passing a non-nil conflict token will cause this request to fail if the
Deployment's configuration has been modified between the API call that generated the
token and this one.
format: bytes
identity:
type: string
description: Optional. The identity of the client who initiated this request.
ignoreMissingTaskQueues:
type: boolean
description: |-
Optional. By default this request would be rejected if not all the expected Task Queues are
being polled by the new Version, to protect against accidental removal of Task Queues, or
worker health issues. Pass `true` here to bypass this protection.
The set of expected Task Queues equals to all the Task Queues ever polled from the existing
Current Version of the Deployment, with the following exclusions:
- Task Queues that are not used anymore (inferred by having empty backlog and a task
add_rate of 0.)
- Task Queues that are moved to another Worker Deployment (inferred by the Task Queue
having a different Current Version than the Current Version of this deployment.)
WARNING: Do not set this flag unless you are sure that the missing task queue poller are not
needed. If the request is unexpectedly rejected due to missing pollers, then that means the
pollers have not reached to the server yet. Only set this if you expect those pollers to
never arrive.
Note: this check only happens when the ramping version is about to change, not every time
that the percentage changes. Also note that the check is against the deployment's Current
Version, not the previous Ramping Version.
allowNoPollers:
type: boolean
description: |-
Optional. By default this request will be rejected if no pollers have been seen for the proposed
Current Version, in order to protect users from routing tasks to pollers that do not exist, leading
to possible timeouts. Pass `true` here to bypass this protection.
description: Set/unset the Ramping Version of a Worker Deployment and its ramp percentage.
SetWorkerDeploymentRampingVersionResponse:
type: object
properties:
conflictToken:
type: string
description: |-
This value is returned so that it can be optionally passed to APIs
that write to the Worker Deployment state to ensure that the state
did not change between this API call and a future write.
format: bytes
previousVersion:
type: string
description: Deprecated. Use `previous_deployment_version`.
previousDeploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: |-
The version that was ramping before executing this operation.
Deprecated in favor of idempotency of the API. Use `DescribeWorkerDeployment` to get the
Ramping version info before calling this API. By passing the `conflict_token` got from the
`DescribeWorkerDeployment` call to this API you can ensure there is no interfering changes
between the two calls.
previousPercentage:
type: number
description: |-
The ramping version percentage before executing this operation.
Deprecated in favor of idempotency of the API. Use `DescribeWorkerDeployment` to get the
Ramping version info before calling this API. By passing the `conflict_token` got from the
`DescribeWorkerDeployment` call to this API you can ensure there is no interfering changes
between the two calls.
format: float
SignalExternalWorkflowExecutionFailedEventAttributes:
type: object
properties:
cause:
enum:
- SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED
- SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_EXTERNAL_WORKFLOW_EXECUTION_NOT_FOUND
- SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND
- SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_SIGNAL_COUNT_LIMIT_EXCEEDED
type: string
format: enum
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
namespace:
type: string
description: |-
Namespace of the workflow which failed the signal.
SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.
namespaceId:
type: string
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
initiatedEventId:
type: string
control:
type: string
description: Deprecated.
SignalExternalWorkflowExecutionInitiatedEventAttributes:
type: object
properties:
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
namespace:
type: string
description: |-
Namespace of the to-be-signalled workflow.
SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.
namespaceId:
type: string
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
signalName:
type: string
description: name/type of the signal to fire in the external workflow
input:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Serialized arguments to provide to the signal handler
control:
type: string
description: Deprecated.
childWorkflowOnly:
type: boolean
description: |-
Workers are expected to set this to true if the workflow they are requesting to cancel is
a child of the workflow which issued the request
header:
$ref: '#/components/schemas/Header'
SignalWithStartWorkflowExecutionRequest:
type: object
properties:
namespace:
type: string
workflowId:
type: string
workflowType:
$ref: '#/components/schemas/WorkflowType'
taskQueue:
allOf:
- $ref: '#/components/schemas/TaskQueue'
description: The task queue to start this workflow on, if it will be started
input:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Serialized arguments to the workflow. These are passed as arguments to the workflow function.
workflowExecutionTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Total workflow execution timeout including retries and continue as new
workflowRunTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Timeout of a single workflow run
workflowTaskTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Timeout of a single workflow task
identity:
type: string
description: The identity of the worker/client
requestId:
type: string
description: Used to de-dupe signal w/ start requests
workflowIdReusePolicy:
enum:
- WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED
- WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE
- WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY
- WORKFLOW_ID_REUSE_POLICY_REJECT_DUPLICATE
- WORKFLOW_ID_REUSE_POLICY_TERMINATE_IF_RUNNING
type: string
description: |-
Defines whether to allow re-using the workflow id from a previously *closed* workflow.
The default policy is WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.
See `workflow_id_reuse_policy` for handling a workflow id duplication with a *running* workflow.
format: enum
workflowIdConflictPolicy:
enum:
- WORKFLOW_ID_CONFLICT_POLICY_UNSPECIFIED
- WORKFLOW_ID_CONFLICT_POLICY_FAIL
- WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING
- WORKFLOW_ID_CONFLICT_POLICY_TERMINATE_EXISTING
type: string
description: |-
Defines how to resolve a workflow id conflict with a *running* workflow.
The default policy is WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING.
Note that WORKFLOW_ID_CONFLICT_POLICY_FAIL is an invalid option.
See `workflow_id_reuse_policy` for handling a workflow id duplication with a *closed* workflow.
format: enum
signalName:
type: string
description: The workflow author-defined name of the signal to send to the workflow
signalInput:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Serialized value(s) to provide with the signal
control:
type: string
description: Deprecated.
retryPolicy:
allOf:
- $ref: '#/components/schemas/RetryPolicy'
description: Retry policy for the workflow
cronSchedule:
type: string
description: See https://docs.temporal.io/docs/content/what-is-a-temporal-cron-job/
memo:
$ref: '#/components/schemas/Memo'
searchAttributes:
$ref: '#/components/schemas/SearchAttributes'
header:
$ref: '#/components/schemas/Header'
workflowStartDelay:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Time to wait before dispatching the first workflow task. Cannot be used with `cron_schedule`.
Note that the signal will be delivered with the first workflow task. If the workflow gets
another SignalWithStartWorkflow before the delay a workflow task will be dispatched immediately
and the rest of the delay period will be ignored, even if that request also had a delay.
Signal via SignalWorkflowExecution will not unblock the workflow.
userMetadata:
allOf:
- $ref: '#/components/schemas/UserMetadata'
description: |-
Metadata on the workflow if it is started. This is carried over to the WorkflowExecutionInfo
for use by user interfaces to display the fixed as-of-start summary and details of the
workflow.
links:
type: array
items:
$ref: '#/components/schemas/Link'
description: Links to be associated with the WorkflowExecutionStarted and WorkflowExecutionSignaled events.
versioningOverride:
allOf:
- $ref: '#/components/schemas/VersioningOverride'
description: |-
If set, takes precedence over the Versioning Behavior sent by the SDK on Workflow Task completion.
To unset the override after the workflow is running, use UpdateWorkflowExecutionOptions.
priority:
allOf:
- $ref: '#/components/schemas/Priority'
description: Priority metadata
timeSkippingConfig:
allOf:
- $ref: '#/components/schemas/TimeSkippingConfig'
description: Time-skipping configuration. If not set, time skipping is disabled.
SignalWithStartWorkflowExecutionResponse:
type: object
properties:
runId:
type: string
description: The run id of the workflow that was started - or just signaled, if it was already running.
started:
type: boolean
description: If true, a new workflow was started.
signalLink:
allOf:
- $ref: '#/components/schemas/Link'
description: |-
Link to be associated with the WorkflowExecutionSignaled event.
Added on the response to propagate the backlink.
Available from Temporal server 1.31 and up.
SignalWorkflowExecutionRequest:
type: object
properties:
namespace:
type: string
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
signalName:
type: string
description: The workflow author-defined name of the signal to send to the workflow
input:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Serialized value(s) to provide with the signal
identity:
type: string
description: The identity of the worker/client
requestId:
type: string
description: Used to de-dupe sent signals
control:
type: string
description: Deprecated.
header:
allOf:
- $ref: '#/components/schemas/Header'
description: |-
Headers that are passed with the signal to the processing workflow.
These can include things like auth or tracing tokens.
links:
type: array
items:
$ref: '#/components/schemas/Link'
description: Links to be associated with the WorkflowExecutionSignaled event.
description: |-
Keep the parameters in sync with:
- temporal.api.batch.v1.BatchOperationSignal.
- temporal.api.workflow.v1.PostResetOperation.SignalWorkflow.
SignalWorkflowExecutionResponse:
type: object
properties:
link:
allOf:
- $ref: '#/components/schemas/Link'
description: |-
Link to be associated with the WorkflowExecutionSignaled event.
Added on the response to propagate the backlink.
Available from Temporal server 1.31 and up.
StartActivityExecutionRequest:
type: object
properties:
namespace:
type: string
identity:
type: string
description: The identity of the client who initiated this request
requestId:
type: string
description: A unique identifier for this start request. Typically UUIDv4.
activityId:
type: string
description: |-
Identifier for this activity. Required. This identifier should be meaningful in the user's
own system. It must be unique among activities in the same namespace, subject to the rules
imposed by id_reuse_policy and id_conflict_policy.
activityType:
allOf:
- $ref: '#/components/schemas/ActivityType'
description: The type of the activity, a string that corresponds to a registered activity on a worker.
taskQueue:
allOf:
- $ref: '#/components/schemas/TaskQueue'
description: Task queue to schedule this activity on.
scheduleToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Indicates how long the caller is willing to wait for an activity completion. Limits how long
retries will be attempted. Either this or `start_to_close_timeout` must be specified.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
scheduleToStartTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Limits time an activity task can stay in a task queue before a worker picks it up. This
timeout is always non retryable, as all a retry would achieve is to put it back into the same
queue. Defaults to `schedule_to_close_timeout` if not specified.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
startToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Maximum time an activity is allowed to execute after being picked up by a worker. This
timeout is always retryable. Either this or `schedule_to_close_timeout` must be
specified.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
heartbeatTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Maximum permitted time between successful worker heartbeats.
retryPolicy:
allOf:
- $ref: '#/components/schemas/RetryPolicy'
description: The retry policy for the activity. Will never exceed `schedule_to_close_timeout`.
input:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Serialized arguments to the activity. These are passed as arguments to the activity function.
idReusePolicy:
enum:
- ACTIVITY_ID_REUSE_POLICY_UNSPECIFIED
- ACTIVITY_ID_REUSE_POLICY_ALLOW_DUPLICATE
- ACTIVITY_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY
- ACTIVITY_ID_REUSE_POLICY_REJECT_DUPLICATE
type: string
description: |-
Defines whether to allow re-using the activity id from a previously *closed* activity.
The default policy is ACTIVITY_ID_REUSE_POLICY_ALLOW_DUPLICATE.
format: enum
idConflictPolicy:
enum:
- ACTIVITY_ID_CONFLICT_POLICY_UNSPECIFIED
- ACTIVITY_ID_CONFLICT_POLICY_FAIL
- ACTIVITY_ID_CONFLICT_POLICY_USE_EXISTING
type: string
description: |-
Defines how to resolve an activity id conflict with a *running* activity.
The default policy is ACTIVITY_ID_CONFLICT_POLICY_FAIL.
format: enum
searchAttributes:
allOf:
- $ref: '#/components/schemas/SearchAttributes'
description: Search attributes for indexing.
header:
allOf:
- $ref: '#/components/schemas/Header'
description: Header for context propagation and tracing purposes.
userMetadata:
allOf:
- $ref: '#/components/schemas/UserMetadata'
description: Metadata for use by user interfaces to display the fixed as-of-start summary and details of the activity.
priority:
allOf:
- $ref: '#/components/schemas/Priority'
description: Priority metadata.
completionCallbacks:
type: array
items:
$ref: '#/components/schemas/Callback'
description: |-
Callbacks to be called by the server when this activity reaches a terminal state.
Callback addresses must be whitelisted in the server's dynamic configuration.
links:
type: array
items:
$ref: '#/components/schemas/Link'
description: |-
Links to be associated with the activity. Callbacks may also have associated links;
links already included with a callback should not be duplicated here.
onConflictOptions:
allOf:
- $ref: '#/components/schemas/OnConflictOptions'
description: Options for handling conflicts when using ACTIVITY_ID_CONFLICT_POLICY_USE_EXISTING.
startDelay:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Time to wait before dispatching the first activity task. This delay is not applied to retry attempts.
StartActivityExecutionResponse:
type: object
properties:
runId:
type: string
description: The run ID of the activity that was started - or used (via ACTIVITY_ID_CONFLICT_POLICY_USE_EXISTING).
started:
type: boolean
description: If true, a new activity was started.
link:
allOf:
- $ref: '#/components/schemas/Link'
description: Link to the started activity.
StartBatchOperationRequest:
type: object
properties:
namespace:
type: string
description: Namespace that contains the batch operation
visibilityQuery:
type: string
description: |-
Visibility query defines the the group of workflow to apply the batch operation
This field and `executions` are mutually exclusive
jobId:
type: string
description: Job ID defines the unique ID for the batch job
reason:
type: string
description: Reason to perform the batch operation
executions:
type: array
items:
$ref: '#/components/schemas/WorkflowExecution'
description: |-
Executions to apply the batch operation
This field and `visibility_query` are mutually exclusive
maxOperationsPerSecond:
type: number
description: |-
Limit for the number of operations processed per second within this batch.
Its purpose is to reduce the stress on the system caused by batch operations, which helps to prevent system
overload and minimize potential delays in executing ongoing tasks for user workers.
Note that when no explicit limit is provided, the server will operate according to its limit defined by the
dynamic configuration key `worker.batcherRPS`. This also applies if the value in this field exceeds the
server's configured limit.
format: float
terminationOperation:
$ref: '#/components/schemas/BatchOperationTermination'
signalOperation:
$ref: '#/components/schemas/BatchOperationSignal'
cancellationOperation:
$ref: '#/components/schemas/BatchOperationCancellation'
deletionOperation:
$ref: '#/components/schemas/BatchOperationDeletion'
resetOperation:
$ref: '#/components/schemas/BatchOperationReset'
updateWorkflowOptionsOperation:
$ref: '#/components/schemas/BatchOperationUpdateWorkflowExecutionOptions'
unpauseActivitiesOperation:
$ref: '#/components/schemas/BatchOperationUnpauseActivities'
resetActivitiesOperation:
$ref: '#/components/schemas/BatchOperationResetActivities'
updateActivityOptionsOperation:
$ref: '#/components/schemas/BatchOperationUpdateActivityOptions'
StartBatchOperationResponse:
type: object
properties: {}
StartChildWorkflowExecutionFailedEventAttributes:
type: object
properties:
namespace:
type: string
description: |-
Namespace of the child workflow.
SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.
namespaceId:
type: string
workflowId:
type: string
workflowType:
$ref: '#/components/schemas/WorkflowType'
cause:
enum:
- START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED
- START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_WORKFLOW_ALREADY_EXISTS
- START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND
type: string
format: enum
control:
type: string
description: Deprecated.
initiatedEventId:
type: string
description: Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
StartChildWorkflowExecutionInitiatedEventAttributes:
type: object
properties:
namespace:
type: string
description: |-
Namespace of the child workflow.
SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.
namespaceId:
type: string
workflowId:
type: string
workflowType:
$ref: '#/components/schemas/WorkflowType'
taskQueue:
$ref: '#/components/schemas/TaskQueue'
input:
$ref: '#/components/schemas/Payloads'
workflowExecutionTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Total workflow execution timeout including retries and continue as new.
workflowRunTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Timeout of a single workflow run.
workflowTaskTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Timeout of a single workflow task.
parentClosePolicy:
enum:
- PARENT_CLOSE_POLICY_UNSPECIFIED
- PARENT_CLOSE_POLICY_TERMINATE
- PARENT_CLOSE_POLICY_ABANDON
- PARENT_CLOSE_POLICY_REQUEST_CANCEL
type: string
description: 'Default: PARENT_CLOSE_POLICY_TERMINATE.'
format: enum
control:
type: string
description: Deprecated.
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
workflowIdReusePolicy:
enum:
- WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED
- WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE
- WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY
- WORKFLOW_ID_REUSE_POLICY_REJECT_DUPLICATE
- WORKFLOW_ID_REUSE_POLICY_TERMINATE_IF_RUNNING
type: string
description: 'Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.'
format: enum
retryPolicy:
$ref: '#/components/schemas/RetryPolicy'
cronSchedule:
type: string
description: If this child runs on a cron schedule, it will appear here
header:
$ref: '#/components/schemas/Header'
memo:
$ref: '#/components/schemas/Memo'
searchAttributes:
$ref: '#/components/schemas/SearchAttributes'
inheritBuildId:
type: boolean
description: |-
If this is set, the child workflow inherits the Build ID of the parent. Otherwise, the assignment
rules of the child's Task Queue will be used to independently assign a Build ID to it.
Deprecated. Only considered for versioning v0.2.
priority:
allOf:
- $ref: '#/components/schemas/Priority'
description: Priority metadata
timeSkippingConfig:
allOf:
- $ref: '#/components/schemas/TimeSkippingConfig'
description: The propagated time-skipping configuration for the child workflow.
initialSkippedDuration:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Propagate the duration skipped to the child workflow.
StartNexusOperationExecutionRequest:
type: object
properties:
namespace:
type: string
identity:
type: string
description: The identity of the client who initiated this request.
requestId:
type: string
description: |-
A unique identifier for this caller-side start request. Typically UUIDv4.
StartOperation requests sent to the handler will use a server-generated request ID.
operationId:
type: string
description: |-
Identifier for this operation. This is a caller-side ID, distinct from any internal
operation identifiers generated by the handler. Must be unique among operations in the
same namespace, subject to the rules imposed by id_reuse_policy and id_conflict_policy.
endpoint:
type: string
description: Endpoint name, resolved to a URL via the cluster's endpoint registry.
service:
type: string
description: Service name.
operation:
type: string
description: Operation name.
scheduleToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Schedule-to-close timeout for this operation.
Indicates how long the caller is willing to wait for operation completion.
Calls are retried internally by the server.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
scheduleToStartTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Schedule-to-start timeout for this operation.
Indicates how long the caller is willing to wait for the operation to be started (or completed if synchronous)
by the handler.
If not set or zero, no schedule-to-start timeout is enforced.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
startToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Start-to-close timeout for this operation.
Indicates how long the caller is willing to wait for an asynchronous operation to complete after it has been
started. Synchronous operations ignore this timeout.
If not set or zero, no start-to-close timeout is enforced.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
input:
allOf:
- $ref: '#/components/schemas/Payload'
description: Serialized input to the operation. Passed as the request payload.
idReusePolicy:
enum:
- NEXUS_OPERATION_ID_REUSE_POLICY_UNSPECIFIED
- NEXUS_OPERATION_ID_REUSE_POLICY_ALLOW_DUPLICATE
- NEXUS_OPERATION_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY
- NEXUS_OPERATION_ID_REUSE_POLICY_REJECT_DUPLICATE
type: string
description: |-
Defines whether to allow re-using the operation id from a previously *closed* operation.
The default policy is NEXUS_OPERATION_ID_REUSE_POLICY_ALLOW_DUPLICATE.
format: enum
idConflictPolicy:
enum:
- NEXUS_OPERATION_ID_CONFLICT_POLICY_UNSPECIFIED
- NEXUS_OPERATION_ID_CONFLICT_POLICY_FAIL
- NEXUS_OPERATION_ID_CONFLICT_POLICY_USE_EXISTING
type: string
description: |-
Defines how to resolve an operation id conflict with a *running* operation.
The default policy is NEXUS_OPERATION_ID_CONFLICT_POLICY_FAIL.
format: enum
searchAttributes:
allOf:
- $ref: '#/components/schemas/SearchAttributes'
description: Search attributes for indexing.
nexusHeader:
type: object
additionalProperties:
type: string
description: |-
Header to attach to the Nexus request.
Users are responsible for encrypting sensitive data in this header as it is stored in workflow history and
transmitted to external services as-is.
This is useful for propagating tracing information.
Note these headers are not the same as Temporal headers on internal activities and child workflows, these are
transmitted to Nexus operations that may be external and are not traditional payloads.
userMetadata:
allOf:
- $ref: '#/components/schemas/UserMetadata'
description: Metadata for use by user interfaces to display the fixed as-of-start summary and details of the operation.
StartNexusOperationExecutionResponse:
type: object
properties:
runId:
type: string
description: The run ID of the operation that was started - or used (via NEXUS_OPERATION_ID_CONFLICT_POLICY_USE_EXISTING).
started:
type: boolean
description: If true, a new operation was started.
StartWorkflowExecutionRequest:
type: object
properties:
namespace:
type: string
workflowId:
type: string
workflowType:
$ref: '#/components/schemas/WorkflowType'
taskQueue:
$ref: '#/components/schemas/TaskQueue'
input:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Serialized arguments to the workflow. These are passed as arguments to the workflow function.
workflowExecutionTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Total workflow execution timeout including retries and continue as new.
workflowRunTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Timeout of a single workflow run.
workflowTaskTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Timeout of a single workflow task.
identity:
type: string
description: The identity of the client who initiated this request
requestId:
type: string
description: A unique identifier for this start request. Typically UUIDv4.
workflowIdReusePolicy:
enum:
- WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED
- WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE
- WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY
- WORKFLOW_ID_REUSE_POLICY_REJECT_DUPLICATE
- WORKFLOW_ID_REUSE_POLICY_TERMINATE_IF_RUNNING
type: string
description: |-
Defines whether to allow re-using the workflow id from a previously *closed* workflow.
The default policy is WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.
See `workflow_id_conflict_policy` for handling a workflow id duplication with a *running* workflow.
format: enum
workflowIdConflictPolicy:
enum:
- WORKFLOW_ID_CONFLICT_POLICY_UNSPECIFIED
- WORKFLOW_ID_CONFLICT_POLICY_FAIL
- WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING
- WORKFLOW_ID_CONFLICT_POLICY_TERMINATE_EXISTING
type: string
description: |-
Defines how to resolve a workflow id conflict with a *running* workflow.
The default policy is WORKFLOW_ID_CONFLICT_POLICY_FAIL.
See `workflow_id_reuse_policy` for handling a workflow id duplication with a *closed* workflow.
format: enum
retryPolicy:
allOf:
- $ref: '#/components/schemas/RetryPolicy'
description: The retry policy for the workflow. Will never exceed `workflow_execution_timeout`.
cronSchedule:
type: string
description: See https://docs.temporal.io/docs/content/what-is-a-temporal-cron-job/
memo:
$ref: '#/components/schemas/Memo'
searchAttributes:
$ref: '#/components/schemas/SearchAttributes'
header:
$ref: '#/components/schemas/Header'
requestEagerExecution:
type: boolean
description: |-
Request to get the first workflow task inline in the response bypassing matching service and worker polling.
If set to `true` the caller is expected to have a worker available and capable of processing the task.
The returned task will be marked as started and is expected to be completed by the specified
`workflow_task_timeout`.
continuedFailure:
allOf:
- $ref: '#/components/schemas/Failure'
description: |-
These values will be available as ContinuedFailure and LastCompletionResult in the
WorkflowExecutionStarted event and through SDKs. The are currently only used by the
server itself (for the schedules feature) and are not intended to be exposed in
StartWorkflowExecution.
lastCompletionResult:
$ref: '#/components/schemas/Payloads'
workflowStartDelay:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Time to wait before dispatching the first workflow task. Cannot be used with `cron_schedule`.
If the workflow gets a signal before the delay, a workflow task will be dispatched and the rest
of the delay will be ignored.
completionCallbacks:
type: array
items:
$ref: '#/components/schemas/Callback'
description: |-
Callbacks to be called by the server when this workflow reaches a terminal state.
If the workflow continues-as-new, these callbacks will be carried over to the new execution.
Callback addresses must be whitelisted in the server's dynamic configuration.
userMetadata:
allOf:
- $ref: '#/components/schemas/UserMetadata'
description: |-
Metadata on the workflow if it is started. This is carried over to the WorkflowExecutionInfo
for use by user interfaces to display the fixed as-of-start summary and details of the
workflow.
links:
type: array
items:
$ref: '#/components/schemas/Link'
description: Links to be associated with the workflow.
versioningOverride:
allOf:
- $ref: '#/components/schemas/VersioningOverride'
description: |-
If set, takes precedence over the Versioning Behavior sent by the SDK on Workflow Task completion.
To unset the override after the workflow is running, use UpdateWorkflowExecutionOptions.
onConflictOptions:
allOf:
- $ref: '#/components/schemas/OnConflictOptions'
description: |-
Defines actions to be done to the existing running workflow when the conflict policy
WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING is used. If not set (ie., nil value) or set to a
empty object (ie., all options with default value), it won't do anything to the existing
running workflow. If set, it will add a history event to the running workflow.
priority:
allOf:
- $ref: '#/components/schemas/Priority'
description: Priority metadata
eagerWorkerDeploymentOptions:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentOptions'
description: Deployment Options of the worker who will process the eager task. Passed when `request_eager_execution=true`.
timeSkippingConfig:
allOf:
- $ref: '#/components/schemas/TimeSkippingConfig'
description: Time-skipping configuration. If not set, time skipping is disabled.
StartWorkflowExecutionResponse:
type: object
properties:
runId:
type: string
description: The run id of the workflow that was started - or used (via WorkflowIdConflictPolicy USE_EXISTING).
started:
type: boolean
description: If true, a new workflow was started.
status:
enum:
- WORKFLOW_EXECUTION_STATUS_UNSPECIFIED
- WORKFLOW_EXECUTION_STATUS_RUNNING
- WORKFLOW_EXECUTION_STATUS_COMPLETED
- WORKFLOW_EXECUTION_STATUS_FAILED
- WORKFLOW_EXECUTION_STATUS_CANCELED
- WORKFLOW_EXECUTION_STATUS_TERMINATED
- WORKFLOW_EXECUTION_STATUS_CONTINUED_AS_NEW
- WORKFLOW_EXECUTION_STATUS_TIMED_OUT
- WORKFLOW_EXECUTION_STATUS_PAUSED
type: string
description: |-
Current execution status of the workflow. Typically remains WORKFLOW_EXECUTION_STATUS_RUNNING
unless a de-dupe occurs or in specific scenarios handled within the ExecuteMultiOperation (refer to its docs).
format: enum
eagerWorkflowTask:
allOf:
- $ref: '#/components/schemas/PollWorkflowTaskQueueResponse'
description: |-
When `request_eager_execution` is set on the `StartWorkflowExecutionRequest`, the server - if supported - will
return the first workflow task to be eagerly executed.
The caller is expected to have a worker available to process the task.
link:
allOf:
- $ref: '#/components/schemas/Link'
description: Link to the workflow event.
Status:
type: object
properties:
code:
type: integer
description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
format: int32
message:
type: string
description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
details:
type: array
items:
$ref: '#/components/schemas/GoogleProtobufAny'
description: A list of messages that carry the error details. There is a common set of message types for APIs to use.
description: 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'
StopBatchOperationRequest:
type: object
properties:
namespace:
type: string
description: Namespace that contains the batch operation
jobId:
type: string
description: Batch job id
reason:
type: string
description: Reason to stop a batch operation
identity:
type: string
description: Identity of the operator
StopBatchOperationResponse:
type: object
properties: {}
StorageDriverInfo:
type: object
properties:
type:
type: string
description: The type of the driver, required.
StructuredCalendarSpec:
type: object
properties:
second:
type: array
items:
$ref: '#/components/schemas/Range'
description: Match seconds (0-59)
minute:
type: array
items:
$ref: '#/components/schemas/Range'
description: Match minutes (0-59)
hour:
type: array
items:
$ref: '#/components/schemas/Range'
description: Match hours (0-23)
dayOfMonth:
type: array
items:
$ref: '#/components/schemas/Range'
description: |-
Match days of the month (1-31)
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: standard name of field --)
month:
type: array
items:
$ref: '#/components/schemas/Range'
description: Match months (1-12)
year:
type: array
items:
$ref: '#/components/schemas/Range'
description: Match years.
dayOfWeek:
type: array
items:
$ref: '#/components/schemas/Range'
description: Match days of the week (0-6; 0 is Sunday).
comment:
type: string
description: Free-form comment describing the intention of this spec.
description: |-
StructuredCalendarSpec describes an event specification relative to the
calendar, in a form that's easy to work with programmatically. Each field can
be one or more ranges.
A timestamp matches if at least one range of each field matches the
corresponding fields of the timestamp, except for year: if year is missing,
that means all years match. For all fields besides year, at least one Range
must be present to match anything.
Relative expressions such as "last day of the month" or "third Monday" are not currently
representable; callers must enumerate the concrete days they require.
TaskIdBlock:
type: object
properties:
startId:
type: string
endId:
type: string
TaskQueue:
type: object
properties:
name:
type: string
kind:
enum:
- TASK_QUEUE_KIND_UNSPECIFIED
- TASK_QUEUE_KIND_NORMAL
- TASK_QUEUE_KIND_STICKY
- TASK_QUEUE_KIND_WORKER_COMMANDS
type: string
description: 'Default: TASK_QUEUE_KIND_NORMAL.'
format: enum
normalName:
type: string
description: |-
Iff kind == TASK_QUEUE_KIND_STICKY, then this field contains the name of
the normal task queue that the sticky worker is running on.
description: See https://docs.temporal.io/docs/concepts/task-queues/
TaskQueueConfig:
type: object
properties:
queueRateLimit:
allOf:
- $ref: '#/components/schemas/RateLimitConfig'
description: Unless modified, this is the system-defined rate limit.
fairnessKeysRateLimitDefault:
allOf:
- $ref: '#/components/schemas/RateLimitConfig'
description: If set, each individual fairness key will be limited to this rate, scaled by the weight of the fairness key.
fairnessWeightOverrides:
type: object
additionalProperties:
type: number
format: float
description: If set, overrides the fairness weights for the corresponding fairness keys.
TaskQueueReachability:
type: object
properties:
taskQueue:
type: string
reachability:
type: array
items:
enum:
- TASK_REACHABILITY_UNSPECIFIED
- TASK_REACHABILITY_NEW_WORKFLOWS
- TASK_REACHABILITY_EXISTING_WORKFLOWS
- TASK_REACHABILITY_OPEN_WORKFLOWS
- TASK_REACHABILITY_CLOSED_WORKFLOWS
type: string
format: enum
description: |-
Task reachability for a worker in a single task queue.
See the TaskReachability docstring for information about each enum variant.
If reachability is empty, this worker is considered unreachable in this task queue.
description: Reachability of tasks for a worker on a single task queue.
TaskQueueStats:
type: object
properties:
approximateBacklogCount:
type: string
description: |-
The approximate number of tasks backlogged in this task queue. May count expired tasks but eventually
converges to the right value. Can be relied upon for scaling decisions.
Special note for workflow task queue type: this metric does not count sticky queue tasks. However, because
those tasks only remain valid for a few seconds, the inaccuracy becomes less significant as the backlog size
grows.
approximateBacklogAge:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Approximate age of the oldest task in the backlog based on the creation time of the task at the head of
the queue. Can be relied upon for scaling decisions.
Special note for workflow task queue type: this metric does not count sticky queue tasks. However, because
those tasks only remain valid for a few seconds, they should not affect the result when backlog is older than
few seconds.
tasksAddRate:
type: number
description: |-
The approximate tasks per second added to the task queue, averaging the last 30 seconds. These includes tasks
whether or not they were added to/dispatched from the backlog or they were dispatched immediately without going
to the backlog (sync-matched).
The difference between `tasks_add_rate` and `tasks_dispatch_rate` is a reliable metric for the rate at which
backlog grows/shrinks.
Note: the actual tasks delivered to the workers may significantly be higher than the numbers reported by
tasks_add_rate, because:
- Tasks can be sent to workers without going to the task queue. This is called Eager dispatch. Eager dispatch is
enable for activities by default in the latest SDKs.
- Tasks going to Sticky queue are not accounted for. Note that, typically, only the first workflow task of each
workflow goes to a normal queue, and the rest workflow tasks go to the Sticky queue associated with a specific
worker instance.
format: float
tasksDispatchRate:
type: number
description: |-
The approximate tasks per second dispatched from the task queue, averaging the last 30 seconds. These includes
tasks whether or not they were added to/dispatched from the backlog or they were dispatched immediately without
going to the backlog (sync-matched).
The difference between `tasks_add_rate` and `tasks_dispatch_rate` is a reliable metric for the rate at which
backlog grows/shrinks.
Note: the actual tasks delivered to the workers may significantly be higher than the numbers reported by
tasks_dispatch_rate, because:
- Tasks can be sent to workers without going to the task queue. This is called Eager dispatch. Eager dispatch is
enable for activities by default in the latest SDKs.
- Tasks going to Sticky queue are not accounted for. Note that, typically, only the first workflow task of each
workflow goes to a normal queue, and the rest workflow tasks go to the Sticky queue associated with a specific
worker instance.
format: float
description: |-
TaskQueueStats contains statistics about task queue backlog and activity.
For workflow task queue type, this result is partial because tasks sent to sticky queues are not included. Read
comments above each metric to understand the impact of sticky queue exclusion on that metric accuracy.
TaskQueueStatus:
type: object
properties:
backlogCountHint:
type: string
readLevel:
type: string
ackLevel:
type: string
ratePerSecond:
type: number
format: double
taskIdBlock:
$ref: '#/components/schemas/TaskIdBlock'
description: Deprecated. Use `InternalTaskQueueStatus`. This is kept until `DescribeTaskQueue` supports legacy behavior.
TaskQueueTypeInfo:
type: object
properties:
pollers:
type: array
items:
$ref: '#/components/schemas/PollerInfo'
description: Unversioned workers (with `useVersioning=false`) are reported in unversioned result even if they set a Build ID.
stats:
$ref: '#/components/schemas/TaskQueueStats'
TaskQueueVersionInfo:
type: object
properties:
typesInfo:
type: object
additionalProperties:
$ref: '#/components/schemas/TaskQueueTypeInfo'
description: Task Queue info per Task Type. Key is the numerical value of the temporal.api.enums.v1.TaskQueueType enum.
taskReachability:
enum:
- BUILD_ID_TASK_REACHABILITY_UNSPECIFIED
- BUILD_ID_TASK_REACHABILITY_REACHABLE
- BUILD_ID_TASK_REACHABILITY_CLOSED_WORKFLOWS_ONLY
- BUILD_ID_TASK_REACHABILITY_UNREACHABLE
type: string
description: |-
Task Reachability is eventually consistent; there may be a delay until it converges to the most
accurate value but it is designed in a way to take the more conservative side until it converges.
For example REACHABLE is more conservative than CLOSED_WORKFLOWS_ONLY.
Note: future activities who inherit their workflow's Build ID but not its Task Queue will not be
accounted for reachability as server cannot know if they'll happen as they do not use
assignment rules of their Task Queue. Same goes for Child Workflows or Continue-As-New Workflows
who inherit the parent/previous workflow's Build ID but not its Task Queue. In those cases, make
sure to query reachability for the parent/previous workflow's Task Queue as well.
format: enum
TaskQueueVersioningInfo:
type: object
properties:
currentDeploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: |-
Specifies which Deployment Version should receive new workflow executions and tasks of
existing unversioned or AutoUpgrade workflows.
Nil value represents all the unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.)
Note: Current Version is overridden by the Ramping Version for a portion of traffic when ramp percentage
is non-zero (see `ramping_deployment_version` and `ramping_version_percentage`).
currentVersion:
type: string
description: Deprecated. Use `current_deployment_version`.
rampingDeploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: |-
When ramp percentage is non-zero, that portion of traffic is shifted from the Current Version to the Ramping Version.
Must always be different from `current_deployment_version` unless both are nil.
Nil value represents all the unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.)
Note that it is possible to ramp from one Version to another Version, or from unversioned
workers to a particular Version, or from a particular Version to unversioned workers.
rampingVersion:
type: string
description: Deprecated. Use `ramping_deployment_version`.
rampingVersionPercentage:
type: number
description: |-
Percentage of tasks that are routed to the Ramping Version instead of the Current Version.
Valid range: [0, 100]. A 100% value means the Ramping Version is receiving full traffic but
not yet "promoted" to be the Current Version, likely due to pending validations.
A 0% value means the Ramping Version is receiving no traffic.
format: float
updateTime:
type: string
description: Last time versioning information of this Task Queue changed.
format: date-time
TerminateActivityExecutionRequest:
type: object
properties:
namespace:
type: string
activityId:
type: string
runId:
type: string
description: Activity run ID, targets the latest run if run_id is empty.
identity:
type: string
description: The identity of the worker/client.
requestId:
type: string
description: Used to de-dupe termination requests.
reason:
type: string
description: Reason for requesting the termination, recorded in in the activity's result failure outcome.
TerminateActivityExecutionResponse:
type: object
properties: {}
TerminateNexusOperationExecutionRequest:
type: object
properties:
namespace:
type: string
operationId:
type: string
runId:
type: string
description: Operation run ID, targets the latest run if empty.
identity:
type: string
description: The identity of the client who initiated this request.
requestId:
type: string
description: Used to de-dupe termination requests.
reason:
type: string
description: Reason for requesting the termination, recorded in the operation's result failure outcome.
TerminateNexusOperationExecutionResponse:
type: object
properties: {}
TerminateWorkflowExecutionRequest:
type: object
properties:
namespace:
type: string
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
reason:
type: string
details:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Serialized additional information to attach to the termination event
identity:
type: string
description: The identity of the worker/client
firstExecutionRunId:
type: string
description: |-
If set, this call will error if the most recent (if no run id is set on
`workflow_execution`), or specified (if it is) workflow execution is not part of the same
execution chain as this id.
links:
type: array
items:
$ref: '#/components/schemas/Link'
description: Links to be associated with the WorkflowExecutionTerminated event.
TerminateWorkflowExecutionResponse:
type: object
properties: {}
TerminatedFailureInfo:
type: object
properties:
identity:
type: string
description: The identity of the worker or client that requested the termination.
TimeSkippingConfig:
type: object
properties:
enabled:
type: boolean
description: Enables or disables time skipping for this workflow execution.
maxSkippedDuration:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Maximum total virtual time that can be skipped.
maxElapsedDuration:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Maximum elapsed time since time skipping was enabled.
This includes both skipped time and real time elapsing.
description: "Configuration for time skipping during a workflow execution.\n When enabled, virtual time advances automatically whenever there is no in-flight work.\n In-flight work includes activities, child workflows, Nexus operations, signal/cancel external workflow operations,\n and possibly other features added in the future.\n User timers are not classified as in-flight work and will be skipped over.\n When time advances, it skips to the earlier of the next user timer or the configured bound, if either exists.\n \n Propagation behavior of time skipping:\n The enabled flag, bound fields, and accumulated skipped duration are propagated to related executions as follows:\n (1) Child workflows and continue-as-new: both the configuration and the accumulated skipped duration are\n inherited from the current execution. The configured bound is shared between the inherited skipped\n duration and any additional duration skipped by the new run.\n (2) Retry and cron: the configuration and accumulated skipped duration are inherited as recorded when the\n current workflow started; the accumulated skipped duration of the current run is not propagated.\n (3) Reset: the new run retains the time-skipping configuration of the current execution. Because reset replays\n all events up to the reset point and re-applies any UpdateWorkflowExecutionOptions changes made after that\n point, the resulting run ends up with the same final time-skipping configuration as the previous run."
TimeoutFailureInfo:
type: object
properties:
timeoutType:
enum:
- TIMEOUT_TYPE_UNSPECIFIED
- TIMEOUT_TYPE_START_TO_CLOSE
- TIMEOUT_TYPE_SCHEDULE_TO_START
- TIMEOUT_TYPE_SCHEDULE_TO_CLOSE
- TIMEOUT_TYPE_HEARTBEAT
type: string
format: enum
lastHeartbeatDetails:
$ref: '#/components/schemas/Payloads'
TimerCanceledEventAttributes:
type: object
properties:
timerId:
type: string
description: Will match the `timer_id` from `TIMER_STARTED` event for this timer
startedEventId:
type: string
description: The id of the `TIMER_STARTED` event itself
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
identity:
type: string
description: The id of the worker who requested this cancel
TimerFiredEventAttributes:
type: object
properties:
timerId:
type: string
description: Will match the `timer_id` from `TIMER_STARTED` event for this timer
startedEventId:
type: string
description: The id of the `TIMER_STARTED` event itself
TimerStartedEventAttributes:
type: object
properties:
timerId:
type: string
description: The worker/user assigned id for this timer
startToFireTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
How long until this timer fires
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
TimestampedBuildIdAssignmentRule:
type: object
properties:
rule:
$ref: '#/components/schemas/BuildIdAssignmentRule'
createTime:
type: string
format: date-time
TimestampedCompatibleBuildIdRedirectRule:
type: object
properties:
rule:
$ref: '#/components/schemas/CompatibleBuildIdRedirectRule'
createTime:
type: string
format: date-time
TriggerImmediatelyRequest:
type: object
properties:
overlapPolicy:
enum:
- SCHEDULE_OVERLAP_POLICY_UNSPECIFIED
- SCHEDULE_OVERLAP_POLICY_SKIP
- SCHEDULE_OVERLAP_POLICY_BUFFER_ONE
- SCHEDULE_OVERLAP_POLICY_BUFFER_ALL
- SCHEDULE_OVERLAP_POLICY_CANCEL_OTHER
- SCHEDULE_OVERLAP_POLICY_TERMINATE_OTHER
- SCHEDULE_OVERLAP_POLICY_ALLOW_ALL
type: string
description: If set, override overlap policy for this one request.
format: enum
scheduledTime:
type: string
description: |-
Timestamp used for the identity of the target workflow.
If not set the default value is the current time.
format: date-time
TriggerWorkflowRuleRequest:
type: object
properties:
namespace:
type: string
execution:
allOf:
- $ref: '#/components/schemas/WorkflowExecution'
description: Execution info of the workflow which scheduled this activity
id:
type: string
spec:
allOf:
- $ref: '#/components/schemas/WorkflowRuleSpec'
description: 'Note: Rule ID and expiration date are not used in the trigger request.'
identity:
type: string
description: The identity of the client who initiated this request
TriggerWorkflowRuleResponse:
type: object
properties:
applied:
type: boolean
description: True is the rule was applied, based on the rule conditions (predicate/visibility_query).
UnpauseActivityRequest:
type: object
properties:
namespace:
type: string
description: Namespace of the workflow which scheduled this activity.
execution:
allOf:
- $ref: '#/components/schemas/WorkflowExecution'
description: Execution info of the workflow which scheduled this activity
identity:
type: string
description: The identity of the client who initiated this request.
id:
type: string
description: Only the activity with this ID will be unpaused.
type:
type: string
description: Unpause all running activities with of this type.
unpauseAll:
type: boolean
description: Unpause all running activities.
resetAttempts:
type: boolean
description: Providing this flag will also reset the number of attempts.
resetHeartbeat:
type: boolean
description: Providing this flag will also reset the heartbeat details.
jitter:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: If set, the activity will start at a random time within the specified jitter duration.
UnpauseActivityResponse:
type: object
properties: {}
UnpauseWorkflowExecutionRequest:
type: object
properties:
namespace:
type: string
description: Namespace of the workflow to unpause.
workflowId:
type: string
description: ID of the workflow execution to be paused. Required.
runId:
type: string
description: Run ID of the workflow execution to be paused. Optional. If not provided, the current run of the workflow will be paused.
identity:
type: string
description: The identity of the client who initiated this request.
reason:
type: string
description: Reason to unpause the workflow execution.
requestId:
type: string
description: A unique identifier for this unpause request for idempotence. Typically UUIDv4.
UnpauseWorkflowExecutionResponse:
type: object
properties: {}
description: Response to a successful UnpauseWorkflowExecution request.
UpdateActivityOptionsRequest:
type: object
properties:
namespace:
type: string
description: Namespace of the workflow which scheduled this activity
execution:
allOf:
- $ref: '#/components/schemas/WorkflowExecution'
description: Execution info of the workflow which scheduled this activity
identity:
type: string
description: The identity of the client who initiated this request
activityOptions:
allOf:
- $ref: '#/components/schemas/ActivityOptions'
description: Activity options. Partial updates are accepted and controlled by update_mask
updateMask:
type: string
description: Controls which fields from `activity_options` will be applied
format: field-mask
id:
type: string
description: Only activity with this ID will be updated.
type:
type: string
description: Update all running activities of this type.
matchAll:
type: boolean
description: Update all running activities.
restoreOriginal:
type: boolean
description: |-
If set, the activity options will be restored to the default.
Default options are then options activity was created with.
They are part of the first SCHEDULE event.
This flag cannot be combined with any other option; if you supply
restore_original together with other options, the request will be rejected.
description: 'NOTE: keep in sync with temporal.api.batch.v1.BatchOperationUpdateActivityOptions'
UpdateActivityOptionsResponse:
type: object
properties:
activityOptions:
allOf:
- $ref: '#/components/schemas/ActivityOptions'
description: Activity options after an update
UpdateDeploymentMetadata:
type: object
properties:
upsertEntries:
type: object
additionalProperties:
$ref: '#/components/schemas/Payload'
removeEntries:
type: array
items:
type: string
description: List of keys to remove from the metadata.
description: |-
Used as part of Deployment write APIs to update metadata attached to a deployment.
Deprecated.
UpdateNamespaceInfo:
type: object
properties:
description:
type: string
ownerEmail:
type: string
data:
type: object
additionalProperties:
type: string
description: |-
A key-value map for any customized purpose.
If data already exists on the namespace,
this will merge with the existing key values.
state:
enum:
- NAMESPACE_STATE_UNSPECIFIED
- NAMESPACE_STATE_REGISTERED
- NAMESPACE_STATE_DEPRECATED
- NAMESPACE_STATE_DELETED
type: string
description: |-
New namespace state, server will reject if transition is not allowed.
Allowed transitions are:
Registered -> [ Deleted | Deprecated | Handover ]
Handover -> [ Registered ]
Default is NAMESPACE_STATE_UNSPECIFIED which is do not change state.
format: enum
UpdateNamespaceRequest:
type: object
properties:
namespace:
type: string
updateInfo:
$ref: '#/components/schemas/UpdateNamespaceInfo'
config:
$ref: '#/components/schemas/NamespaceConfig'
replicationConfig:
$ref: '#/components/schemas/NamespaceReplicationConfig'
securityToken:
type: string
deleteBadBinary:
type: string
promoteNamespace:
type: boolean
description: promote local namespace to global namespace. Ignored if namespace is already global namespace.
UpdateNamespaceResponse:
type: object
properties:
namespaceInfo:
$ref: '#/components/schemas/NamespaceInfo'
config:
$ref: '#/components/schemas/NamespaceConfig'
replicationConfig:
$ref: '#/components/schemas/NamespaceReplicationConfig'
failoverVersion:
type: string
isGlobalNamespace:
type: boolean
UpdateNexusEndpointRequest:
type: object
properties:
id:
type: string
description: Server-generated unique endpoint ID.
version:
type: string
description: Data version for this endpoint. Must match current version.
spec:
$ref: '#/components/schemas/EndpointSpec'
UpdateNexusEndpointResponse:
type: object
properties:
endpoint:
allOf:
- $ref: '#/components/schemas/Endpoint'
description: Data post acceptance. Can be used to issue additional updates to this record.
UpdateRef:
type: object
properties:
workflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
updateId:
type: string
description: The data needed by a client to refer to a previously invoked Workflow Update.
UpdateScheduleRequest:
type: object
properties:
namespace:
type: string
description: The namespace of the schedule to update.
scheduleId:
type: string
description: The id of the schedule to update.
schedule:
allOf:
- $ref: '#/components/schemas/Schedule'
description: |-
The new schedule. The four main fields of the schedule (spec, action,
policies, state) are replaced completely by the values in this message.
conflictToken:
type: string
description: |-
This can be the value of conflict_token from a DescribeScheduleResponse,
which will cause this request to fail if the schedule has been modified
between the Describe and this Update.
If missing, the schedule will be updated unconditionally.
format: bytes
identity:
type: string
description: The identity of the client who initiated this request.
requestId:
type: string
description: A unique identifier for this update request for idempotence. Typically UUIDv4.
searchAttributes:
allOf:
- $ref: '#/components/schemas/SearchAttributes'
description: |-
Schedule search attributes to be updated.
Do not set this field if you do not want to update the search attributes.
A non-null empty object will set the search attributes to an empty map.
Note: you cannot only update the search attributes with `UpdateScheduleRequest`,
you must also set the `schedule` field; otherwise, it will unset the schedule.
memo:
allOf:
- $ref: '#/components/schemas/Memo'
description: |-
Schedule memo to replace. If set, replaces the entire memo.
Do not set this field if you do not want to update the memo.
A non-null empty object will clear the memo.
UpdateScheduleResponse:
type: object
properties: {}
UpdateTaskQueueConfigRequest:
type: object
properties:
namespace:
type: string
identity:
type: string
taskQueue:
type: string
description: Selects the task queue to update.
taskQueueType:
enum:
- TASK_QUEUE_TYPE_UNSPECIFIED
- TASK_QUEUE_TYPE_WORKFLOW
- TASK_QUEUE_TYPE_ACTIVITY
- TASK_QUEUE_TYPE_NEXUS
type: string
format: enum
updateQueueRateLimit:
allOf:
- $ref: '#/components/schemas/UpdateTaskQueueConfigRequest_RateLimitUpdate'
description: |-
Update to queue-wide rate limit.
If not set, this configuration is unchanged.
NOTE: A limit set by the worker is overriden; and restored again when reset.
If the `rate_limit` field in the `RateLimitUpdate` is missing, remove the existing rate limit.
updateFairnessKeyRateLimitDefault:
allOf:
- $ref: '#/components/schemas/UpdateTaskQueueConfigRequest_RateLimitUpdate'
description: |-
Update to the default fairness key rate limit.
If not set, this configuration is unchanged.
If the `rate_limit` field in the `RateLimitUpdate` is missing, remove the existing rate limit.
setFairnessWeightOverrides:
type: object
additionalProperties:
type: number
format: float
description: |-
If set, overrides the fairness weight for each specified fairness key.
Fairness keys not listed in this map will keep their existing overrides (if any).
unsetFairnessWeightOverrides:
type: array
items:
type: string
description: |-
If set, removes any existing fairness weight overrides for each specified fairness key.
Fairness weights for corresponding keys fall back to the values set during task creation (if any),
or to the default weight of 1.0.
UpdateTaskQueueConfigRequest_RateLimitUpdate:
type: object
properties:
rateLimit:
allOf:
- $ref: '#/components/schemas/RateLimit'
description: Rate Limit to be updated
reason:
type: string
description: Reason for why the rate limit was set.
UpdateTaskQueueConfigResponse:
type: object
properties:
config:
$ref: '#/components/schemas/TaskQueueConfig'
UpdateWorkerConfigRequest:
type: object
properties:
namespace:
type: string
description: Namespace this worker belongs to.
identity:
type: string
description: The identity of the client who initiated this request.
reason:
type: string
description: Reason for sending worker command, can be used for audit purpose.
workerConfig:
allOf:
- $ref: '#/components/schemas/WorkerConfig'
description: |-
Partial updates are accepted and controlled by update_mask.
The worker configuration to set.
updateMask:
type: string
description: Controls which fields from `worker_config` will be applied
format: field-mask
selector:
allOf:
- $ref: '#/components/schemas/WorkerSelector'
description: Defines which workers should receive this command.
resourceId:
type: string
description: Resource ID for routing. Contains the worker grouping key.
UpdateWorkerConfigResponse:
type: object
properties:
workerConfig:
allOf:
- $ref: '#/components/schemas/WorkerConfig'
description: The worker configuration. Will be returned if the command was sent to a single worker.
UpdateWorkerDeploymentVersionComputeConfigRequest:
type: object
properties:
namespace:
type: string
deploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: Required.
computeConfigScalingGroups:
type: object
additionalProperties:
$ref: '#/components/schemas/ComputeConfigScalingGroupUpdate'
description: |-
Optional. Contains the compute config scaling groups to add or update for the Worker
Deployment.
removeComputeConfigScalingGroups:
type: array
items:
type: string
description: Optional. Contains the compute config scaling groups to remove from the Worker Deployment.
identity:
type: string
description: Optional. The identity of the client who initiated this request.
requestId:
type: string
description: |-
A unique identifier for this create request for idempotence. Typically UUIDv4.
If a second request with the same ID is recieved, it is considered a successful no-op.
Retrying with a different request ID for the same deployment name + build ID is an error.
description: Used to update the compute config of a Worker Deployment Version.
UpdateWorkerDeploymentVersionComputeConfigResponse:
type: object
properties: {}
UpdateWorkerDeploymentVersionMetadataRequest:
type: object
properties:
namespace:
type: string
version:
type: string
description: Deprecated. Use `deployment_version`.
deploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: Required.
upsertEntries:
type: object
additionalProperties:
$ref: '#/components/schemas/Payload'
removeEntries:
type: array
items:
type: string
description: List of keys to remove from the metadata.
identity:
type: string
description: Optional. The identity of the client who initiated this request.
description: Used to update the user-defined metadata of a Worker Deployment Version.
UpdateWorkerDeploymentVersionMetadataResponse:
type: object
properties:
metadata:
allOf:
- $ref: '#/components/schemas/VersionMetadata'
description: Full metadata after performing the update.
UpdateWorkflowExecutionOptionsRequest:
type: object
properties:
namespace:
type: string
description: The namespace name of the target Workflow.
workflowExecution:
allOf:
- $ref: '#/components/schemas/WorkflowExecution'
description: |-
The target Workflow Id and (optionally) a specific Run Id thereof.
(-- api-linter: core::0203::optional=disabled
aip.dev/not-precedent: false positive triggered by the word "optional" --)
workflowExecutionOptions:
allOf:
- $ref: '#/components/schemas/WorkflowExecutionOptions'
description: Workflow Execution options. Partial updates are accepted and controlled by update_mask.
updateMask:
type: string
description: |-
Controls which fields from `workflow_execution_options` will be applied.
To unset a field, set it to null and use the update mask to indicate that it should be mutated.
format: field-mask
identity:
type: string
description: Optional. The identity of the client who initiated this request.
description: |-
Keep the parameters in sync with:
- temporal.api.batch.v1.BatchOperationUpdateWorkflowExecutionOptions.
- temporal.api.workflow.v1.PostResetOperation.UpdateWorkflowOptions.
UpdateWorkflowExecutionOptionsResponse:
type: object
properties:
workflowExecutionOptions:
allOf:
- $ref: '#/components/schemas/WorkflowExecutionOptions'
description: Workflow Execution options after update.
UpdateWorkflowExecutionRequest:
type: object
properties:
namespace:
type: string
description: The namespace name of the target Workflow.
workflowExecution:
allOf:
- $ref: '#/components/schemas/WorkflowExecution'
description: |-
The target Workflow Id and (optionally) a specific Run Id thereof.
(-- api-linter: core::0203::optional=disabled
aip.dev/not-precedent: false positive triggered by the word "optional" --)
firstExecutionRunId:
type: string
description: |-
If set, this call will error if the most recent (if no Run Id is set on
`workflow_execution`), or specified (if it is) Workflow Execution is not
part of the same execution chain as this Id.
waitPolicy:
allOf:
- $ref: '#/components/schemas/WaitPolicy'
description: |-
Specifies client's intent to wait for Update results.
NOTE: This field works together with API call timeout which is limited by
server timeout (maximum wait time). If server timeout is expired before
user specified timeout, API call returns even if specified stage is not reached.
Actual reached stage will be included in the response.
request:
allOf:
- $ref: '#/components/schemas/Request'
description: |-
The request information that will be delivered all the way down to the
Workflow Execution.
description: |-
(-- api-linter: core::0134=disabled
aip.dev/not-precedent: Update RPCs don't follow Google API format. --)
UpdateWorkflowExecutionResponse:
type: object
properties:
updateRef:
allOf:
- $ref: '#/components/schemas/UpdateRef'
description: Enough information for subsequent poll calls if needed. Never null.
outcome:
allOf:
- $ref: '#/components/schemas/Outcome'
description: |-
The outcome of the Update if and only if the Workflow Update
has completed. If this response is being returned before the Update has
completed then this field will not be set.
stage:
enum:
- UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_UNSPECIFIED
- UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ADMITTED
- UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ACCEPTED
- UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED
type: string
description: |-
The most advanced lifecycle stage that the Update is known to have
reached, where lifecycle stages are ordered
UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_UNSPECIFIED <
UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ADMITTED <
UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ACCEPTED <
UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED.
UNSPECIFIED will be returned if and only if the server's maximum wait
time was reached before the Update reached the stage specified in the
request WaitPolicy, and before the context deadline expired; clients may
may then retry the call as needed.
format: enum
UpsertWorkflowSearchAttributesEventAttributes:
type: object
properties:
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
searchAttributes:
$ref: '#/components/schemas/SearchAttributes'
UserMetadata:
type: object
properties:
summary:
allOf:
- $ref: '#/components/schemas/Payload'
description: |-
Short-form text that provides a summary. This payload should be a "json/plain"-encoded payload
that is a single JSON string for use in user interfaces. User interface formatting may not
apply to this text when used in "title" situations. The payload data section is limited to 400
bytes by default.
details:
allOf:
- $ref: '#/components/schemas/Payload'
description: |-
Long-form text that provides details. This payload should be a "json/plain"-encoded payload
that is a single JSON string for use in user interfaces. User interface formatting may apply to
this text in common use. The payload data section is limited to 20000 bytes by default.
description: Information a user can set, often for use by user interfaces.
ValidateWorkerDeploymentVersionComputeConfigRequest:
type: object
properties:
namespace:
type: string
deploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: Required.
computeConfigScalingGroups:
type: object
additionalProperties:
$ref: '#/components/schemas/ComputeConfigScalingGroupUpdate'
description: |-
Optional. Contains the compute config scaling groups to add or update for the Worker
Deployment.
removeComputeConfigScalingGroups:
type: array
items:
type: string
description: Optional. Contains the compute config scaling groups to remove from the Worker Deployment.
identity:
type: string
description: Optional. The identity of the client who initiated this request.
description: Used to validate the compute config without attaching it to a Worker Deployment Version.
ValidateWorkerDeploymentVersionComputeConfigResponse:
type: object
properties: {}
VersionDrainageInfo:
type: object
properties:
status:
enum:
- VERSION_DRAINAGE_STATUS_UNSPECIFIED
- VERSION_DRAINAGE_STATUS_DRAINING
- VERSION_DRAINAGE_STATUS_DRAINED
type: string
description: |-
Set to DRAINING when the version first stops accepting new executions (is no longer current or ramping).
Set to DRAINED when no more open pinned workflows exist on this version.
format: enum
lastChangedTime:
type: string
description: Last time the drainage status changed.
format: date-time
lastCheckedTime:
type: string
description: Last time the system checked for drainage of this version.
format: date-time
description: |-
Information about workflow drainage to help the user determine when it is safe
to decommission a Version. Not present while version is current or ramping.
VersionInfo:
type: object
properties:
current:
$ref: '#/components/schemas/ReleaseInfo'
recommended:
$ref: '#/components/schemas/ReleaseInfo'
instructions:
type: string
alerts:
type: array
items:
$ref: '#/components/schemas/Alert'
lastUpdateTime:
type: string
format: date-time
description: VersionInfo contains details about current and recommended release versions as well as alerts and upgrade instructions.
VersionMetadata:
type: object
properties:
entries:
type: object
additionalProperties:
$ref: '#/components/schemas/Payload'
description: Arbitrary key-values.
VersioningOverride:
type: object
properties:
pinned:
allOf:
- $ref: '#/components/schemas/VersioningOverride_PinnedOverride'
description: Override the workflow to have Pinned behavior.
autoUpgrade:
type: boolean
description: Override the workflow to have AutoUpgrade behavior.
behavior:
enum:
- VERSIONING_BEHAVIOR_UNSPECIFIED
- VERSIONING_BEHAVIOR_PINNED
- VERSIONING_BEHAVIOR_AUTO_UPGRADE
type: string
description: |-
Required.
Deprecated. Use `override`.
format: enum
deployment:
allOf:
- $ref: '#/components/schemas/Deployment'
description: |-
Required if behavior is `PINNED`. Must be null if behavior is `AUTO_UPGRADE`.
Identifies the worker deployment to pin the workflow to.
Deprecated. Use `override.pinned.version`.
pinnedVersion:
type: string
description: |-
Required if behavior is `PINNED`. Must be absent if behavior is not `PINNED`.
Identifies the worker deployment version to pin the workflow to, in the format
"<deployment_name>.<build_id>".
Deprecated. Use `override.pinned.version`.
description: |-
Used to override the versioning behavior (and pinned deployment version, if applicable) of a
specific workflow execution. If set, this override takes precedence over worker-sent values.
See `WorkflowExecutionInfo.VersioningInfo` for more information.
To remove the override, call `UpdateWorkflowExecutionOptions` with a null
`VersioningOverride`, and use the `update_mask` to indicate that it should be mutated.
Pinned behavior overrides are automatically inherited by child workflows, workflow retries, continue-as-new
workflows, and cron workflows.
VersioningOverride_PinnedOverride:
type: object
properties:
behavior:
enum:
- PINNED_OVERRIDE_BEHAVIOR_UNSPECIFIED
- PINNED_OVERRIDE_BEHAVIOR_PINNED
type: string
description: |-
Defaults to PINNED_OVERRIDE_BEHAVIOR_UNSPECIFIED.
See `PinnedOverrideBehavior` for details.
format: enum
version:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: |-
Specifies the Worker Deployment Version to pin this workflow to.
Required if the target workflow is not already pinned to a version.
If omitted and the target workflow is already pinned, the effective
pinned version will be the existing pinned version.
If omitted and the target workflow is not pinned, the override request
will be rejected with a PreconditionFailed error.
WaitPolicy:
type: object
properties:
lifecycleStage:
enum:
- UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_UNSPECIFIED
- UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ADMITTED
- UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ACCEPTED
- UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED
type: string
description: |-
Indicates the Update lifecycle stage that the Update must reach before
API call is returned.
NOTE: This field works together with API call timeout which is limited by
server timeout (maximum wait time). If server timeout is expired before
user specified timeout, API call returns even if specified stage is not reached.
format: enum
description: Specifies client's intent to wait for Update results.
WorkerConfig:
type: object
properties:
workflowCacheSize:
type: integer
format: int32
simplePollerBehavior:
$ref: '#/components/schemas/WorkerConfig_SimplePollerBehavior'
autoscalingPollerBehavior:
$ref: '#/components/schemas/WorkerConfig_AutoscalingPollerBehavior'
WorkerConfig_AutoscalingPollerBehavior:
type: object
properties:
minPollers:
type: integer
description: |-
At least this many poll calls will always be attempted (assuming slots are available).
Cannot be zero.
format: int32
maxPollers:
type: integer
description: At most this many poll calls will ever be open at once. Must be >= `minimum`.
format: int32
initialPollers:
type: integer
description: |-
This many polls will be attempted initially before scaling kicks in. Must be between
`minimum` and `maximum`.
format: int32
WorkerConfig_SimplePollerBehavior:
type: object
properties:
maxPollers:
type: integer
format: int32
WorkerDeploymentInfo:
type: object
properties:
name:
type: string
description: Identifies a Worker Deployment. Must be unique within the namespace.
versionSummaries:
type: array
items:
$ref: '#/components/schemas/WorkerDeploymentInfo_WorkerDeploymentVersionSummary'
description: |-
Deployment Versions that are currently tracked in this Deployment. A DeploymentVersion will be
cleaned up automatically if all the following conditions meet:
- It does not receive new executions (is not current or ramping)
- It has no active pollers (see WorkerDeploymentVersionInfo.pollers_status)
- It is drained (see WorkerDeploymentVersionInfo.drainage_status)
createTime:
type: string
format: date-time
routingConfig:
$ref: '#/components/schemas/RoutingConfig'
lastModifierIdentity:
type: string
description: |-
Identity of the last client who modified the configuration of this Deployment. Set to the
`identity` value sent by APIs such as `SetWorkerDeploymentCurrentVersion` and
`SetWorkerDeploymentRampingVersion`.
managerIdentity:
type: string
description: |-
Identity of the client that has the exclusive right to make changes to this Worker Deployment.
Empty by default.
If this is set, clients whose identity does not match `manager_identity` will not be able to make changes
to this Worker Deployment. They can either set their own identity as the manager or unset the field to proceed.
routingConfigUpdateState:
enum:
- ROUTING_CONFIG_UPDATE_STATE_UNSPECIFIED
- ROUTING_CONFIG_UPDATE_STATE_IN_PROGRESS
- ROUTING_CONFIG_UPDATE_STATE_COMPLETED
type: string
description: |-
Indicates whether the routing_config has been fully propagated to all
relevant task queues and their partitions.
format: enum
description: |-
A Worker Deployment (Deployment, for short) represents all workers serving
a shared set of Task Queues. Typically, a Deployment represents one service or
application.
A Deployment contains multiple Deployment Versions, each representing a different
version of workers. (see documentation of WorkerDeploymentVersionInfo)
Deployment records are created in Temporal server automatically when their
first poller arrives to the server.
WorkerDeploymentInfo_WorkerDeploymentVersionSummary:
type: object
properties:
version:
type: string
description: Deprecated. Use `deployment_version`.
status:
enum:
- WORKER_DEPLOYMENT_VERSION_STATUS_UNSPECIFIED
- WORKER_DEPLOYMENT_VERSION_STATUS_INACTIVE
- WORKER_DEPLOYMENT_VERSION_STATUS_CURRENT
- WORKER_DEPLOYMENT_VERSION_STATUS_RAMPING
- WORKER_DEPLOYMENT_VERSION_STATUS_DRAINING
- WORKER_DEPLOYMENT_VERSION_STATUS_DRAINED
- WORKER_DEPLOYMENT_VERSION_STATUS_CREATED
type: string
description: The status of the Worker Deployment Version.
format: enum
deploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: Required.
createTime:
type: string
format: date-time
drainageStatus:
enum:
- VERSION_DRAINAGE_STATUS_UNSPECIFIED
- VERSION_DRAINAGE_STATUS_DRAINING
- VERSION_DRAINAGE_STATUS_DRAINED
type: string
description: Deprecated. Use `drainage_info` instead.
format: enum
drainageInfo:
allOf:
- $ref: '#/components/schemas/VersionDrainageInfo'
description: |-
Information about workflow drainage to help the user determine when it is safe
to decommission a Version. Not present while version is current or ramping
currentSinceTime:
type: string
description: |-
Unset if not current.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --)
format: date-time
rampingSinceTime:
type: string
description: |-
Unset if not ramping. Updated when the version first starts ramping, not on each ramp change.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --)
format: date-time
routingUpdateTime:
type: string
description: Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed.
format: date-time
firstActivationTime:
type: string
description: Timestamp when this version first became current or ramping.
format: date-time
lastCurrentTime:
type: string
description: |-
Timestamp when this version last became current.
Can be used to determine whether a version has ever been Current.
format: date-time
lastDeactivationTime:
type: string
description: |-
Timestamp when this version last stopped being current or ramping.
Cleared if the version becomes current or ramping again.
format: date-time
computeConfig:
$ref: '#/components/schemas/ComputeConfigSummary'
WorkerDeploymentOptions:
type: object
properties:
deploymentName:
type: string
description: Required when `worker_versioning_mode==VERSIONED`.
buildId:
type: string
description: |-
The Build ID of the worker. Required when `worker_versioning_mode==VERSIONED`, in which case,
the worker will be part of a Deployment Version.
workerVersioningMode:
enum:
- WORKER_VERSIONING_MODE_UNSPECIFIED
- WORKER_VERSIONING_MODE_UNVERSIONED
- WORKER_VERSIONING_MODE_VERSIONED
type: string
description: |-
Required. Versioning Mode for this worker. Must be the same for all workers with the
same `deployment_name` and `build_id` combination, across all Task Queues.
When `worker_versioning_mode==VERSIONED`, the worker will be part of a Deployment Version.
format: enum
description: Worker Deployment options set in SDK that need to be sent to server in every poll.
WorkerDeploymentVersion:
type: object
properties:
buildId:
type: string
description: |-
A unique identifier for this Version within the Deployment it is a part of.
Not necessarily unique within the namespace.
The combination of `deployment_name` and `build_id` uniquely identifies this
Version within the namespace, because Deployment names are unique within a namespace.
deploymentName:
type: string
description: Identifies the Worker Deployment this Version is part of.
description: |-
A Worker Deployment Version (Version, for short) represents a
version of workers within a Worker Deployment. (see documentation of WorkerDeploymentVersionInfo)
Version records are created in Temporal server automatically when their
first poller arrives to the server.
Experimental. Worker Deployment Versions are experimental and might significantly change in the future.
WorkerDeploymentVersionInfo:
type: object
properties:
version:
type: string
description: Deprecated. Use `deployment_version`.
status:
enum:
- WORKER_DEPLOYMENT_VERSION_STATUS_UNSPECIFIED
- WORKER_DEPLOYMENT_VERSION_STATUS_INACTIVE
- WORKER_DEPLOYMENT_VERSION_STATUS_CURRENT
- WORKER_DEPLOYMENT_VERSION_STATUS_RAMPING
- WORKER_DEPLOYMENT_VERSION_STATUS_DRAINING
- WORKER_DEPLOYMENT_VERSION_STATUS_DRAINED
- WORKER_DEPLOYMENT_VERSION_STATUS_CREATED
type: string
description: The status of the Worker Deployment Version.
format: enum
deploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: Required.
deploymentName:
type: string
description: Deprecated. User deployment_version.deployment_name.
createTime:
type: string
format: date-time
routingChangedTime:
type: string
description: Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed.
format: date-time
currentSinceTime:
type: string
description: |-
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --)
Unset if not current.
format: date-time
rampingSinceTime:
type: string
description: |-
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --)
Unset if not ramping. Updated when the version first starts ramping, not on each ramp change.
format: date-time
firstActivationTime:
type: string
description: Timestamp when this version first became current or ramping.
format: date-time
lastCurrentTime:
type: string
description: |-
Timestamp when this version last became current.
Can be used to determine whether a version has ever been Current.
format: date-time
lastDeactivationTime:
type: string
description: |-
Timestamp when this version last stopped being current or ramping.
Cleared if the version becomes current or ramping again.
format: date-time
rampPercentage:
type: number
description: |-
Range: [0, 100]. Must be zero if the version is not ramping (i.e. `ramping_since_time` is nil).
Can be in the range [0, 100] if the version is ramping.
format: float
taskQueueInfos:
type: array
items:
$ref: '#/components/schemas/WorkerDeploymentVersionInfo_VersionTaskQueueInfo'
description: |-
All the Task Queues that have ever polled from this Deployment version.
Deprecated. Use `version_task_queues` in DescribeWorkerDeploymentVersionResponse instead.
drainageInfo:
allOf:
- $ref: '#/components/schemas/VersionDrainageInfo'
description: |-
Helps user determine when it is safe to decommission the workers of this
Version. Not present when version is current or ramping.
Current limitations:
- Not supported for Unversioned mode.
- Periodically refreshed, may have delays up to few minutes (consult the
last_checked_time value).
- Refreshed only when version is not current or ramping AND the status is not
"drained" yet.
- Once the status is changed to "drained", it is not changed until the Version
becomes Current or Ramping again, at which time the drainage info is cleared.
This means if the Version is "drained" but new workflows are sent to it via
Pinned Versioning Override, the status does not account for those Pinned-override
executions and remains "drained".
metadata:
allOf:
- $ref: '#/components/schemas/VersionMetadata'
description: Arbitrary user-provided metadata attached to this version.
computeConfig:
allOf:
- $ref: '#/components/schemas/ComputeConfig'
description: |-
Optional. Contains the new worker compute configuration for the Worker
Deployment. Used for worker scale management.
lastModifierIdentity:
type: string
description: |-
Identity of the last client who modified the configuration of this Version.
As of now, this field only covers changes through the following APIs:
- `CreateWorkerDeploymentVersion`
- `UpdateWorkerDeploymentVersionComputeConfig`
- `UpdateWorkerDeploymentVersionMetadata`
description: |-
A Worker Deployment Version (Version, for short) represents all workers of the same
code and config within a Deployment. Workers of the same Version are expected to
behave exactly the same so when executions move between them there are no
non-determinism issues.
Worker Deployment Versions are created in Temporal server automatically when
their first poller arrives to the server.
WorkerDeploymentVersionInfo_VersionTaskQueueInfo:
type: object
properties:
name:
type: string
type:
enum:
- TASK_QUEUE_TYPE_UNSPECIFIED
- TASK_QUEUE_TYPE_WORKFLOW
- TASK_QUEUE_TYPE_ACTIVITY
- TASK_QUEUE_TYPE_NEXUS
type: string
format: enum
WorkerHeartbeat:
type: object
properties:
workerInstanceKey:
type: string
description: |-
Worker identifier, should be unique for the namespace.
It is distinct from worker identity, which is not necessarily namespace-unique.
workerIdentity:
type: string
description: |-
Worker identity, set by the client, may not be unique.
Usually host_name+(user group name)+process_id, but can be overwritten by the user.
hostInfo:
allOf:
- $ref: '#/components/schemas/WorkerHostInfo'
description: Worker host information.
taskQueue:
type: string
description: Task queue this worker is polling for tasks.
deploymentVersion:
$ref: '#/components/schemas/WorkerDeploymentVersion'
sdkName:
type: string
sdkVersion:
type: string
status:
enum:
- WORKER_STATUS_UNSPECIFIED
- WORKER_STATUS_RUNNING
- WORKER_STATUS_SHUTTING_DOWN
- WORKER_STATUS_SHUTDOWN
type: string
description: Worker status. Defined by SDK.
format: enum
startTime:
type: string
description: |-
Worker start time.
It can be used to determine worker uptime. (current time - start time)
format: date-time
heartbeatTime:
type: string
description: |-
Timestamp of this heartbeat, coming from the worker. Worker should set it to "now".
Note that this timestamp comes directly from the worker and is subject to workers' clock skew.
format: date-time
elapsedSinceLastHeartbeat:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Elapsed time since the last heartbeat from the worker.
workflowTaskSlotsInfo:
$ref: '#/components/schemas/WorkerSlotsInfo'
activityTaskSlotsInfo:
$ref: '#/components/schemas/WorkerSlotsInfo'
nexusTaskSlotsInfo:
$ref: '#/components/schemas/WorkerSlotsInfo'
localActivitySlotsInfo:
$ref: '#/components/schemas/WorkerSlotsInfo'
workflowPollerInfo:
$ref: '#/components/schemas/WorkerPollerInfo'
workflowStickyPollerInfo:
$ref: '#/components/schemas/WorkerPollerInfo'
activityPollerInfo:
$ref: '#/components/schemas/WorkerPollerInfo'
nexusPollerInfo:
$ref: '#/components/schemas/WorkerPollerInfo'
totalStickyCacheHit:
type: integer
description: A Workflow Task found a cached Workflow Execution to run against.
format: int32
totalStickyCacheMiss:
type: integer
description: A Workflow Task did not find a cached Workflow execution to run against.
format: int32
currentStickyCacheSize:
type: integer
description: Current cache size, expressed in number of Workflow Executions.
format: int32
plugins:
type: array
items:
$ref: '#/components/schemas/PluginInfo'
description: Plugins currently in use by this SDK.
drivers:
type: array
items:
$ref: '#/components/schemas/StorageDriverInfo'
description: Storage drivers in use by this SDK.
description: |-
Worker info message, contains information about the worker and its current state.
All information is provided by the worker itself.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: Removing those words make names less clear. --)
WorkerHostInfo:
type: object
properties:
hostName:
type: string
description: Worker host identifier.
workerGroupingKey:
type: string
description: |-
Worker grouping identifier. A key to group workers that share the same client+namespace+process.
This will be used to build the worker command nexus task queue name:
"temporal-sys/worker-commands/{worker_grouping_key}"
processId:
type: string
description: |-
Worker process identifier. This id only needs to be unique
within one host (so using e.g. a unix pid would be appropriate).
currentHostCpuUsage:
type: number
description: |-
System used CPU as a float in the range [0.0, 1.0] where 1.0 is defined as all
cores on the host pegged.
format: float
currentHostMemUsage:
type: number
description: |-
System used memory as a float in the range [0.0, 1.0] where 1.0 is defined as
all available memory on the host is used.
format: float
description: Holds everything needed to identify the worker host/process context
WorkerInfo:
type: object
properties:
workerHeartbeat:
$ref: '#/components/schemas/WorkerHeartbeat'
description: Detailed worker information.
WorkerListInfo:
type: object
properties:
workerInstanceKey:
type: string
description: |-
Worker identifier, should be unique for the namespace.
It is distinct from worker identity, which is not necessarily namespace-unique.
workerIdentity:
type: string
description: |-
Worker identity, set by the client, may not be unique.
Usually host_name+(user group name)+process_id, but can be overwritten by the user.
taskQueue:
type: string
description: Task queue this worker is polling for tasks.
deploymentVersion:
$ref: '#/components/schemas/WorkerDeploymentVersion'
sdkName:
type: string
sdkVersion:
type: string
status:
enum:
- WORKER_STATUS_UNSPECIFIED
- WORKER_STATUS_RUNNING
- WORKER_STATUS_SHUTTING_DOWN
- WORKER_STATUS_SHUTDOWN
type: string
description: Worker status. Defined by SDK.
format: enum
startTime:
type: string
description: |-
Worker start time.
It can be used to determine worker uptime. (current time - start time)
format: date-time
hostName:
type: string
description: Worker host identifier.
workerGroupingKey:
type: string
description: |-
Worker grouping identifier. A key to group workers that share the same client+namespace+process.
This will be used to build the worker command nexus task queue name:
"temporal-sys/worker-commands/{worker_grouping_key}"
processId:
type: string
description: |-
Worker process identifier. This id only needs to be unique
within one host (so using e.g. a unix pid would be appropriate).
plugins:
type: array
items:
$ref: '#/components/schemas/PluginInfo'
description: Plugins currently in use by this SDK.
drivers:
type: array
items:
$ref: '#/components/schemas/StorageDriverInfo'
description: Storage drivers in use by this SDK.
description: |-
Limited worker information returned in the list response.
When adding fields here, ensure that it is also added to WorkerInfo (as it carries the full worker information).
WorkerPollerInfo:
type: object
properties:
currentPollers:
type: integer
description: Number of polling RPCs that are currently in flight.
format: int32
lastSuccessfulPollTime:
type: string
format: date-time
isAutoscaling:
type: boolean
description: Set true if the number of concurrent pollers is auto-scaled
WorkerSelector:
type: object
properties:
workerInstanceKey:
type: string
description: Worker instance key to which the command should be sent.
description: |-
This is used to send commands to a specific worker or a group of workers.
Right now, it is used to send commands to a specific worker instance.
Will be extended to be able to send command to multiple workers.
WorkerSlotsInfo:
type: object
properties:
currentAvailableSlots:
type: integer
description: |-
Number of slots available for the worker to specific tasks.
May be -1 if the upper bound is not known.
format: int32
currentUsedSlots:
type: integer
description: Number of slots used by the worker for specific tasks.
format: int32
slotSupplierKind:
type: string
description: |-
Kind of the slot supplier, which is used to determine how the slots are allocated.
Possible values: "Fixed | ResourceBased | Custom String"
totalProcessedTasks:
type: integer
description: |-
Total number of tasks processed (completed both successfully and unsuccesfully, or any other way)
by the worker since the worker started. This is a cumulative counter.
format: int32
totalFailedTasks:
type: integer
description: Total number of failed tasks processed by the worker so far.
format: int32
lastIntervalProcessedTasks:
type: integer
description: |-
Number of tasks processed in since the last heartbeat from the worker.
This is a cumulative counter, and it is reset to 0 each time the worker sends a heartbeat.
Contains both successful and failed tasks.
format: int32
lastIntervalFailureTasks:
type: integer
description: Number of failed tasks processed since the last heartbeat from the worker.
format: int32
WorkerVersionCapabilities:
type: object
properties:
buildId:
type: string
description: An opaque whole-worker identifier
useVersioning:
type: boolean
description: |-
If set, the worker is opting in to worker versioning, and wishes to only receive appropriate
tasks.
deploymentSeriesName:
type: string
description: Must be sent if user has set a deployment series name (versioning-3).
description: |-
Identifies the version that a worker is compatible with when polling or identifying itself,
and whether or not this worker is opting into the build-id based versioning feature. This is
used by matching to determine which workers ought to receive what tasks.
Deprecated. Use WorkerDeploymentOptions instead.
WorkerVersionStamp:
type: object
properties:
buildId:
type: string
description: |-
An opaque whole-worker identifier. Replaces the deprecated `binary_checksum` field when this
message is included in requests which previously used that.
useVersioning:
type: boolean
description: |-
If set, the worker is opting in to worker versioning. Otherwise, this is used only as a
marker for workflow reset points and the BuildIDs search attribute.
description: |-
Deprecated. This message is replaced with `Deployment` and `VersioningBehavior`.
Identifies the version(s) of a worker that processed a task
WorkflowEvent_EventReference:
type: object
properties:
eventId:
type: string
eventType:
enum:
- EVENT_TYPE_UNSPECIFIED
- EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
- EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
- EVENT_TYPE_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT
- EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
- EVENT_TYPE_WORKFLOW_TASK_STARTED
- EVENT_TYPE_WORKFLOW_TASK_COMPLETED
- EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT
- EVENT_TYPE_WORKFLOW_TASK_FAILED
- EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
- EVENT_TYPE_ACTIVITY_TASK_STARTED
- EVENT_TYPE_ACTIVITY_TASK_COMPLETED
- EVENT_TYPE_ACTIVITY_TASK_FAILED
- EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT
- EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED
- EVENT_TYPE_ACTIVITY_TASK_CANCELED
- EVENT_TYPE_TIMER_STARTED
- EVENT_TYPE_TIMER_FIRED
- EVENT_TYPE_TIMER_CANCELED
- EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED
- EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED
- EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED
- EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_CANCEL_REQUESTED
- EVENT_TYPE_MARKER_RECORDED
- EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
- EVENT_TYPE_WORKFLOW_EXECUTION_TERMINATED
- EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW
- EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED
- EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_COMPLETED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_CANCELED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TIMED_OUT
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TERMINATED
- EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED
- EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED
- EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ADMITTED
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ACCEPTED
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_REJECTED
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_COMPLETED
- EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED_EXTERNALLY
- EVENT_TYPE_ACTIVITY_PROPERTIES_MODIFIED_EXTERNALLY
- EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED
- EVENT_TYPE_NEXUS_OPERATION_SCHEDULED
- EVENT_TYPE_NEXUS_OPERATION_STARTED
- EVENT_TYPE_NEXUS_OPERATION_COMPLETED
- EVENT_TYPE_NEXUS_OPERATION_FAILED
- EVENT_TYPE_NEXUS_OPERATION_CANCELED
- EVENT_TYPE_NEXUS_OPERATION_TIMED_OUT
- EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUESTED
- EVENT_TYPE_WORKFLOW_EXECUTION_OPTIONS_UPDATED
- EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUEST_COMPLETED
- EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUEST_FAILED
- EVENT_TYPE_WORKFLOW_EXECUTION_PAUSED
- EVENT_TYPE_WORKFLOW_EXECUTION_UNPAUSED
- EVENT_TYPE_WORKFLOW_EXECUTION_TIME_SKIPPING_TRANSITIONED
type: string
format: enum
description: EventReference is a direct reference to a history event through the event ID.
WorkflowEvent_RequestIdReference:
type: object
properties:
requestId:
type: string
eventType:
enum:
- EVENT_TYPE_UNSPECIFIED
- EVENT_TYPE_WORKFLOW_EXECUTION_STARTED
- EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
- EVENT_TYPE_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT
- EVENT_TYPE_WORKFLOW_TASK_SCHEDULED
- EVENT_TYPE_WORKFLOW_TASK_STARTED
- EVENT_TYPE_WORKFLOW_TASK_COMPLETED
- EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT
- EVENT_TYPE_WORKFLOW_TASK_FAILED
- EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
- EVENT_TYPE_ACTIVITY_TASK_STARTED
- EVENT_TYPE_ACTIVITY_TASK_COMPLETED
- EVENT_TYPE_ACTIVITY_TASK_FAILED
- EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT
- EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED
- EVENT_TYPE_ACTIVITY_TASK_CANCELED
- EVENT_TYPE_TIMER_STARTED
- EVENT_TYPE_TIMER_FIRED
- EVENT_TYPE_TIMER_CANCELED
- EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED
- EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED
- EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED
- EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_CANCEL_REQUESTED
- EVENT_TYPE_MARKER_RECORDED
- EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED
- EVENT_TYPE_WORKFLOW_EXECUTION_TERMINATED
- EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW
- EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED
- EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_COMPLETED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_CANCELED
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TIMED_OUT
- EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TERMINATED
- EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED
- EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED
- EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED
- EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ADMITTED
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ACCEPTED
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_REJECTED
- EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_COMPLETED
- EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED_EXTERNALLY
- EVENT_TYPE_ACTIVITY_PROPERTIES_MODIFIED_EXTERNALLY
- EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED
- EVENT_TYPE_NEXUS_OPERATION_SCHEDULED
- EVENT_TYPE_NEXUS_OPERATION_STARTED
- EVENT_TYPE_NEXUS_OPERATION_COMPLETED
- EVENT_TYPE_NEXUS_OPERATION_FAILED
- EVENT_TYPE_NEXUS_OPERATION_CANCELED
- EVENT_TYPE_NEXUS_OPERATION_TIMED_OUT
- EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUESTED
- EVENT_TYPE_WORKFLOW_EXECUTION_OPTIONS_UPDATED
- EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUEST_COMPLETED
- EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUEST_FAILED
- EVENT_TYPE_WORKFLOW_EXECUTION_PAUSED
- EVENT_TYPE_WORKFLOW_EXECUTION_UNPAUSED
- EVENT_TYPE_WORKFLOW_EXECUTION_TIME_SKIPPING_TRANSITIONED
type: string
format: enum
description: RequestIdReference is a indirect reference to a history event through the request ID.
WorkflowExecution:
type: object
properties:
workflowId:
type: string
runId:
type: string
description: |-
Identifies a specific workflow within a namespace. Practically speaking, because run_id is a
uuid, a workflow execution is globally unique. Note that many commands allow specifying an empty
run id as a way of saying "target the latest run of the workflow".
WorkflowExecutionCancelRequestedEventAttributes:
type: object
properties:
cause:
type: string
description: User provided reason for requesting cancellation
externalInitiatedEventId:
type: string
description: |-
The ID of the `REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED` event in the external
workflow history when the cancellation was requested by another workflow.
externalWorkflowExecution:
$ref: '#/components/schemas/WorkflowExecution'
identity:
type: string
description: id of the worker or client who requested this cancel
WorkflowExecutionCanceledEventAttributes:
type: object
properties:
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
details:
$ref: '#/components/schemas/Payloads'
WorkflowExecutionCompletedEventAttributes:
type: object
properties:
result:
allOf:
- $ref: '#/components/schemas/Payloads'
description: 'Serialized result of workflow completion (ie: The return value of the workflow function)'
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
newExecutionRunId:
type: string
description: If another run is started by cron, this contains the new run id.
WorkflowExecutionConfig:
type: object
properties:
taskQueue:
$ref: '#/components/schemas/TaskQueue'
workflowExecutionTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
workflowRunTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
defaultWorkflowTaskTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
userMetadata:
allOf:
- $ref: '#/components/schemas/UserMetadata'
description: User metadata provided on start workflow.
WorkflowExecutionContinuedAsNewEventAttributes:
type: object
properties:
newExecutionRunId:
type: string
description: The run ID of the new workflow started by this continue-as-new
workflowType:
$ref: '#/components/schemas/WorkflowType'
taskQueue:
$ref: '#/components/schemas/TaskQueue'
input:
$ref: '#/components/schemas/Payloads'
workflowRunTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Timeout of a single workflow run.
workflowTaskTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Timeout of a single workflow task.
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
backoffStartInterval:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
How long the server will wait before scheduling the first workflow task for the new run.
Used for cron, retry, and other continue-as-new cases that server may enforce some minimal
delay between new runs for system protection purpose.
initiator:
enum:
- CONTINUE_AS_NEW_INITIATOR_UNSPECIFIED
- CONTINUE_AS_NEW_INITIATOR_WORKFLOW
- CONTINUE_AS_NEW_INITIATOR_RETRY
- CONTINUE_AS_NEW_INITIATOR_CRON_SCHEDULE
type: string
format: enum
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: |-
Deprecated. If a workflow's retry policy would cause a new run to start when the current one
has failed, this field would be populated with that failure. Now (when supported by server
and sdk) the final event will be `WORKFLOW_EXECUTION_FAILED` with `new_execution_run_id` set.
lastCompletionResult:
allOf:
- $ref: '#/components/schemas/Payloads'
description: |-
The result from the most recent completed run of this workflow. The SDK surfaces this to the
new run via APIs such as `GetLastCompletionResult`.
header:
$ref: '#/components/schemas/Header'
memo:
$ref: '#/components/schemas/Memo'
searchAttributes:
$ref: '#/components/schemas/SearchAttributes'
inheritBuildId:
type: boolean
description: |-
If this is set, the new execution inherits the Build ID of the current execution. Otherwise,
the assignment rules will be used to independently assign a Build ID to the new execution.
Deprecated. Only considered for versioning v0.2.
initialVersioningBehavior:
enum:
- CONTINUE_AS_NEW_VERSIONING_BEHAVIOR_UNSPECIFIED
- CONTINUE_AS_NEW_VERSIONING_BEHAVIOR_AUTO_UPGRADE
- CONTINUE_AS_NEW_VERSIONING_BEHAVIOR_USE_RAMPING_VERSION
type: string
description: |-
Experimental. Optionally decide the versioning behavior that the first task of the new run should use.
For example, choose to AutoUpgrade on continue-as-new instead of inheriting the pinned version
of the previous run.
format: enum
WorkflowExecutionExtendedInfo:
type: object
properties:
executionExpirationTime:
type: string
description: |-
Workflow execution expiration time is defined as workflow start time plus expiration timeout.
Workflow start time may change after workflow reset.
format: date-time
runExpirationTime:
type: string
description: Workflow run expiration time is defined as current workflow run start time plus workflow run timeout.
format: date-time
cancelRequested:
type: boolean
description: indicates if the workflow received a cancel request
lastResetTime:
type: string
description: Last workflow reset time. Nil if the workflow was never reset.
format: date-time
originalStartTime:
type: string
description: Original workflow start time.
format: date-time
resetRunId:
type: string
description: Reset Run ID points to the new run when this execution is reset. If the execution is reset multiple times, it points to the latest run.
requestIdInfos:
type: object
additionalProperties:
$ref: '#/components/schemas/RequestIdInfo'
description: |-
Request ID information (eg: history event information associated with the request ID).
Note: It only contains request IDs from StartWorkflowExecution requests, including indirect
calls (eg: if SignalWithStartWorkflowExecution starts a new workflow, then the request ID is
used in the StartWorkflowExecution request).
pauseInfo:
allOf:
- $ref: '#/components/schemas/WorkflowExecutionPauseInfo'
description: Information about the workflow execution pause operation.
description: Holds all the extra information about workflow execution that is not part of Visibility.
WorkflowExecutionFailedEventAttributes:
type: object
properties:
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: 'Serialized result of workflow failure (ex: An exception thrown, or error returned)'
retryState:
enum:
- RETRY_STATE_UNSPECIFIED
- RETRY_STATE_IN_PROGRESS
- RETRY_STATE_NON_RETRYABLE_FAILURE
- RETRY_STATE_TIMEOUT
- RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED
- RETRY_STATE_RETRY_POLICY_NOT_SET
- RETRY_STATE_INTERNAL_SERVER_ERROR
- RETRY_STATE_CANCEL_REQUESTED
type: string
format: enum
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
newExecutionRunId:
type: string
description: If another run is started by cron or retry, this contains the new run id.
WorkflowExecutionInfo:
type: object
properties:
execution:
$ref: '#/components/schemas/WorkflowExecution'
type:
$ref: '#/components/schemas/WorkflowType'
startTime:
type: string
format: date-time
closeTime:
type: string
format: date-time
status:
enum:
- WORKFLOW_EXECUTION_STATUS_UNSPECIFIED
- WORKFLOW_EXECUTION_STATUS_RUNNING
- WORKFLOW_EXECUTION_STATUS_COMPLETED
- WORKFLOW_EXECUTION_STATUS_FAILED
- WORKFLOW_EXECUTION_STATUS_CANCELED
- WORKFLOW_EXECUTION_STATUS_TERMINATED
- WORKFLOW_EXECUTION_STATUS_CONTINUED_AS_NEW
- WORKFLOW_EXECUTION_STATUS_TIMED_OUT
- WORKFLOW_EXECUTION_STATUS_PAUSED
type: string
format: enum
historyLength:
type: string
parentNamespaceId:
type: string
parentExecution:
$ref: '#/components/schemas/WorkflowExecution'
executionTime:
type: string
format: date-time
memo:
$ref: '#/components/schemas/Memo'
searchAttributes:
$ref: '#/components/schemas/SearchAttributes'
autoResetPoints:
$ref: '#/components/schemas/ResetPoints'
taskQueue:
type: string
stateTransitionCount:
type: string
historySizeBytes:
type: string
mostRecentWorkerVersionStamp:
allOf:
- $ref: '#/components/schemas/WorkerVersionStamp'
description: |-
If set, the most recent worker version stamp that appeared in a workflow task completion
Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
executionDuration:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
Workflow execution duration is defined as difference between close time and execution time.
This field is only populated if the workflow is closed.
rootExecution:
allOf:
- $ref: '#/components/schemas/WorkflowExecution'
description: |-
Contains information about the root workflow execution.
The root workflow execution is defined as follows:
1. A workflow without parent workflow is its own root workflow.
2. A workflow that has a parent workflow has the same root workflow as its parent workflow.
Note: workflows continued as new or reseted may or may not have parents, check examples below.
Examples:
Scenario 1: Workflow W1 starts child workflow W2, and W2 starts child workflow W3.
- The root workflow of all three workflows is W1.
Scenario 2: Workflow W1 starts child workflow W2, and W2 continued as new W3.
- The root workflow of all three workflows is W1.
Scenario 3: Workflow W1 continued as new W2.
- The root workflow of W1 is W1 and the root workflow of W2 is W2.
Scenario 4: Workflow W1 starts child workflow W2, and W2 is reseted, creating W3
- The root workflow of all three workflows is W1.
Scenario 5: Workflow W1 is reseted, creating W2.
- The root workflow of W1 is W1 and the root workflow of W2 is W2.
assignedBuildId:
type: string
description: |-
The currently assigned build ID for this execution. Presence of this value means worker versioning is used
for this execution. Assigned build ID is selected based on Worker Versioning Assignment Rules
when the first workflow task of the execution is scheduled. If the first workflow task fails and is scheduled
again, the assigned build ID may change according to the latest versioning rules.
Assigned build ID can also change in the middle of a execution if Compatible Redirect Rules are applied to
this execution.
Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
inheritedBuildId:
type: string
description: |-
Build ID inherited from a previous/parent execution. If present, assigned_build_id will be set to this, instead
of using the assignment rules.
Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
firstRunId:
type: string
description: |-
The first run ID in the execution chain.
Executions created via the following operations are considered to be in the same chain
- ContinueAsNew
- Workflow Retry
- Workflow Reset
- Cron Schedule
versioningInfo:
allOf:
- $ref: '#/components/schemas/WorkflowExecutionVersioningInfo'
description: |-
Absent value means the workflow execution is not versioned. When present, the execution might
be versioned or unversioned, depending on `versioning_info.behavior` and `versioning_info.versioning_override`.
Experimental. Versioning info is experimental and might change in the future.
workerDeploymentName:
type: string
description: The name of Worker Deployment that completed the most recent workflow task.
priority:
allOf:
- $ref: '#/components/schemas/Priority'
description: Priority metadata
externalPayloadSizeBytes:
type: string
description: Total size in bytes of all external payloads referenced in workflow history.
externalPayloadCount:
type: string
description: Count of external payloads referenced in workflow history.
description: |-
Hold basic information about a workflow execution.
This structure is a part of visibility, and thus contain a limited subset of information.
WorkflowExecutionOptions:
type: object
properties:
versioningOverride:
allOf:
- $ref: '#/components/schemas/VersioningOverride'
description: If set, takes precedence over the Versioning Behavior sent by the SDK on Workflow Task completion.
priority:
allOf:
- $ref: '#/components/schemas/Priority'
description: If set, overrides the workflow's priority sent by the SDK.
timeSkippingConfig:
allOf:
- $ref: '#/components/schemas/TimeSkippingConfig'
description: |-
Time-skipping configuration for this workflow execution.
If not set, the time-skipping configuration is not updated by this request;
the existing configuration is preserved.
WorkflowExecutionOptionsUpdatedEventAttributes:
type: object
properties:
versioningOverride:
allOf:
- $ref: '#/components/schemas/VersioningOverride'
description: |-
Versioning override upserted in this event.
Ignored if nil or if unset_versioning_override is true.
unsetVersioningOverride:
type: boolean
description: Versioning override removed in this event.
attachedRequestId:
type: string
description: |-
Request ID attached to the running workflow execution so that subsequent requests with same
request ID will be deduped.
attachedCompletionCallbacks:
type: array
items:
$ref: '#/components/schemas/Callback'
description: Completion callbacks attached to the running workflow execution.
identity:
type: string
description: Optional. The identity of the client who initiated the request that created this event.
priority:
allOf:
- $ref: '#/components/schemas/Priority'
description: |-
Priority override upserted in this event. Represents the full priority; not just partial fields.
Ignored if nil.
timeSkippingConfig:
allOf:
- $ref: '#/components/schemas/TimeSkippingConfig'
description: If set, the time-skipping configuration was changed. Contains the full updated configuration.
WorkflowExecutionPauseInfo:
type: object
properties:
identity:
type: string
description: The identity of the client who paused the workflow execution.
pausedTime:
type: string
description: The time when the workflow execution was paused.
format: date-time
reason:
type: string
description: The reason for pausing the workflow execution.
description: WorkflowExecutionPauseInfo contains the information about a workflow execution pause.
WorkflowExecutionPausedEventAttributes:
type: object
properties:
identity:
type: string
description: The identity of the client who paused the workflow execution.
reason:
type: string
description: The reason for pausing the workflow execution.
requestId:
type: string
description: The request ID of the request that paused the workflow execution.
description: Attributes for an event marking that a workflow execution was paused.
WorkflowExecutionSignaledEventAttributes:
type: object
properties:
signalName:
type: string
description: The name/type of the signal to fire
input:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Will be deserialized and provided as argument(s) to the signal handler
identity:
type: string
description: id of the worker/client who sent this signal
header:
allOf:
- $ref: '#/components/schemas/Header'
description: |-
Headers that were passed by the sender of the signal and copied by temporal
server into the workflow task.
skipGenerateWorkflowTask:
type: boolean
description: Deprecated. This field is never respected and should always be set to false.
externalWorkflowExecution:
allOf:
- $ref: '#/components/schemas/WorkflowExecution'
description: When signal origin is a workflow execution, this field is set.
requestId:
type: string
description: |-
The request ID of the Signal request, used by the server to attach this to
the correct Event ID when generating link.
WorkflowExecutionStartedEventAttributes:
type: object
properties:
workflowType:
$ref: '#/components/schemas/WorkflowType'
parentWorkflowNamespace:
type: string
description: |-
If this workflow is a child, the namespace our parent lives in.
SDKs and UI tools should use `parent_workflow_namespace` field but server must use `parent_workflow_namespace_id` only.
parentWorkflowNamespaceId:
type: string
parentWorkflowExecution:
allOf:
- $ref: '#/components/schemas/WorkflowExecution'
description: |-
Contains information about parent workflow execution that initiated the child workflow these attributes belong to.
If the workflow these attributes belong to is not a child workflow of any other execution, this field will not be populated.
parentInitiatedEventId:
type: string
description: EventID of the child execution initiated event in parent workflow
taskQueue:
$ref: '#/components/schemas/TaskQueue'
input:
allOf:
- $ref: '#/components/schemas/Payloads'
description: SDK will deserialize this and provide it as arguments to the workflow function
workflowExecutionTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Total workflow execution timeout including retries and continue as new.
workflowRunTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Timeout of a single workflow run.
workflowTaskTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Timeout of a single workflow task.
continuedExecutionRunId:
type: string
description: |-
Run id of the previous workflow which continued-as-new or retried or cron executed into this
workflow.
initiator:
enum:
- CONTINUE_AS_NEW_INITIATOR_UNSPECIFIED
- CONTINUE_AS_NEW_INITIATOR_WORKFLOW
- CONTINUE_AS_NEW_INITIATOR_RETRY
- CONTINUE_AS_NEW_INITIATOR_CRON_SCHEDULE
type: string
format: enum
continuedFailure:
$ref: '#/components/schemas/Failure'
lastCompletionResult:
$ref: '#/components/schemas/Payloads'
originalExecutionRunId:
type: string
description: |-
This is the run id when the WorkflowExecutionStarted event was written.
A workflow reset changes the execution run_id, but preserves this field.
identity:
type: string
description: Identity of the client who requested this execution
firstExecutionRunId:
type: string
description: |-
This is the very first runId along the chain of ContinueAsNew, Retry, Cron and Reset.
Used to identify a chain.
retryPolicy:
$ref: '#/components/schemas/RetryPolicy'
attempt:
type: integer
description: Starting at 1, the number of times we have tried to execute this workflow
format: int32
workflowExecutionExpirationTime:
type: string
description: |-
The absolute time at which the workflow will be timed out.
This is passed without change to the next run/retry of a workflow.
format: date-time
cronSchedule:
type: string
description: If this workflow runs on a cron schedule, it will appear here
firstWorkflowTaskBackoff:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
For a cron workflow, this contains the amount of time between when this iteration of
the cron workflow was scheduled and when it should run next per its cron_schedule.
memo:
$ref: '#/components/schemas/Memo'
searchAttributes:
$ref: '#/components/schemas/SearchAttributes'
prevAutoResetPoints:
$ref: '#/components/schemas/ResetPoints'
header:
$ref: '#/components/schemas/Header'
parentInitiatedEventVersion:
type: string
description: |-
Version of the child execution initiated event in parent workflow
It should be used together with parent_initiated_event_id to identify
a child initiated event for global namespace
workflowId:
type: string
description: This field is new in 1.21.
sourceVersionStamp:
allOf:
- $ref: '#/components/schemas/WorkerVersionStamp'
description: |-
If this workflow intends to use anything other than the current overall default version for
the queue, then we include it here.
Deprecated. [cleanup-experimental-wv]
completionCallbacks:
type: array
items:
$ref: '#/components/schemas/Callback'
description: Completion callbacks attached when this workflow was started.
rootWorkflowExecution:
allOf:
- $ref: '#/components/schemas/WorkflowExecution'
description: |-
Contains information about the root workflow execution.
The root workflow execution is defined as follows:
1. A workflow without parent workflow is its own root workflow.
2. A workflow that has a parent workflow has the same root workflow as its parent workflow.
When the workflow is its own root workflow, then root_workflow_execution is nil.
Note: workflows continued as new or reseted may or may not have parents, check examples below.
Examples:
Scenario 1: Workflow W1 starts child workflow W2, and W2 starts child workflow W3.
- The root workflow of all three workflows is W1.
- W1 has root_workflow_execution set to nil.
- W2 and W3 have root_workflow_execution set to W1.
Scenario 2: Workflow W1 starts child workflow W2, and W2 continued as new W3.
- The root workflow of all three workflows is W1.
- W1 has root_workflow_execution set to nil.
- W2 and W3 have root_workflow_execution set to W1.
Scenario 3: Workflow W1 continued as new W2.
- The root workflow of W1 is W1 and the root workflow of W2 is W2.
- W1 and W2 have root_workflow_execution set to nil.
Scenario 4: Workflow W1 starts child workflow W2, and W2 is reseted, creating W3
- The root workflow of all three workflows is W1.
- W1 has root_workflow_execution set to nil.
- W2 and W3 have root_workflow_execution set to W1.
Scenario 5: Workflow W1 is reseted, creating W2.
- The root workflow of W1 is W1 and the root workflow of W2 is W2.
- W1 and W2 have root_workflow_execution set to nil.
inheritedBuildId:
type: string
description: |-
When present, this execution is assigned to the build ID of its parent or previous execution.
Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
versioningOverride:
allOf:
- $ref: '#/components/schemas/VersioningOverride'
description: |-
Versioning override applied to this workflow when it was started.
Children, crons, retries, and continue-as-new will inherit source run's override if pinned
and if the new workflow's Task Queue belongs to the override version.
parentPinnedWorkerDeploymentVersion:
type: string
description: |-
When present, it means this is a child workflow of a parent that is Pinned to this Worker
Deployment Version. In this case, child workflow will start as Pinned to this Version instead
of starting on the Current Version of its Task Queue.
This is set only if the child workflow is starting on a Task Queue belonging to the same
Worker Deployment Version.
Deprecated. Use `parent_versioning_info`.
priority:
allOf:
- $ref: '#/components/schemas/Priority'
description: Priority metadata
inheritedPinnedVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: |-
If present, the new workflow should start on this version with pinned base behavior.
Child of pinned parent will inherit the parent's version if the Child's Task Queue belongs to that version.
A new run initiated by workflow ContinueAsNew of pinned run, will inherit the previous run's version if the
new run's Task Queue belongs to that version.
A new run initiated by workflow Cron will never inherit.
A new run initiated by workflow Retry will only inherit if the retried run is effectively pinned at the time
of retry, and the retried run inherited a pinned version when it started (ie. it is a child of a pinned
parent, or a CaN of a pinned run, and is running on a Task Queue in the inherited version).
Pinned override is inherited if Task Queue of new run is compatible with the override version.
Override is inherited separately and takes precedence over inherited base version.
Note: This field is mutually exclusive with inherited_auto_upgrade_info.
Additionaly, versioning_override, if present, overrides this field during routing decisions.
inheritedAutoUpgradeInfo:
allOf:
- $ref: '#/components/schemas/InheritedAutoUpgradeInfo'
description: |-
If present, the new workflow begins with AutoUpgrade behavior. Before dispatching the
first workflow task, this field is set to the deployment version on which the parent/
previous run was operating. This inheritance only happens when the task queues belong to
the same deployment version. The first workflow task will then be dispatched to either
this inherited deployment version, or the current deployment version of the task queue's
Deployment. After the first workflow task, the effective behavior depends on worker-sent
values in subsequent workflow tasks.
Inheritance rules:
- ContinueAsNew and child workflows: inherit AutoUpgrade behavior and deployment version
- Cron: never inherits
- Retry: inherits only if the retried run is effectively AutoUpgrade at the time of
retry, and inherited AutoUpgrade behavior when it started (i.e. it is a child of an
AutoUpgrade parent or ContinueAsNew of an AutoUpgrade run, running on the same
deployment as the parent/previous run)
Additional notes:
- This field is mutually exclusive with `inherited_pinned_version`.
- `versioning_override`, if present, overrides this field during routing decisions.
- SDK implementations do not interact with this field and is only used internally by
the server to ensure task routing correctness.
eagerExecutionAccepted:
type: boolean
description: |-
A boolean indicating whether the SDK has asked to eagerly execute the first workflow task for this workflow and
eager execution was accepted by the server.
Only populated by server with version >= 1.29.0.
declinedTargetVersionUpgrade:
allOf:
- $ref: '#/components/schemas/DeclinedTargetVersionUpgrade'
description: |-
During a previous run of this workflow, the server may have notified the SDK
that the Target Worker Deployment Version changed, but the SDK declined to
upgrade (e.g., by continuing-as-new with PINNED behavior). This field records
the target version that was declined.
This is a wrapper message to distinguish "never declined" (nil wrapper) from
"declined an unversioned target" (non-nil wrapper with nil deployment_version).
Used internally by the server during continue-as-new and retry.
Should not be read or interpreted by SDKs.
timeSkippingConfig:
allOf:
- $ref: '#/components/schemas/TimeSkippingConfig'
description: |-
Initial time-skipping configuration for this workflow execution, recorded at start time.
This may have been set explicitly via the start workflow request, or propagated from a
parent/previous execution.
The configuration may be updated after start via UpdateWorkflowExecutionOptions, which
will be reflected in the WorkflowExecutionOptionsUpdatedEvent.
initialSkippedDuration:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
The time skipped by the previous execution that started this workflow.
It can happen in cases of child workflows and continue-as-new workflows.
description: Always the first event in workflow history
WorkflowExecutionTerminatedEventAttributes:
type: object
properties:
reason:
type: string
description: User/client provided reason for termination
details:
$ref: '#/components/schemas/Payloads'
identity:
type: string
description: id of the client who requested termination
WorkflowExecutionTimeSkippingTransitionedEventAttributes:
type: object
properties:
targetTime:
type: string
description: The virtual time after time skipping was applied.
format: date-time
disabledAfterBound:
type: boolean
description: |-
when true, time skipping was disabled automatically due to a bound being reached.
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "after" is used to indicate temporal ordering. --)
wallClockTime:
type: string
description: The wall-clock time when the time-skipping state changed event was generated.
format: date-time
description: |-
Attributes for an event indicating that time skipping state changed for a workflow execution,
either time was advanced or time skipping was disabled automatically due to a bound being reached.
The worker_may_ignore field in HistoryEvent should always be set true for this event.
WorkflowExecutionTimedOutEventAttributes:
type: object
properties:
retryState:
enum:
- RETRY_STATE_UNSPECIFIED
- RETRY_STATE_IN_PROGRESS
- RETRY_STATE_NON_RETRYABLE_FAILURE
- RETRY_STATE_TIMEOUT
- RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED
- RETRY_STATE_RETRY_POLICY_NOT_SET
- RETRY_STATE_INTERNAL_SERVER_ERROR
- RETRY_STATE_CANCEL_REQUESTED
type: string
format: enum
newExecutionRunId:
type: string
description: If another run is started by cron or retry, this contains the new run id.
WorkflowExecutionUnpausedEventAttributes:
type: object
properties:
identity:
type: string
description: The identity of the client who unpaused the workflow execution.
reason:
type: string
description: The reason for unpausing the workflow execution.
requestId:
type: string
description: The request ID of the request that unpaused the workflow execution.
description: Attributes for an event marking that a workflow execution was unpaused.
WorkflowExecutionUpdateAcceptedEventAttributes:
type: object
properties:
protocolInstanceId:
type: string
description: The instance ID of the update protocol that generated this event.
acceptedRequestMessageId:
type: string
description: |-
The message ID of the original request message that initiated this
update. Needed so that the worker can recreate and deliver that same
message as part of replay.
acceptedRequestSequencingEventId:
type: string
description: The event ID used to sequence the original request message.
acceptedRequest:
allOf:
- $ref: '#/components/schemas/Request'
description: |-
The message payload of the original request message that initiated this
update.
WorkflowExecutionUpdateAdmittedEventAttributes:
type: object
properties:
request:
allOf:
- $ref: '#/components/schemas/Request'
description: The update request associated with this event.
origin:
enum:
- UPDATE_ADMITTED_EVENT_ORIGIN_UNSPECIFIED
- UPDATE_ADMITTED_EVENT_ORIGIN_REAPPLY
type: string
description: An explanation of why this event was written to history.
format: enum
WorkflowExecutionUpdateCompletedEventAttributes:
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: The metadata about this update.
acceptedEventId:
type: string
description: The event ID indicating the acceptance of this update.
outcome:
allOf:
- $ref: '#/components/schemas/Outcome'
description: The outcome of executing the workflow update function.
WorkflowExecutionUpdateRejectedEventAttributes:
type: object
properties:
protocolInstanceId:
type: string
description: The instance ID of the update protocol that generated this event.
rejectedRequestMessageId:
type: string
description: |-
The message ID of the original request message that initiated this
update. Needed so that the worker can recreate and deliver that same
message as part of replay.
rejectedRequestSequencingEventId:
type: string
description: The event ID used to sequence the original request message.
rejectedRequest:
allOf:
- $ref: '#/components/schemas/Request'
description: |-
The message payload of the original request message that initiated this
update.
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: The cause of rejection.
WorkflowExecutionVersioningInfo:
type: object
properties:
behavior:
enum:
- VERSIONING_BEHAVIOR_UNSPECIFIED
- VERSIONING_BEHAVIOR_PINNED
- VERSIONING_BEHAVIOR_AUTO_UPGRADE
type: string
description: "Versioning behavior determines how the server should treat this execution when workers are\n upgraded. When present it means this workflow execution is versioned; UNSPECIFIED means\n unversioned. See the comments in `VersioningBehavior` enum for more info about different\n behaviors.\n\n Child workflows or CaN executions **inherit** their parent/previous run's effective Versioning \n Behavior and Version (except when the new execution runs on a task queue not belonging to the \n same deployment version as the parent/previous run's task queue). The first workflow task will\n be dispatched according to the inherited behavior (or to the current version of the task-queue's \n deployment in the case of AutoUpgrade.) After completion of their first workflow task the \n Deployment Version and Behavior of the execution will update according to configuration on the worker.\n \n Note that `behavior` is overridden by `versioning_override` if the latter is present."
format: enum
deployment:
allOf:
- $ref: '#/components/schemas/Deployment'
description: |-
The worker deployment that completed the last workflow task of this workflow execution. Must
be present if `behavior` is set. Absent value means no workflow task is completed, or the
last workflow task was completed by an unversioned worker. Unversioned workers may still send
a deployment value which will be stored here, so the right way to check if an execution is
versioned if an execution is versioned or not is via the `behavior` field.
Note that `deployment` is overridden by `versioning_override` if the latter is present.
Deprecated. Use `deployment_version`.
version:
type: string
description: Deprecated. Use `deployment_version`.
deploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: "The Worker Deployment Version that completed the last workflow task of this workflow execution.\n An absent value means no workflow task is completed, or the workflow is unversioned.\n If present, and `behavior` is UNSPECIFIED, the last task of this workflow execution was completed\n by a worker that is not using versioning but _is_ passing Deployment Name and Build ID.\n\n Child workflows or CaN executions **inherit** their parent/previous run's effective Versioning \n Behavior and Version (except when the new execution runs on a task queue not belonging to the \n same deployment version as the parent/previous run's task queue). The first workflow task will\n be dispatched according to the inherited behavior (or to the current version of the task-queue's \n deployment in the case of AutoUpgrade.) After completion of their first workflow task the \n Deployment Version and Behavior of the execution will update according to configuration on the worker.\n\n Note that if `versioning_override.behavior` is PINNED then `versioning_override.pinned_version`\n will override this value."
versioningOverride:
allOf:
- $ref: '#/components/schemas/VersioningOverride'
description: |-
Present if user has set an execution-specific versioning override. This override takes
precedence over SDK-sent `behavior` (and `version` when override is PINNED). An
override can be set when starting a new execution, as well as afterwards by calling the
`UpdateWorkflowExecutionOptions` API.
Pinned overrides are automatically inherited by child workflows, continue-as-new workflows,
workflow retries, and cron workflows.
deploymentTransition:
allOf:
- $ref: '#/components/schemas/DeploymentTransition'
description: |-
When present, indicates the workflow is transitioning to a different deployment. Can
indicate one of the following transitions: unversioned -> versioned, versioned -> versioned
on a different deployment, or versioned -> unversioned.
Not applicable to workflows with PINNED behavior.
When a workflow with AUTO_UPGRADE behavior creates a new workflow task, it will automatically
start a transition to the task queue's current deployment if the task queue's current
deployment is different from the workflow's deployment.
If the AUTO_UPGRADE workflow is stuck due to backlogged activity or workflow tasks, those
tasks will be redirected to the task queue's current deployment. As soon as a poller from
that deployment is available to receive the task, the workflow will automatically start a
transition to that deployment and continue execution there.
A deployment transition can only exist while there is a pending or started workflow task.
Once the pending workflow task completes on the transition's target deployment, the
transition completes and the workflow's `deployment` and `behavior` fields are updated per
the worker's task completion response.
Pending activities will not start new attempts during a transition. Once the transition is
completed, pending activities will start their next attempt on the new deployment.
Deprecated. Use version_transition.
versionTransition:
allOf:
- $ref: '#/components/schemas/DeploymentVersionTransition'
description: |-
When present, indicates the workflow is transitioning to a different deployment version
(which may belong to the same deployment name or another). Can indicate one of the following
transitions: unversioned -> versioned, versioned -> versioned
on a different deployment version, or versioned -> unversioned.
Not applicable to workflows with PINNED behavior.
When a workflow with AUTO_UPGRADE behavior creates a new workflow task, it will automatically
start a transition to the task queue's current version if the task queue's current version is
different from the workflow's current deployment version.
If the AUTO_UPGRADE workflow is stuck due to backlogged activity or workflow tasks, those
tasks will be redirected to the task queue's current version. As soon as a poller from
that deployment version is available to receive the task, the workflow will automatically
start a transition to that version and continue execution there.
A version transition can only exist while there is a pending or started workflow task.
Once the pending workflow task completes on the transition's target version, the
transition completes and the workflow's `behavior`, and `deployment_version` fields are updated per the
worker's task completion response.
Pending activities will not start new attempts during a transition. Once the transition is
completed, pending activities will start their next attempt on the new version.
revisionNumber:
type: string
description: |-
Monotonic counter reflecting the latest routing decision for this workflow execution.
Used for staleness detection between history and matching when dispatching tasks to workers.
Incremented when a workflow execution routes to a new deployment version, which happens
when a worker of the new deployment version completes a workflow task.
Note: Pinned tasks and sticky tasks send a value of 0 for this field since these tasks do not
face the problem of inconsistent dispatching that arises from eventual consistency between
task queues and their partitions.
continueAsNewInitialVersioningBehavior:
enum:
- CONTINUE_AS_NEW_VERSIONING_BEHAVIOR_UNSPECIFIED
- CONTINUE_AS_NEW_VERSIONING_BEHAVIOR_AUTO_UPGRADE
- CONTINUE_AS_NEW_VERSIONING_BEHAVIOR_USE_RAMPING_VERSION
type: string
description: |-
Experimental.
If this workflow is the result of a continue-as-new, this field is set to the initial_versioning_behavior
specified in that command.
Only used for the initial task of this run and the initial task of any retries of this run.
Not passed to children or to future continue-as-new.
Note: In the first release of Upgrade-on-CaN, when the only ContinueAsNewVersioningBehavior was AutoUpgrade,
a non-empty InheritedAutoUpgradeInfo meant that the workflow should start as AutoUpgrade. So for compatibility
with ContinueAsNew history commands generated during that time, know that an UNSPECIFIED value here is equivalent
to ContinueAsNewVersioningBehaviorAutoUpgrade if the behavior of the workflow is AutoUpgrade.
format: enum
description: |-
Holds all the information about worker versioning for a particular workflow execution.
Experimental. Versioning info is experimental and might change in the future.
WorkflowPropertiesModifiedEventAttributes:
type: object
properties:
workflowTaskCompletedEventId:
type: string
description: The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
upsertedMemo:
allOf:
- $ref: '#/components/schemas/Memo'
description: |-
If set, update the workflow memo with the provided values. The values will be merged with
the existing memo. If the user wants to delete values, a default/empty Payload should be
used as the value for the key being deleted.
WorkflowPropertiesModifiedExternallyEventAttributes:
type: object
properties:
newTaskQueue:
type: string
description: Not used.
newWorkflowTaskTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Not used.
newWorkflowRunTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Not used.
newWorkflowExecutionTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Not used.
upsertedMemo:
allOf:
- $ref: '#/components/schemas/Memo'
description: Not used.
description: Not used anywhere. Use case is replaced by WorkflowExecutionOptionsUpdatedEventAttributes
WorkflowQuery:
type: object
properties:
queryType:
type: string
description: The workflow-author-defined identifier of the query. Typically a function name.
queryArgs:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Serialized arguments that will be provided to the query handler.
header:
allOf:
- $ref: '#/components/schemas/Header'
description: |-
Headers that were passed by the caller of the query and copied by temporal
server into the workflow task.
description: See https://docs.temporal.io/docs/concepts/queries/
WorkflowRule:
type: object
properties:
createTime:
type: string
description: Rule creation time.
format: date-time
spec:
allOf:
- $ref: '#/components/schemas/WorkflowRuleSpec'
description: Rule specification
createdByIdentity:
type: string
description: |-
Identity of the actor that created the rule
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: It is better reflect the intent this way, we will also have updated_by. --)
(-- api-linter: core::0142::time-field-names=disabled
aip.dev/not-precedent: Same as above. All other options sounds clumsy --)
description:
type: string
description: Rule description.
description: WorkflowRule describes a rule that can be applied to any workflow in this namespace.
WorkflowRuleAction:
type: object
properties:
activityPause:
$ref: '#/components/schemas/WorkflowRuleAction_ActionActivityPause'
WorkflowRuleAction_ActionActivityPause:
type: object
properties: {}
WorkflowRuleSpec:
type: object
properties:
id:
type: string
description: |-
The id of the new workflow rule. Must be unique within the namespace.
Can be set by the user, and can have business meaning.
activityStart:
$ref: '#/components/schemas/WorkflowRuleSpec_ActivityStartingTrigger'
visibilityQuery:
type: string
description: |-
Restricted Visibility query.
This query is used to filter workflows in this namespace to which this rule should apply.
It is applied to any running workflow each time a triggering event occurs, before the trigger predicate is evaluated.
The following workflow attributes are supported:
- WorkflowType
- WorkflowId
- StartTime
- ExecutionStatus
actions:
type: array
items:
$ref: '#/components/schemas/WorkflowRuleAction'
description: WorkflowRuleAction to be taken when the rule is triggered and predicate is matched.
expirationTime:
type: string
description: |-
Expiration time of the rule. After this time, the rule will be deleted.
Can be empty if the rule should never expire.
format: date-time
WorkflowRuleSpec_ActivityStartingTrigger:
type: object
properties:
predicate:
type: string
description: |-
Activity predicate is a SQL-like string filter parameter.
It is used to match against workflow data.
The following activity attributes are supported as part of the predicate:
- ActivityType: An Activity Type is the mapping of a name to an Activity Definition..
- ActivityId: The ID of the activity.
- ActivityAttempt: The number attempts of the activity.
- BackoffInterval: The current amount of time between scheduled attempts of the activity.
- ActivityStatus: The status of the activity. Can be one of "Scheduled", "Started", "Paused".
- TaskQueue: The name of the task queue the workflow specified that the activity should run on.
Activity predicate support the following operators:
* =, !=, >, >=, <, <=
* AND, OR, ()
* BETWEEN ... AND
STARTS_WITH
description: Activity trigger will be triggered when an activity is about to start.
WorkflowTaskCompletedEventAttributes:
type: object
properties:
scheduledEventId:
type: string
description: The id of the `WORKFLOW_TASK_SCHEDULED` event this task corresponds to
startedEventId:
type: string
description: The id of the `WORKFLOW_TASK_STARTED` event this task corresponds to
identity:
type: string
description: Identity of the worker who completed this task
binaryChecksum:
type: string
description: |-
Binary ID of the worker who completed this task
Deprecated. Replaced with `deployment_version`.
workerVersion:
allOf:
- $ref: '#/components/schemas/WorkerVersionStamp'
description: |-
Version info of the worker who processed this workflow task. If present, the `build_id` field
within is also used as `binary_checksum`, which may be omitted in that case (it may also be
populated to preserve compatibility).
Deprecated. Use `deployment_version` and `versioning_behavior` instead.
sdkMetadata:
allOf:
- $ref: '#/components/schemas/WorkflowTaskCompletedMetadata'
description: |-
Data the SDK wishes to record for itself, but server need not interpret, and does not
directly impact workflow state.
meteringMetadata:
allOf:
- $ref: '#/components/schemas/MeteringMetadata'
description: Local usage data sent during workflow task completion and recorded here for posterity
deployment:
allOf:
- $ref: '#/components/schemas/Deployment'
description: |-
The deployment that completed this task. May or may not be set for unversioned workers,
depending on whether a value is sent by the SDK. This value updates workflow execution's
`versioning_info.deployment`.
Deprecated. Replaced with `deployment_version`.
versioningBehavior:
enum:
- VERSIONING_BEHAVIOR_UNSPECIFIED
- VERSIONING_BEHAVIOR_PINNED
- VERSIONING_BEHAVIOR_AUTO_UPGRADE
type: string
description: |-
Versioning behavior sent by the worker that completed this task for this particular workflow
execution. UNSPECIFIED means the task was completed by an unversioned worker. This value
updates workflow execution's `versioning_info.behavior`.
format: enum
workerDeploymentVersion:
type: string
description: |-
The Worker Deployment Version that completed this task. Must be set if `versioning_behavior`
is set. This value updates workflow execution's `versioning_info.version`.
Deprecated. Replaced with `deployment_version`.
workerDeploymentName:
type: string
description: |-
The name of Worker Deployment that completed this task. Must be set if `versioning_behavior`
is set. This value updates workflow execution's `worker_deployment_name`.
deploymentVersion:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentVersion'
description: |-
The Worker Deployment Version that completed this task. Must be set if `versioning_behavior`
is set. This value updates workflow execution's `versioning_info.deployment_version`.
WorkflowTaskCompletedMetadata:
type: object
properties:
coreUsedFlags:
type: array
items:
type: integer
format: uint32
description: |-
Internal flags used by the core SDK. SDKs using flags must comply with the following behavior:
During replay:
* If a flag is not recognized (value is too high or not defined), it must fail the workflow
task.
* If a flag is recognized, it is stored in a set of used flags for the run. Code checks for
that flag during and after this WFT are allowed to assume that the flag is present.
* If a code check for a flag does not find the flag in the set of used flags, it must take
the branch corresponding to the absence of that flag.
During non-replay execution of new WFTs:
* The SDK is free to use all flags it knows about. It must record any newly-used (IE: not
previously recorded) flags when completing the WFT.
SDKs which are too old to even know about this field at all are considered to produce
undefined behavior if they replay workflows which used this mechanism.
(-- api-linter: core::0141::forbidden-types=disabled
aip.dev/not-precedent: These really shouldn't have negative values. --)
langUsedFlags:
type: array
items:
type: integer
format: uint32
description: |-
Flags used by the SDK lang. No attempt is made to distinguish between different SDK languages
here as processing a workflow with a different language than the one which authored it is
already undefined behavior. See `core_used_patches` for more.
(-- api-linter: core::0141::forbidden-types=disabled
aip.dev/not-precedent: These really shouldn't have negative values. --)
sdkName:
type: string
description: |-
Name of the SDK that processed the task. This is usually something like "temporal-go" and is
usually the same as client-name gRPC header. This should only be set if its value changed
since the last time recorded on the workflow (or be set on the first task).
(-- api-linter: core::0122::name-suffix=disabled
aip.dev/not-precedent: We're ok with a name suffix here. --)
sdkVersion:
type: string
description: |-
Version of the SDK that processed the task. This is usually something like "1.20.0" and is
usually the same as client-version gRPC header. This should only be set if its value changed
since the last time recorded on the workflow (or be set on the first task).
WorkflowTaskFailedEventAttributes:
type: object
properties:
scheduledEventId:
type: string
description: The id of the `WORKFLOW_TASK_SCHEDULED` event this task corresponds to
startedEventId:
type: string
description: The id of the `WORKFLOW_TASK_STARTED` event this task corresponds to
cause:
enum:
- WORKFLOW_TASK_FAILED_CAUSE_UNSPECIFIED
- WORKFLOW_TASK_FAILED_CAUSE_UNHANDLED_COMMAND
- WORKFLOW_TASK_FAILED_CAUSE_BAD_SCHEDULE_ACTIVITY_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_BAD_REQUEST_CANCEL_ACTIVITY_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_BAD_START_TIMER_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_BAD_CANCEL_TIMER_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_BAD_RECORD_MARKER_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_BAD_COMPLETE_WORKFLOW_EXECUTION_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_BAD_FAIL_WORKFLOW_EXECUTION_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_BAD_CANCEL_WORKFLOW_EXECUTION_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_BAD_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_BAD_CONTINUE_AS_NEW_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_START_TIMER_DUPLICATE_ID
- WORKFLOW_TASK_FAILED_CAUSE_RESET_STICKY_TASK_QUEUE
- WORKFLOW_TASK_FAILED_CAUSE_WORKFLOW_WORKER_UNHANDLED_FAILURE
- WORKFLOW_TASK_FAILED_CAUSE_BAD_SIGNAL_WORKFLOW_EXECUTION_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_BAD_START_CHILD_EXECUTION_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_FORCE_CLOSE_COMMAND
- WORKFLOW_TASK_FAILED_CAUSE_FAILOVER_CLOSE_COMMAND
- WORKFLOW_TASK_FAILED_CAUSE_BAD_SIGNAL_INPUT_SIZE
- WORKFLOW_TASK_FAILED_CAUSE_RESET_WORKFLOW
- WORKFLOW_TASK_FAILED_CAUSE_BAD_BINARY
- WORKFLOW_TASK_FAILED_CAUSE_SCHEDULE_ACTIVITY_DUPLICATE_ID
- WORKFLOW_TASK_FAILED_CAUSE_BAD_SEARCH_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_NON_DETERMINISTIC_ERROR
- WORKFLOW_TASK_FAILED_CAUSE_BAD_MODIFY_WORKFLOW_PROPERTIES_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_PENDING_CHILD_WORKFLOWS_LIMIT_EXCEEDED
- WORKFLOW_TASK_FAILED_CAUSE_PENDING_ACTIVITIES_LIMIT_EXCEEDED
- WORKFLOW_TASK_FAILED_CAUSE_PENDING_SIGNALS_LIMIT_EXCEEDED
- WORKFLOW_TASK_FAILED_CAUSE_PENDING_REQUEST_CANCEL_LIMIT_EXCEEDED
- WORKFLOW_TASK_FAILED_CAUSE_BAD_UPDATE_WORKFLOW_EXECUTION_MESSAGE
- WORKFLOW_TASK_FAILED_CAUSE_UNHANDLED_UPDATE
- WORKFLOW_TASK_FAILED_CAUSE_BAD_SCHEDULE_NEXUS_OPERATION_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_PENDING_NEXUS_OPERATIONS_LIMIT_EXCEEDED
- WORKFLOW_TASK_FAILED_CAUSE_BAD_REQUEST_CANCEL_NEXUS_OPERATION_ATTRIBUTES
- WORKFLOW_TASK_FAILED_CAUSE_FEATURE_DISABLED
- WORKFLOW_TASK_FAILED_CAUSE_GRPC_MESSAGE_TOO_LARGE
- WORKFLOW_TASK_FAILED_CAUSE_PAYLOADS_TOO_LARGE
type: string
format: enum
failure:
allOf:
- $ref: '#/components/schemas/Failure'
description: The failure details
identity:
type: string
description: |-
If a worker explicitly failed this task, this field contains the worker's identity.
When the server generates the failure internally this field is set as 'history-service'.
baseRunId:
type: string
description: The original run id of the workflow. For reset workflow.
newRunId:
type: string
description: If the workflow is being reset, the new run id.
forkEventVersion:
type: string
description: |-
Version of the event where the history branch was forked. Used by multi-cluster replication
during resets to identify the correct history branch.
binaryChecksum:
type: string
description: |-
Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
If a worker explicitly failed this task, its binary id
workerVersion:
allOf:
- $ref: '#/components/schemas/WorkerVersionStamp'
description: |-
Version info of the worker who processed this workflow task. If present, the `build_id` field
within is also used as `binary_checksum`, which may be omitted in that case (it may also be
populated to preserve compatibility).
Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
WorkflowTaskScheduledEventAttributes:
type: object
properties:
taskQueue:
allOf:
- $ref: '#/components/schemas/TaskQueue'
description: The task queue this workflow task was enqueued in, which could be a normal or sticky queue
startToCloseTimeout:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: |-
How long the worker has to process this task once receiving it before it times out
(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "to" is used to indicate interval. --)
attempt:
type: integer
description: Starting at 1, how many attempts there have been to complete this task
format: int32
WorkflowTaskStartedEventAttributes:
type: object
properties:
scheduledEventId:
type: string
description: The id of the `WORKFLOW_TASK_SCHEDULED` event this task corresponds to
identity:
type: string
description: Identity of the worker who picked up this task
requestId:
type: string
description: |-
This field is populated from the RecordWorkflowTaskStartedRequest. Matching service would
set the request_id on the RecordWorkflowTaskStartedRequest to a new UUID. This is useful
in case a RecordWorkflowTaskStarted call succeed but matching doesn't get that response,
so matching could retry and history service would return success if the request_id matches.
In that case, matching will continue to deliver the task to worker. Without this field, history
service would return AlreadyStarted error, and matching would drop the task.
suggestContinueAsNew:
type: boolean
description: True if this workflow should continue-as-new soon. See `suggest_continue_as_new_reasons` for why.
suggestContinueAsNewReasons:
type: array
items:
enum:
- SUGGEST_CONTINUE_AS_NEW_REASON_UNSPECIFIED
- SUGGEST_CONTINUE_AS_NEW_REASON_HISTORY_SIZE_TOO_LARGE
- SUGGEST_CONTINUE_AS_NEW_REASON_TOO_MANY_HISTORY_EVENTS
- SUGGEST_CONTINUE_AS_NEW_REASON_TOO_MANY_UPDATES
type: string
format: enum
description: |-
The reason(s) that suggest_continue_as_new is true, if it is.
Unset if suggest_continue_as_new is false.
targetWorkerDeploymentVersionChanged:
type: boolean
description: |-
True if Workflow's Target Worker Deployment Version is different from its Pinned Version and
the workflow is Pinned.
Experimental.
historySizeBytes:
type: string
description: |-
Total history size in bytes, which the workflow might use to decide when to
continue-as-new regardless of the suggestion. Note that history event count is
just the event id of this event, so we don't include it explicitly here.
workerVersion:
allOf:
- $ref: '#/components/schemas/WorkerVersionStamp'
description: |-
Version info of the worker to whom this task was dispatched.
Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
buildIdRedirectCounter:
type: string
description: |-
Used by server internally to properly reapply build ID redirects to an execution
when rebuilding it from events.
Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
WorkflowTaskTimedOutEventAttributes:
type: object
properties:
scheduledEventId:
type: string
description: The id of the `WORKFLOW_TASK_SCHEDULED` event this task corresponds to
startedEventId:
type: string
description: The id of the `WORKFLOW_TASK_STARTED` event this task corresponds to
timeoutType:
enum:
- TIMEOUT_TYPE_UNSPECIFIED
- TIMEOUT_TYPE_START_TO_CLOSE
- TIMEOUT_TYPE_SCHEDULE_TO_START
- TIMEOUT_TYPE_SCHEDULE_TO_CLOSE
- TIMEOUT_TYPE_HEARTBEAT
type: string
format: enum
WorkflowType:
type: object
properties:
name:
type: string
description: |-
Represents the identifier used by a workflow author to define the workflow. Typically, the
name of a function. This is sometimes referred to as the workflow's "name"
tags:
- name: OperatorService
description: |-
OperatorService API defines how Temporal SDKs and other clients interact with the Temporal server
to perform administrative functions like registering a search attribute or a namespace.
APIs in this file could be not compatible with Temporal Cloud, hence it's usage in SDKs should be limited by
designated APIs that clearly state that they shouldn't be used by the main Application (Workflows & Activities) framework.
- name: WorkflowService
description: |-
WorkflowService API defines how Temporal SDKs and other clients interact with the Temporal server
to create and interact with workflows and activities.
Users are expected to call `StartWorkflowExecution` to create a new workflow execution.
To drive workflows, a worker using a Temporal SDK must exist which regularly polls for workflow
and activity tasks from the service. For each workflow task, the sdk must process the
(incremental or complete) event history and respond back with any newly generated commands.
For each activity task, the worker is expected to execute the user's code which implements that
activity, responding with completion or failure.
description: |-
Arbitrary payload data in an unconstrained format.
This may be activity input parameters, a workflow result, a memo, etc.