Protocol Documentation

Table of Contents

temporal/api/errordetails/v1/message.proto

Top

CancellationAlreadyRequestedFailure

ClientVersionNotSupportedFailure

FieldTypeLabelDescription
client_version string

client_name string

supported_versions string

NamespaceAlreadyExistsFailure

NamespaceInvalidStateFailure

FieldTypeLabelDescription
namespace string

state temporal.api.enums.v1.NamespaceState

Current state of the requested namespace.

allowed_states temporal.api.enums.v1.NamespaceState repeated

Allowed namespace states for requested operation. For example NAMESPACE_STATE_DELETED is forbidden for most operations but allowed for DescribeNamespace.

NamespaceNotActiveFailure

FieldTypeLabelDescription
namespace string

current_cluster string

active_cluster string

NamespaceNotFoundFailure

FieldTypeLabelDescription
namespace string

NewerBuildExistsFailure

FieldTypeLabelDescription
default_build_id string

The current default compatible build ID which will receive tasks

NotFoundFailure

FieldTypeLabelDescription
current_cluster string

active_cluster string

PermissionDeniedFailure

FieldTypeLabelDescription
reason string

QueryFailedFailure

ResourceExhaustedFailure

FieldTypeLabelDescription
cause temporal.api.enums.v1.ResourceExhaustedCause

scope temporal.api.enums.v1.ResourceExhaustedScope

ServerVersionNotSupportedFailure

FieldTypeLabelDescription
server_version string

client_supported_server_versions string

SystemWorkflowFailure

FieldTypeLabelDescription
workflow_execution temporal.api.common.v1.WorkflowExecution

WorkflowId and RunId of the Temporal system workflow performing the underlying operation. Looking up the info of the system workflow run may help identify the issue causing the failure.

workflow_error string

Serialized error returned by the system workflow performing the underlying operation.

WorkflowExecutionAlreadyStartedFailure

FieldTypeLabelDescription
start_request_id string

run_id string

WorkflowNotReadyFailure

temporal/api/workflowservice/v1/request_response.proto

Top

CountWorkflowExecutionsRequest

FieldTypeLabelDescription
namespace string

query string

CountWorkflowExecutionsResponse

FieldTypeLabelDescription
count int64

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 CountWorkflowExecutionsResponse.AggregationGroup repeated

`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

FieldTypeLabelDescription
group_values temporal.api.common.v1.Payload repeated

count int64

CreateScheduleRequest

(-- api-linter: core::0203::optional=disabled

aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --)

FieldTypeLabelDescription
namespace string

The namespace the schedule should be created in.

schedule_id string

The id of the new schedule.

schedule temporal.api.schedule.v1.Schedule

The schedule spec, policies, action, and initial state.

initial_patch temporal.api.schedule.v1.SchedulePatch

Optional initial patch (e.g. to run the action once immediately).

identity string

The identity of the client who initiated this request.

request_id string

A unique identifier for this create request for idempotence. Typically UUIDv4.

memo temporal.api.common.v1.Memo

Memo and search attributes to attach to the schedule itself.

search_attributes temporal.api.common.v1.SearchAttributes

CreateScheduleResponse

FieldTypeLabelDescription
conflict_token bytes

DeleteScheduleRequest

FieldTypeLabelDescription
namespace string

The namespace of the schedule to delete.

schedule_id string

The id of the schedule to delete.

identity string

The identity of the client who initiated this request.

DeleteScheduleResponse

DeleteWorkflowExecutionRequest

FieldTypeLabelDescription
namespace string

workflow_execution temporal.api.common.v1.WorkflowExecution

Workflow Execution to delete. If run_id is not specified, the latest one is used.

DeleteWorkflowExecutionResponse

DeprecateNamespaceRequest

Deprecated.

FieldTypeLabelDescription
namespace string

security_token string

DeprecateNamespaceResponse

Deprecated.

DescribeBatchOperationRequest

FieldTypeLabelDescription
namespace string

Namespace that contains the batch operation

job_id string

Batch job id

DescribeBatchOperationResponse

FieldTypeLabelDescription
operation_type temporal.api.enums.v1.BatchOperationType

Batch operation type

job_id string

Batch job ID

state temporal.api.enums.v1.BatchOperationState

Batch operation state

start_time google.protobuf.Timestamp

Batch operation start time

close_time google.protobuf.Timestamp

Batch operation close time

total_operation_count int64

Total operation count

complete_operation_count int64

Complete operation count

failure_operation_count int64

Failure operation count

identity string

Identity indicates the operator identity

reason string

Reason indicates the reason to stop a operation

DescribeNamespaceRequest

FieldTypeLabelDescription
namespace string

id string

DescribeNamespaceResponse

FieldTypeLabelDescription
namespace_info temporal.api.namespace.v1.NamespaceInfo

config temporal.api.namespace.v1.NamespaceConfig

replication_config temporal.api.replication.v1.NamespaceReplicationConfig

failover_version int64

is_global_namespace bool

failover_history temporal.api.replication.v1.FailoverStatus repeated

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.

DescribeScheduleRequest

FieldTypeLabelDescription
namespace string

The namespace of the schedule to describe.

schedule_id string

The id of the schedule to describe.

DescribeScheduleResponse

FieldTypeLabelDescription
schedule temporal.api.schedule.v1.Schedule

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 temporal.api.schedule.v1.ScheduleInfo

Extra schedule state info.

memo temporal.api.common.v1.Memo

The memo and search attributes that the schedule was created with.

search_attributes temporal.api.common.v1.SearchAttributes

conflict_token bytes

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.

DescribeTaskQueueRequest

FieldTypeLabelDescription
namespace string

task_queue temporal.api.taskqueue.v1.TaskQueue

task_queue_type temporal.api.enums.v1.TaskQueueType

If unspecified (TASK_QUEUE_TYPE_UNSPECIFIED), then default value (TASK_QUEUE_TYPE_WORKFLOW) will be used.

include_task_queue_status bool

DescribeTaskQueueResponse

FieldTypeLabelDescription
pollers temporal.api.taskqueue.v1.PollerInfo repeated

task_queue_status temporal.api.taskqueue.v1.TaskQueueStatus

DescribeWorkflowExecutionRequest

FieldTypeLabelDescription
namespace string

execution temporal.api.common.v1.WorkflowExecution

DescribeWorkflowExecutionResponse

FieldTypeLabelDescription
execution_config temporal.api.workflow.v1.WorkflowExecutionConfig

workflow_execution_info temporal.api.workflow.v1.WorkflowExecutionInfo

pending_activities temporal.api.workflow.v1.PendingActivityInfo repeated

pending_children temporal.api.workflow.v1.PendingChildExecutionInfo repeated

pending_workflow_task temporal.api.workflow.v1.PendingWorkflowTaskInfo

callbacks temporal.api.workflow.v1.CallbackInfo repeated

GetClusterInfoRequest

GetClusterInfoResponse

GetClusterInfoResponse contains information about Temporal cluster.

FieldTypeLabelDescription
supported_clients GetClusterInfoResponse.SupportedClientsEntry repeated

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

server_version string

cluster_id string

version_info temporal.api.version.v1.VersionInfo

cluster_name string

history_shard_count int32

persistence_store string

visibility_store string

GetClusterInfoResponse.SupportedClientsEntry

FieldTypeLabelDescription
key string

value string

GetSearchAttributesRequest

GetSearchAttributesResponse

FieldTypeLabelDescription
keys GetSearchAttributesResponse.KeysEntry repeated

GetSearchAttributesResponse.KeysEntry

FieldTypeLabelDescription
key string

value temporal.api.enums.v1.IndexedValueType

GetSystemInfoRequest

GetSystemInfoResponse

FieldTypeLabelDescription
server_version string

Version of the server.

capabilities GetSystemInfoResponse.Capabilities

All capabilities the system supports.

GetSystemInfoResponse.Capabilities

System capability details.

FieldTypeLabelDescription
signal_and_query_header bool

True if signal and query headers are supported.

internal_error_differentiation bool

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.

activity_failure_include_heartbeat bool

True if RespondActivityTaskFailed API supports including heartbeat details

supports_schedules bool

Supports scheduled workflow features.

encoded_failure_attributes bool

True if server uses protos that include temporal.api.failure.v1.Failure.encoded_attributes

build_id_based_versioning bool

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)

upsert_memo bool

True if server supports upserting workflow memo

eager_workflow_start bool

True if server supports eager workflow task dispatching for the StartWorkflowExecution API

sdk_metadata bool

True if the server knows about the sdk metadata field on WFT completions and will record it in history

count_group_by_execution_status bool

True if the server supports count group by execution status (-- api-linter: core::0140::prepositions=disabled --)

GetWorkerBuildIdCompatibilityRequest

FieldTypeLabelDescription
namespace string

task_queue string

Must be set, the task queue to interrogate about worker id compatibility.

max_sets int32

Limits how many compatible sets will be returned. Specify 1 to only return the current default major version set. 0 returns all sets.

GetWorkerBuildIdCompatibilityResponse

FieldTypeLabelDescription
major_version_sets temporal.api.taskqueue.v1.CompatibleVersionSet repeated

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.

GetWorkerTaskReachabilityRequest

FieldTypeLabelDescription
namespace string

build_ids string repeated

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.

task_queues string repeated

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.

reachability temporal.api.enums.v1.TaskReachability

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.

GetWorkerTaskReachabilityResponse

FieldTypeLabelDescription
build_id_reachability temporal.api.taskqueue.v1.BuildIdReachability repeated

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.

GetWorkflowExecutionHistoryRequest

FieldTypeLabelDescription
namespace string

execution temporal.api.common.v1.WorkflowExecution

maximum_page_size int32

next_page_token bytes

If a `GetWorkflowExecutionHistoryResponse` or a `PollWorkflowTaskQueueResponse` had one of these, it should be passed here to fetch the next page.

wait_new_event bool

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.

history_event_filter_type temporal.api.enums.v1.HistoryEventFilterType

Filter returned events such that they match the specified filter type. Default: HISTORY_EVENT_FILTER_TYPE_ALL_EVENT.

skip_archival bool

GetWorkflowExecutionHistoryResponse

FieldTypeLabelDescription
history temporal.api.history.v1.History

raw_history temporal.api.common.v1.DataBlob repeated

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.

next_page_token bytes

Will be set if there are more history events than were included in this response

archived bool

GetWorkflowExecutionHistoryReverseRequest

FieldTypeLabelDescription
namespace string

execution temporal.api.common.v1.WorkflowExecution

maximum_page_size int32

next_page_token bytes

GetWorkflowExecutionHistoryReverseResponse

FieldTypeLabelDescription
history temporal.api.history.v1.History

next_page_token bytes

Will be set if there are more history events than were included in this response

ListArchivedWorkflowExecutionsRequest

FieldTypeLabelDescription
namespace string

page_size int32

next_page_token bytes

query string

ListArchivedWorkflowExecutionsResponse

FieldTypeLabelDescription
executions temporal.api.workflow.v1.WorkflowExecutionInfo repeated

next_page_token bytes

ListBatchOperationsRequest

FieldTypeLabelDescription
namespace string

Namespace that contains the batch operation

page_size int32

List page size

next_page_token bytes

Next page token

ListBatchOperationsResponse

FieldTypeLabelDescription
operation_info temporal.api.batch.v1.BatchOperationInfo repeated

BatchOperationInfo contains the basic info about batch operation

next_page_token bytes

ListClosedWorkflowExecutionsRequest

FieldTypeLabelDescription
namespace string

maximum_page_size int32

next_page_token bytes

start_time_filter temporal.api.filter.v1.StartTimeFilter

execution_filter temporal.api.filter.v1.WorkflowExecutionFilter

type_filter temporal.api.filter.v1.WorkflowTypeFilter

status_filter temporal.api.filter.v1.StatusFilter

ListClosedWorkflowExecutionsResponse

FieldTypeLabelDescription
executions temporal.api.workflow.v1.WorkflowExecutionInfo repeated

next_page_token bytes

ListNamespacesRequest

FieldTypeLabelDescription
page_size int32

next_page_token bytes

namespace_filter temporal.api.namespace.v1.NamespaceFilter

ListNamespacesResponse

FieldTypeLabelDescription
namespaces DescribeNamespaceResponse repeated

next_page_token bytes

ListOpenWorkflowExecutionsRequest

FieldTypeLabelDescription
namespace string

maximum_page_size int32

next_page_token bytes

start_time_filter temporal.api.filter.v1.StartTimeFilter

execution_filter temporal.api.filter.v1.WorkflowExecutionFilter

type_filter temporal.api.filter.v1.WorkflowTypeFilter

ListOpenWorkflowExecutionsResponse

FieldTypeLabelDescription
executions temporal.api.workflow.v1.WorkflowExecutionInfo repeated

next_page_token bytes

ListScheduleMatchingTimesRequest

FieldTypeLabelDescription
namespace string

The namespace of the schedule to query.

schedule_id string

The id of the schedule to query.

start_time google.protobuf.Timestamp

Time range to query.

end_time google.protobuf.Timestamp

ListScheduleMatchingTimesResponse

FieldTypeLabelDescription
start_time google.protobuf.Timestamp repeated

ListSchedulesRequest

FieldTypeLabelDescription
namespace string

The namespace to list schedules in.

maximum_page_size int32

How many to return at once.

next_page_token bytes

Token to get the next page of results.

ListSchedulesResponse

FieldTypeLabelDescription
schedules temporal.api.schedule.v1.ScheduleListEntry repeated

next_page_token bytes

ListTaskQueuePartitionsRequest

FieldTypeLabelDescription
namespace string

task_queue temporal.api.taskqueue.v1.TaskQueue

ListTaskQueuePartitionsResponse

FieldTypeLabelDescription
activity_task_queue_partitions temporal.api.taskqueue.v1.TaskQueuePartitionMetadata repeated

workflow_task_queue_partitions temporal.api.taskqueue.v1.TaskQueuePartitionMetadata repeated

ListWorkflowExecutionsRequest

FieldTypeLabelDescription
namespace string

page_size int32

next_page_token bytes

query string

ListWorkflowExecutionsResponse

FieldTypeLabelDescription
executions temporal.api.workflow.v1.WorkflowExecutionInfo repeated

next_page_token bytes

PatchScheduleRequest

FieldTypeLabelDescription
namespace string

The namespace of the schedule to patch.

schedule_id string

The id of the schedule to patch.

patch temporal.api.schedule.v1.SchedulePatch

identity string

The identity of the client who initiated this request.

request_id string

A unique identifier for this update request for idempotence. Typically UUIDv4.

PatchScheduleResponse

PollActivityTaskQueueRequest

FieldTypeLabelDescription
namespace string

task_queue temporal.api.taskqueue.v1.TaskQueue

identity string

The identity of the worker/client

task_queue_metadata temporal.api.taskqueue.v1.TaskQueueMetadata

worker_version_capabilities temporal.api.common.v1.WorkerVersionCapabilities

Information about this worker's build identifier and if it is choosing to use the versioning feature. See the `WorkerVersionCapabilities` docstring for more.

PollActivityTaskQueueResponse

FieldTypeLabelDescription
task_token bytes

A unique identifier for this task

workflow_namespace string

The namespace the workflow which requested this activity lives in

workflow_type temporal.api.common.v1.WorkflowType

Type of the requesting workflow

workflow_execution temporal.api.common.v1.WorkflowExecution

Execution info of the requesting workflow

activity_type temporal.api.common.v1.ActivityType

activity_id string

The autogenerated or user specified identifier of this activity. Can be used to complete the activity via `RespondActivityTaskCompletedById`. May be re-used as long as the last usage has resolved, but unique IDs for every activity invocation is a good idea.

header temporal.api.common.v1.Header

Headers specified by the scheduling workflow. Commonly used to propagate contextual info from the workflow to its activities. For example, tracing contexts.

input temporal.api.common.v1.Payloads

Arguments to the activity invocation

heartbeat_details temporal.api.common.v1.Payloads

Details of the last heartbeat that was recorded for this activity as of the time this task was delivered.

scheduled_time google.protobuf.Timestamp

When was this task first scheduled

current_attempt_scheduled_time google.protobuf.Timestamp

When was this task attempt scheduled

started_time google.protobuf.Timestamp

When was this task started (this attempt)

attempt int32

Starting at 1, the number of attempts to perform this activity

schedule_to_close_timeout google.protobuf.Duration

First scheduled -> final result reported timeout (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

start_to_close_timeout google.protobuf.Duration

Current attempt start -> final result reported timeout (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

heartbeat_timeout google.protobuf.Duration

Window within which the activity must report a heartbeat, or be timed out.

retry_policy temporal.api.common.v1.RetryPolicy

This is the retry policy the service uses which may be different from the one provided (or not) during activity scheduling. The service can override the provided one if some values are not specified or exceed configured system limits.

PollNexusTaskQueueRequest

FieldTypeLabelDescription
namespace string

identity string

The identity of the client who initiated this request.

task_queue temporal.api.taskqueue.v1.TaskQueue

worker_version_capabilities temporal.api.common.v1.WorkerVersionCapabilities

Information about this worker's build identifier and if it is choosing to use the versioning feature. See the `WorkerVersionCapabilities` docstring for more.

PollNexusTaskQueueResponse

FieldTypeLabelDescription
task_token bytes

An opaque unique identifier for this task for correlating a completion request the embedded request.

request temporal.api.nexus.v1.Request

Embedded request as translated from the incoming frontend request.

PollWorkflowExecutionUpdateRequest

FieldTypeLabelDescription
namespace string

The namespace of the workflow execution to which the update was originally issued.

update_ref temporal.api.update.v1.UpdateRef

The update reference returned in the initial UpdateWorkflowExecutionResponse

identity string

The identity of the worker/client who is polling this update outcome

wait_policy temporal.api.update.v1.WaitPolicy

Describes when this poll request should return a response. Omit to request a non-blocking poll.

PollWorkflowExecutionUpdateResponse

FieldTypeLabelDescription
outcome temporal.api.update.v1.Outcome

The outcome of the update if and only if the update has completed. If this response is being returned before the update has completed (e.g. due to the specification of a wait policy that only waits on UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ACCEPTED) then this field will not be set.

stage temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage

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.

update_ref temporal.api.update.v1.UpdateRef

Sufficient information to address this update.

PollWorkflowTaskQueueRequest

FieldTypeLabelDescription
namespace string

task_queue temporal.api.taskqueue.v1.TaskQueue

identity string

The identity of the worker/client who is polling this task queue

binary_checksum string

DEPRECATED since 1.21 - use `worker_version_capabilities` instead. Each worker process should provide an ID unique to the specific set of code it is running "checksum" in this field name isn't very accurate, it should be though of as an id.

worker_version_capabilities temporal.api.common.v1.WorkerVersionCapabilities

Information about this worker's build identifier and if it is choosing to use the versioning feature. See the `WorkerVersionCapabilities` docstring for more.

PollWorkflowTaskQueueResponse

FieldTypeLabelDescription
task_token bytes

A unique identifier for this task

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

previous_started_event_id int64

The last workflow task started event which was processed by some worker for this execution. Will be zero if no task has ever started.

started_event_id int64

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 int32

Starting at 1, the number of attempts to complete this task by any worker.

backlog_count_hint int64

A hint that there are more tasks already present in this task queue. Can be used to prioritize draining a sticky queue before polling from a normal queue.

history temporal.api.history.v1.History

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.

next_page_token bytes

Will be set if there are more history events than were included in this response. Such events should be fetched via `GetWorkflowExecutionHistory`.

query temporal.api.query.v1.WorkflowQuery

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.

workflow_execution_task_queue temporal.api.taskqueue.v1.TaskQueue

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.

scheduled_time google.protobuf.Timestamp

When this task was scheduled by the server

started_time google.protobuf.Timestamp

When the current workflow task started event was generated, meaning the current attempt.

queries PollWorkflowTaskQueueResponse.QueriesEntry repeated

Queries that should be executed after applying the history in this task. Responses should be attached to `RespondWorkflowTaskCompletedRequest::query_results`

messages temporal.api.protocol.v1.Message repeated

Protocol messages piggybacking on a WFT as a transport

PollWorkflowTaskQueueResponse.QueriesEntry

FieldTypeLabelDescription
key string

value temporal.api.query.v1.WorkflowQuery

QueryWorkflowRequest

FieldTypeLabelDescription
namespace string

execution temporal.api.common.v1.WorkflowExecution

query temporal.api.query.v1.WorkflowQuery

query_reject_condition temporal.api.enums.v1.QueryRejectCondition

QueryRejectCondition can used to reject the query if workflow state does not satisfy condition. Default: QUERY_REJECT_CONDITION_NONE.

QueryWorkflowResponse

FieldTypeLabelDescription
query_result temporal.api.common.v1.Payloads

query_rejected temporal.api.query.v1.QueryRejected

RecordActivityTaskHeartbeatByIdRequest

FieldTypeLabelDescription
namespace string

Namespace of the workflow which scheduled this activity

workflow_id string

Id of the workflow which scheduled this activity

run_id string

Run Id of the workflow which scheduled this activity

activity_id string

Id of the activity we're heartbeating

details temporal.api.common.v1.Payloads

Arbitrary data, of which the most recent call is kept, to store for this activity

identity string

The identity of the worker/client

RecordActivityTaskHeartbeatByIdResponse

FieldTypeLabelDescription
cancel_requested bool

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.

RecordActivityTaskHeartbeatRequest

FieldTypeLabelDescription
task_token bytes

The task token as received in `PollActivityTaskQueueResponse`

details temporal.api.common.v1.Payloads

Arbitrary data, of which the most recent call is kept, to store for this activity

identity string

The identity of the worker/client

namespace string

RecordActivityTaskHeartbeatResponse

FieldTypeLabelDescription
cancel_requested bool

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.

RegisterNamespaceRequest

FieldTypeLabelDescription
namespace string

description string

owner_email string

workflow_execution_retention_period google.protobuf.Duration

clusters temporal.api.replication.v1.ClusterReplicationConfig repeated

active_cluster_name string

data RegisterNamespaceRequest.DataEntry repeated

A key-value map for any customized purpose.

security_token string

is_global_namespace bool

history_archival_state temporal.api.enums.v1.ArchivalState

If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used.

history_archival_uri string

visibility_archival_state temporal.api.enums.v1.ArchivalState

If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used.

visibility_archival_uri string

RegisterNamespaceRequest.DataEntry

FieldTypeLabelDescription
key string

value string

RegisterNamespaceResponse

RequestCancelWorkflowExecutionRequest

FieldTypeLabelDescription
namespace string

workflow_execution temporal.api.common.v1.WorkflowExecution

identity string

The identity of the worker/client

request_id string

Used to de-dupe cancellation requests

first_execution_run_id string

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 string

Reason for requesting the cancellation

RequestCancelWorkflowExecutionResponse

ResetStickyTaskQueueRequest

FieldTypeLabelDescription
namespace string

execution temporal.api.common.v1.WorkflowExecution

ResetStickyTaskQueueResponse

ResetWorkflowExecutionRequest

FieldTypeLabelDescription
namespace string

workflow_execution temporal.api.common.v1.WorkflowExecution

reason string

workflow_task_finish_event_id int64

The id of a `WORKFLOW_TASK_COMPLETED`,`WORKFLOW_TASK_TIMED_OUT`, `WORKFLOW_TASK_FAILED`, or `WORKFLOW_TASK_STARTED` event to reset to.

request_id string

Used to de-dupe reset requests

reset_reapply_type temporal.api.enums.v1.ResetReapplyType

Event types to be reapplied (deprecated) Default: RESET_REAPPLY_TYPE_ALL_ELIGIBLE

reset_reapply_exclude_types temporal.api.enums.v1.ResetReapplyExcludeType repeated

Event types not to be reapplied

ResetWorkflowExecutionResponse

FieldTypeLabelDescription
run_id string

RespondActivityTaskCanceledByIdRequest

FieldTypeLabelDescription
namespace string

Namespace of the workflow which scheduled this activity

workflow_id string

Id of the workflow which scheduled this activity

run_id string

Run Id of the workflow which scheduled this activity

activity_id string

Id of the activity to confirm is cancelled

details temporal.api.common.v1.Payloads

Serialized additional information to attach to the cancellation

identity string

The identity of the worker/client

RespondActivityTaskCanceledByIdResponse

RespondActivityTaskCanceledRequest

FieldTypeLabelDescription
task_token bytes

The task token as received in `PollActivityTaskQueueResponse`

details temporal.api.common.v1.Payloads

Serialized additional information to attach to the cancellation

identity string

The identity of the worker/client

namespace string

worker_version temporal.api.common.v1.WorkerVersionStamp

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.

RespondActivityTaskCanceledResponse

RespondActivityTaskCompletedByIdRequest

FieldTypeLabelDescription
namespace string

Namespace of the workflow which scheduled this activity

workflow_id string

Id of the workflow which scheduled this activity

run_id string

Run Id of the workflow which scheduled this activity

activity_id string

Id of the activity to complete

result temporal.api.common.v1.Payloads

The serialized result of activity execution

identity string

The identity of the worker/client

RespondActivityTaskCompletedByIdResponse

RespondActivityTaskCompletedRequest

FieldTypeLabelDescription
task_token bytes

The task token as received in `PollActivityTaskQueueResponse`

result temporal.api.common.v1.Payloads

The result of successfully executing the activity

identity string

The identity of the worker/client

namespace string

worker_version temporal.api.common.v1.WorkerVersionStamp

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.

RespondActivityTaskCompletedResponse

RespondActivityTaskFailedByIdRequest

FieldTypeLabelDescription
namespace string

Namespace of the workflow which scheduled this activity

workflow_id string

Id of the workflow which scheduled this activity

run_id string

Run Id of the workflow which scheduled this activity

activity_id string

Id of the activity to fail

failure temporal.api.failure.v1.Failure

Detailed failure information

identity string

The identity of the worker/client

last_heartbeat_details temporal.api.common.v1.Payloads

Additional details to be stored as last activity heartbeat

RespondActivityTaskFailedByIdResponse

FieldTypeLabelDescription
failures temporal.api.failure.v1.Failure repeated

Server validation failures could include last_heartbeat_details payload is too large, request failure is too large

RespondActivityTaskFailedRequest

FieldTypeLabelDescription
task_token bytes

The task token as received in `PollActivityTaskQueueResponse`

failure temporal.api.failure.v1.Failure

Detailed failure information

identity string

The identity of the worker/client

namespace string

last_heartbeat_details temporal.api.common.v1.Payloads

Additional details to be stored as last activity heartbeat

worker_version temporal.api.common.v1.WorkerVersionStamp

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.

RespondActivityTaskFailedResponse

FieldTypeLabelDescription
failures temporal.api.failure.v1.Failure repeated

Server validation failures could include last_heartbeat_details payload is too large, request failure is too large

RespondNexusTaskCompletedRequest

FieldTypeLabelDescription
namespace string

identity string

The identity of the client who initiated this request.

task_token bytes

A unique identifier for this task as received via a poll response.

response temporal.api.nexus.v1.Response

Embedded response to be translated into a frontend response.

RespondNexusTaskCompletedResponse

RespondNexusTaskFailedRequest

FieldTypeLabelDescription
namespace string

identity string

The identity of the client who initiated this request.

task_token bytes

A unique identifier for this task.

error temporal.api.nexus.v1.HandlerError

The error the handler failed with.

RespondNexusTaskFailedResponse

RespondQueryTaskCompletedRequest

FieldTypeLabelDescription
task_token bytes

completed_type temporal.api.enums.v1.QueryResultType

query_result temporal.api.common.v1.Payloads

error_message string

namespace string

RespondQueryTaskCompletedResponse

RespondWorkflowTaskCompletedRequest

FieldTypeLabelDescription
task_token bytes

The task token as received in `PollWorkflowTaskQueueResponse`

commands temporal.api.command.v1.Command repeated

A list of commands generated when driving the workflow code in response to the new task

identity string

The identity of the worker/client

sticky_attributes temporal.api.taskqueue.v1.StickyExecutionAttributes

May be set by workers to indicate that the worker desires future tasks to be provided with incremental history on a sticky queue.

return_new_workflow_task bool

If set, the worker wishes to immediately receive the next workflow task as a response to this completion. This can save on polling round-trips.

force_create_new_workflow_task bool

Can be used to *force* creation of a new workflow task, even if no commands have resolved or one would not otherwise have been generated. This is used when the worker knows it is doing something useful, but cannot complete it within the workflow task timeout. Local activities which run for longer than the task timeout being the prime example.

binary_checksum string

DEPRECATED since 1.21 - use `worker_version_stamp` instead. Worker process' unique binary id

query_results RespondWorkflowTaskCompletedRequest.QueryResultsEntry repeated

Responses to the `queries` field in the task being responded to

namespace string

worker_version_stamp temporal.api.common.v1.WorkerVersionStamp

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.

messages temporal.api.protocol.v1.Message repeated

Protocol messages piggybacking on a WFT as a transport

sdk_metadata temporal.api.sdk.v1.WorkflowTaskCompletedMetadata

Data the SDK wishes to record for itself, but server need not interpret, and does not directly impact workflow state.

metering_metadata temporal.api.common.v1.MeteringMetadata

Local usage data collected for metering

RespondWorkflowTaskCompletedRequest.QueryResultsEntry

FieldTypeLabelDescription
key string

value temporal.api.query.v1.WorkflowQueryResult

RespondWorkflowTaskCompletedResponse

FieldTypeLabelDescription
workflow_task PollWorkflowTaskQueueResponse

See `RespondWorkflowTaskCompletedResponse::return_new_workflow_task`

activity_tasks PollActivityTaskQueueResponse repeated

See `ScheduleActivityTaskCommandAttributes::request_start`

reset_history_event_id int64

RespondWorkflowTaskFailedRequest

FieldTypeLabelDescription
task_token bytes

The task token as received in `PollWorkflowTaskQueueResponse`

cause temporal.api.enums.v1.WorkflowTaskFailedCause

Why did the task fail? It's important to note that many of the variants in this enum cannot apply to worker responses. See the type's doc for more.

failure temporal.api.failure.v1.Failure

Failure details

identity string

The identity of the worker/client

binary_checksum string

DEPRECATED since 1.21 - use `worker_version_stamp` instead. Worker process' unique binary id

namespace string

messages temporal.api.protocol.v1.Message repeated

Protocol messages piggybacking on a WFT as a transport

worker_version temporal.api.common.v1.WorkerVersionStamp

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.

RespondWorkflowTaskFailedResponse

ScanWorkflowExecutionsRequest

FieldTypeLabelDescription
namespace string

page_size int32

next_page_token bytes

query string

ScanWorkflowExecutionsResponse

FieldTypeLabelDescription
executions temporal.api.workflow.v1.WorkflowExecutionInfo repeated

next_page_token bytes

SignalWithStartWorkflowExecutionRequest

FieldTypeLabelDescription
namespace string

workflow_id string

workflow_type temporal.api.common.v1.WorkflowType

task_queue temporal.api.taskqueue.v1.TaskQueue

The task queue to start this workflow on, if it will be started

input temporal.api.common.v1.Payloads

Serialized arguments to the workflow. These are passed as arguments to the workflow function.

workflow_execution_timeout google.protobuf.Duration

Total workflow execution timeout including retries and continue as new

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task

identity string

The identity of the worker/client

request_id string

Used to de-dupe signal w/ start requests

workflow_id_reuse_policy temporal.api.enums.v1.WorkflowIdReusePolicy

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.

workflow_id_conflict_policy temporal.api.enums.v1.WorkflowIdConflictPolicy

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.

signal_name string

The workflow author-defined name of the signal to send to the workflow

signal_input temporal.api.common.v1.Payloads

Serialized value(s) to provide with the signal

control string

Deprecated

retry_policy temporal.api.common.v1.RetryPolicy

Retry policy for the workflow

cron_schedule string

See https://docs.temporal.io/docs/content/what-is-a-temporal-cron-job/

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

header temporal.api.common.v1.Header

workflow_start_delay google.protobuf.Duration

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 and `skip_generate_workflow_task` is false or not set, 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.

skip_generate_workflow_task bool

Indicates that a new workflow task should not be generated when this signal is received.

SignalWithStartWorkflowExecutionResponse

FieldTypeLabelDescription
run_id string

The run id of the workflow that was started - or just signaled, if it was already running.

started bool

If true, a new workflow was started.

SignalWorkflowExecutionRequest

FieldTypeLabelDescription
namespace string

workflow_execution temporal.api.common.v1.WorkflowExecution

signal_name string

The workflow author-defined name of the signal to send to the workflow

input temporal.api.common.v1.Payloads

Serialized value(s) to provide with the signal

identity string

The identity of the worker/client

request_id string

Used to de-dupe sent signals

control string

Deprecated

header temporal.api.common.v1.Header

Headers that are passed with the signal to the processing workflow. These can include things like auth or tracing tokens.

skip_generate_workflow_task bool

Indicates that a new workflow task should not be generated when this signal is received.

SignalWorkflowExecutionResponse

StartBatchOperationRequest

FieldTypeLabelDescription
namespace string

Namespace that contains the batch operation

visibility_query string

Visibility query defines the the group of workflow to apply the batch operation This field and `executions` are mutually exclusive

job_id string

Job ID defines the unique ID for the batch job

reason string

Reason to perform the batch operation

executions temporal.api.common.v1.WorkflowExecution repeated

Executions to apply the batch operation This field and `visibility_query` are mutually exclusive

max_operations_per_second float

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.

termination_operation temporal.api.batch.v1.BatchOperationTermination

signal_operation temporal.api.batch.v1.BatchOperationSignal

cancellation_operation temporal.api.batch.v1.BatchOperationCancellation

deletion_operation temporal.api.batch.v1.BatchOperationDeletion

reset_operation temporal.api.batch.v1.BatchOperationReset

StartBatchOperationResponse

StartWorkflowExecutionRequest

FieldTypeLabelDescription
namespace string

workflow_id string

workflow_type temporal.api.common.v1.WorkflowType

task_queue temporal.api.taskqueue.v1.TaskQueue

input temporal.api.common.v1.Payloads

Serialized arguments to the workflow. These are passed as arguments to the workflow function.

workflow_execution_timeout google.protobuf.Duration

Total workflow execution timeout including retries and continue as new.

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run.

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task.

identity string

The identity of the client who initiated this request

request_id string

A unique identifier for this start request. Typically UUIDv4.

workflow_id_reuse_policy temporal.api.enums.v1.WorkflowIdReusePolicy

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.

workflow_id_conflict_policy temporal.api.enums.v1.WorkflowIdConflictPolicy

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.

retry_policy temporal.api.common.v1.RetryPolicy

The retry policy for the workflow. Will never exceed `workflow_execution_timeout`.

cron_schedule string

See https://docs.temporal.io/docs/content/what-is-a-temporal-cron-job/

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

header temporal.api.common.v1.Header

request_eager_execution bool

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

continued_failure temporal.api.failure.v1.Failure

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.

last_completion_result temporal.api.common.v1.Payloads

workflow_start_delay google.protobuf.Duration

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.

completion_callbacks temporal.api.common.v1.Callback repeated

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.

StartWorkflowExecutionResponse

FieldTypeLabelDescription
run_id string

The run id of the workflow that was started - or used (via WorkflowIdConflictPolicy USE_EXISTING).

started bool

If true, a new workflow was started.

eager_workflow_task PollWorkflowTaskQueueResponse

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.

StopBatchOperationRequest

FieldTypeLabelDescription
namespace string

Namespace that contains the batch operation

job_id string

Batch job id

reason string

Reason to stop a batch operation

identity string

Identity of the operator

StopBatchOperationResponse

TerminateWorkflowExecutionRequest

FieldTypeLabelDescription
namespace string

workflow_execution temporal.api.common.v1.WorkflowExecution

reason string

details temporal.api.common.v1.Payloads

Serialized additional information to attach to the termination event

identity string

The identity of the worker/client

first_execution_run_id string

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.

TerminateWorkflowExecutionResponse

UpdateNamespaceRequest

FieldTypeLabelDescription
namespace string

update_info temporal.api.namespace.v1.UpdateNamespaceInfo

config temporal.api.namespace.v1.NamespaceConfig

replication_config temporal.api.replication.v1.NamespaceReplicationConfig

security_token string

delete_bad_binary string

promote_namespace bool

promote local namespace to global namespace. Ignored if namespace is already global namespace.

UpdateNamespaceResponse

FieldTypeLabelDescription
namespace_info temporal.api.namespace.v1.NamespaceInfo

config temporal.api.namespace.v1.NamespaceConfig

replication_config temporal.api.replication.v1.NamespaceReplicationConfig

failover_version int64

is_global_namespace bool

UpdateScheduleRequest

FieldTypeLabelDescription
namespace string

The namespace of the schedule to update.

schedule_id string

The id of the schedule to update.

schedule temporal.api.schedule.v1.Schedule

The new schedule. The four main fields of the schedule (spec, action, policies, state) are replaced completely by the values in this message.

conflict_token bytes

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.

identity string

The identity of the client who initiated this request.

request_id string

A unique identifier for this update request for idempotence. Typically UUIDv4.

UpdateScheduleResponse

UpdateWorkerBuildIdCompatibilityRequest

FieldTypeLabelDescription
namespace string

task_queue string

Must be set, the task queue to apply changes to. Because all workers on a given task queue must have the same set of workflow & activity implementations, there is no reason to specify a task queue type here.

add_new_build_id_in_new_default_set string

A new build id. This operation will create a new set which will be the new overall default version for the queue, with this id as its only member. This new set is incompatible with all previous sets/versions. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: In makes perfect sense here. --)

add_new_compatible_build_id UpdateWorkerBuildIdCompatibilityRequest.AddNewCompatibleVersion

Adds a new id to an existing compatible set, see sub-message definition for more.

promote_set_by_build_id string

Promote an existing set to be the current default (if it isn't already) by targeting an existing build id within it. This field's value is the extant build id. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: Names are hard. --)

promote_build_id_within_set string

Promote an existing build id within some set to be the current default for that set. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: Within makes perfect sense here. --)

merge_sets UpdateWorkerBuildIdCompatibilityRequest.MergeSets

Merge two existing sets together, thus declaring all build IDs in both sets compatible with one another. The primary set's default will become the default for the merged set. This is useful if you've accidentally declared a new ID as incompatible you meant to declare as compatible. The unusual case of incomplete replication during failover could also result in a split set, which this operation can repair.

UpdateWorkerBuildIdCompatibilityRequest.AddNewCompatibleVersion

FieldTypeLabelDescription
new_build_id string

A new id to be added to an existing compatible set.

existing_compatible_build_id string

A build id which must already exist in the version sets known by the task queue. The new id will be stored in the set containing this id, marking it as compatible with the versions within.

make_set_default bool

When set, establishes the compatible set being targeted as the overall default for the queue. If a different set was the current default, the targeted set will replace it as the new default.

UpdateWorkerBuildIdCompatibilityRequest.MergeSets

FieldTypeLabelDescription
primary_set_build_id string

A build ID in the set whose default will become the merged set default

secondary_set_build_id string

A build ID in the set which will be merged into the primary set

UpdateWorkerBuildIdCompatibilityResponse

UpdateWorkflowExecutionRequest

(-- api-linter: core::0134=disabled

aip.dev/not-precedent: Update RPCs don't follow Google API format. --)

FieldTypeLabelDescription
namespace string

The namespace name of the target workflow

workflow_execution temporal.api.common.v1.WorkflowExecution

The target workflow id and (optionally) a specific run thereof (-- api-linter: core::0203::optional=disabled aip.dev/not-precedent: false positive triggered by the word "optional" --)

first_execution_run_id string

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.

wait_policy temporal.api.update.v1.WaitPolicy

Describes when this request should return - basically whether the update is synchronous, asynchronous, or somewhere in between.

request temporal.api.update.v1.Request

The request information that will be delivered all the way down to the workflow execution.

UpdateWorkflowExecutionResponse

FieldTypeLabelDescription
update_ref temporal.api.update.v1.UpdateRef

Enough information for subsequent poll calls if needed. Never null.

outcome temporal.api.update.v1.Outcome

The outcome of the update if and only if the workflow execution update has completed. If this response is being returned before the update has completed then this field will not be set.

stage temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage

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.

temporal/api/workflowservice/v1/service.proto

Top

WorkflowService

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.

Method NameRequest TypeResponse TypeDescription
RegisterNamespace RegisterNamespaceRequest RegisterNamespaceResponse

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.

DescribeNamespace DescribeNamespaceRequest DescribeNamespaceResponse

DescribeNamespace returns the information and configuration for a registered namespace.

ListNamespaces ListNamespacesRequest ListNamespacesResponse

ListNamespaces returns the information and configuration for all namespaces.

UpdateNamespace UpdateNamespaceRequest UpdateNamespaceResponse

UpdateNamespace is used to update the information and configuration of a registered namespace.

DeprecateNamespace DeprecateNamespaceRequest DeprecateNamespaceResponse

DeprecateNamespace is used to update the state of a registered namespace to DEPRECATED. Once the namespace is deprecated it cannot be used to start new workflow executions. Existing workflow executions will continue to run on deprecated namespaces. Deprecated. (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: Deprecated --)

StartWorkflowExecution StartWorkflowExecutionRequest StartWorkflowExecutionResponse

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.

GetWorkflowExecutionHistory GetWorkflowExecutionHistoryRequest GetWorkflowExecutionHistoryResponse

GetWorkflowExecutionHistory returns the history of specified workflow execution. Fails with `NotFound` if the specified workflow execution is unknown to the service.

GetWorkflowExecutionHistoryReverse GetWorkflowExecutionHistoryReverseRequest GetWorkflowExecutionHistoryReverseResponse

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.

PollWorkflowTaskQueue PollWorkflowTaskQueueRequest PollWorkflowTaskQueueResponse

PollWorkflowTaskQueue is called by workers to make progress on workflows. A WorkflowTask is dispatched to callers for active workflow executions with pending workflow tasks. The worker is expected to call `RespondWorkflowTaskCompleted` when it is done processing the task. The service will create a `WorkflowTaskStarted` event in the history for this task before handing it to the worker. (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: We do not expose worker API to HTTP. --)

RespondWorkflowTaskCompleted RespondWorkflowTaskCompletedRequest RespondWorkflowTaskCompletedResponse

RespondWorkflowTaskCompleted is called by workers to successfully complete workflow tasks they received from `PollWorkflowTaskQueue`. Completing a WorkflowTask will write a `WORKFLOW_TASK_COMPLETED` event to the workflow's history, along with events corresponding to whatever commands the SDK generated while executing the task (ex timer started, activity task scheduled, etc). (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: We do not expose worker API to HTTP. --)

RespondWorkflowTaskFailed RespondWorkflowTaskFailedRequest RespondWorkflowTaskFailedResponse

RespondWorkflowTaskFailed is called by workers to indicate the processing of a workflow task failed. This results in a `WORKFLOW_TASK_FAILED` event written to the history, and a new workflow task will be scheduled. This API can be used to report unhandled failures resulting from applying the workflow task. Temporal will only append first WorkflowTaskFailed event to the history of workflow execution for consecutive failures. (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: We do not expose worker API to HTTP. --)

PollActivityTaskQueue PollActivityTaskQueueRequest PollActivityTaskQueueResponse

PollActivityTaskQueue is called by workers to process activity tasks from a specific task queue. The worker is expected to call one of the `RespondActivityTaskXXX` methods when it is done processing the task. An activity task is dispatched whenever a `SCHEDULE_ACTIVITY_TASK` command is produced during workflow execution. An in memory `ACTIVITY_TASK_STARTED` event is written to mutable state before the task is dispatched to the worker. The started event, and the final event (`ACTIVITY_TASK_COMPLETED` / `ACTIVITY_TASK_FAILED` / `ACTIVITY_TASK_TIMED_OUT`) will both be written permanently to Workflow execution history when Activity is finished. This is done to avoid writing many events in the case of a failure/retry loop. (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: We do not expose worker API to HTTP. --)

RecordActivityTaskHeartbeat RecordActivityTaskHeartbeatRequest RecordActivityTaskHeartbeatResponse

RecordActivityTaskHeartbeat is optionally called by workers while they execute activities. If worker fails to heartbeat within the `heartbeat_timeout` interval for the activity task, then it will be marked as timed out and 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.

RecordActivityTaskHeartbeatById RecordActivityTaskHeartbeatByIdRequest RecordActivityTaskHeartbeatByIdResponse

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

RespondActivityTaskCompleted RespondActivityTaskCompletedRequest RespondActivityTaskCompletedResponse

RespondActivityTaskCompleted is called by workers when they successfully complete an activity task. 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.

RespondActivityTaskCompletedById RespondActivityTaskCompletedByIdRequest RespondActivityTaskCompletedByIdResponse

See `RecordActivityTaskCompleted`. 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. --)

RespondActivityTaskFailed RespondActivityTaskFailedRequest RespondActivityTaskFailedResponse

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.

RespondActivityTaskFailedById RespondActivityTaskFailedByIdRequest RespondActivityTaskFailedByIdResponse

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

RespondActivityTaskCanceled RespondActivityTaskCanceledRequest RespondActivityTaskCanceledResponse

RespondActivityTaskFailed is called by workers when processing an activity task fails. 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.

RespondActivityTaskCanceledById RespondActivityTaskCanceledByIdRequest RespondActivityTaskCanceledByIdResponse

See `RecordActivityTaskCanceled`. 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. --)

RequestCancelWorkflowExecution RequestCancelWorkflowExecutionRequest RequestCancelWorkflowExecutionResponse

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.

SignalWorkflowExecution SignalWorkflowExecutionRequest SignalWorkflowExecutionResponse

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.

SignalWithStartWorkflowExecution SignalWithStartWorkflowExecutionRequest SignalWithStartWorkflowExecutionResponse

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

ResetWorkflowExecution ResetWorkflowExecutionRequest ResetWorkflowExecutionResponse

ResetWorkflowExecution will reset an existing workflow execution to a specified `WORKFLOW_TASK_COMPLETED` event (exclusive). It will immediately terminate the current execution instance. TODO: Does exclusive here mean *just* the completed event, or also WFT started? Otherwise the task is doomed to time out?

TerminateWorkflowExecution TerminateWorkflowExecutionRequest TerminateWorkflowExecutionResponse

TerminateWorkflowExecution terminates an existing workflow execution by recording a `WORKFLOW_EXECUTION_TERMINATED` event in the history and immediately terminating the execution instance.

DeleteWorkflowExecution DeleteWorkflowExecutionRequest DeleteWorkflowExecutionResponse

DeleteWorkflowExecution asynchronously deletes a specific Workflow Execution (when WorkflowExecution.run_id is provided) or the latest Workflow Execution (when WorkflowExecution.run_id is not provided). If the Workflow Execution is Running, it will be terminated before deletion. (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: Workflow deletion not exposed to HTTP, users should use cancel or terminate. --)

ListOpenWorkflowExecutions ListOpenWorkflowExecutionsRequest ListOpenWorkflowExecutionsResponse

ListOpenWorkflowExecutions is a visibility API to list the open executions in a specific namespace. (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: HTTP users should use ListWorkflowExecutions instead. --)

ListClosedWorkflowExecutions ListClosedWorkflowExecutionsRequest ListClosedWorkflowExecutionsResponse

ListClosedWorkflowExecutions is a visibility API to list the closed executions in a specific namespace. (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: HTTP users should use ListWorkflowExecutions instead. --)

ListWorkflowExecutions ListWorkflowExecutionsRequest ListWorkflowExecutionsResponse

ListWorkflowExecutions is a visibility API to list workflow executions in a specific namespace.

ListArchivedWorkflowExecutions ListArchivedWorkflowExecutionsRequest ListArchivedWorkflowExecutionsResponse

ListArchivedWorkflowExecutions is a visibility API to list archived workflow executions in a specific namespace.

ScanWorkflowExecutions ScanWorkflowExecutionsRequest ScanWorkflowExecutionsResponse

ScanWorkflowExecutions is a visibility API to list large amount of workflow executions in a specific namespace without order. (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: HTTP users should use ListWorkflowExecutions instead. --)

CountWorkflowExecutions CountWorkflowExecutionsRequest CountWorkflowExecutionsResponse

CountWorkflowExecutions is a visibility API to count of workflow executions in a specific namespace.

GetSearchAttributes GetSearchAttributesRequest GetSearchAttributesResponse

GetSearchAttributes is a visibility API to get all legal keys that could be used in list APIs (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: We do not expose this search attribute API to HTTP (but may expose on OperatorService). --)

RespondQueryTaskCompleted RespondQueryTaskCompletedRequest RespondQueryTaskCompletedResponse

RespondQueryTaskCompleted is called by workers to complete queries which were delivered on the `query` (not `queries`) field of a `PollWorkflowTaskQueueResponse`. Completing the query will unblock the corresponding client call to `QueryWorkflow` and return the query result a response. (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: We do not expose worker API to HTTP. --)

ResetStickyTaskQueue ResetStickyTaskQueueRequest ResetStickyTaskQueueResponse

ResetStickyTaskQueue resets the sticky task queue related information in the mutable state of a given workflow. This is prudent for workers to perform if a workflow has been paged out of their cache. Things cleared are: 1. StickyTaskQueue 2. StickyScheduleToStartTimeout (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: We do not expose worker API to HTTP. --)

QueryWorkflow QueryWorkflowRequest QueryWorkflowResponse

QueryWorkflow requests a query be executed for a specified workflow execution.

DescribeWorkflowExecution DescribeWorkflowExecutionRequest DescribeWorkflowExecutionResponse

DescribeWorkflowExecution returns information about the specified workflow execution.

DescribeTaskQueue DescribeTaskQueueRequest DescribeTaskQueueResponse

DescribeTaskQueue returns information about the target task queue.

GetClusterInfo GetClusterInfoRequest GetClusterInfoResponse

GetClusterInfo returns information about temporal cluster

GetSystemInfo GetSystemInfoRequest GetSystemInfoResponse

GetSystemInfo returns information about the system.

ListTaskQueuePartitions ListTaskQueuePartitionsRequest ListTaskQueuePartitionsResponse

(-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: We do not expose this low-level API to HTTP. --)

CreateSchedule CreateScheduleRequest CreateScheduleResponse

Creates a new schedule.

DescribeSchedule DescribeScheduleRequest DescribeScheduleResponse

Returns the schedule description and current state of an existing schedule.

UpdateSchedule UpdateScheduleRequest UpdateScheduleResponse

Changes the configuration or state of an existing schedule.

PatchSchedule PatchScheduleRequest PatchScheduleResponse

Makes a specific change to a schedule or triggers an immediate action.

ListScheduleMatchingTimes ListScheduleMatchingTimesRequest ListScheduleMatchingTimesResponse

Lists matching times within a range.

DeleteSchedule DeleteScheduleRequest DeleteScheduleResponse

Deletes a schedule, removing it from the system.

ListSchedules ListSchedulesRequest ListSchedulesResponse

List all schedules in a namespace.

UpdateWorkerBuildIdCompatibility UpdateWorkerBuildIdCompatibilityRequest UpdateWorkerBuildIdCompatibilityResponse

Allows users to specify sets of worker build id versions on a per task queue basis. Versions are ordered, and may be either compatible with some extant version, or a new incompatible version, forming sets of ids which are incompatible with each other, but whose contained members are compatible with one another. A single build id may be mapped to multiple task queues using this API for cases where a single process hosts multiple workers. To query which workers can be retired, use the `GetWorkerTaskReachability` API. NOTE: The number of task queues mapped to a single build id is limited by the `limit.taskQueuesPerBuildId` (default is 20), if this limit is exceeded this API will error with a FailedPrecondition. (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: We do yet expose versioning API to HTTP. --)

GetWorkerBuildIdCompatibility GetWorkerBuildIdCompatibilityRequest GetWorkerBuildIdCompatibilityResponse

Fetches the worker build id versioning sets for a task queue.

GetWorkerTaskReachability GetWorkerTaskReachabilityRequest GetWorkerTaskReachabilityResponse

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.

UpdateWorkflowExecution UpdateWorkflowExecutionRequest UpdateWorkflowExecutionResponse

Invokes the specified update function on user workflow code.

PollWorkflowExecutionUpdate PollWorkflowExecutionUpdateRequest PollWorkflowExecutionUpdateResponse

Polls a workflow execution for the outcome of a workflow execution update previously issued through the UpdateWorkflowExecution RPC. The effective timeout on this call will be shorter of the the caller-supplied gRPC timeout and the server's configured long-poll timeout. (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: We don't expose update polling API to HTTP in favor of a potential future non-blocking form. --)

StartBatchOperation StartBatchOperationRequest StartBatchOperationResponse

StartBatchOperation starts a new batch operation

StopBatchOperation StopBatchOperationRequest StopBatchOperationResponse

StopBatchOperation stops a batch operation

DescribeBatchOperation DescribeBatchOperationRequest DescribeBatchOperationResponse

DescribeBatchOperation returns the information about a batch operation

ListBatchOperations ListBatchOperationsRequest ListBatchOperationsResponse

ListBatchOperations returns a list of batch operations

PollNexusTaskQueue PollNexusTaskQueueRequest PollNexusTaskQueueResponse

PollNexusTaskQueue is a long poll call used by workers to receive Nexus tasks. (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: We do not expose worker API to HTTP. --)

RespondNexusTaskCompleted RespondNexusTaskCompletedRequest RespondNexusTaskCompletedResponse

RespondNexusTaskCompleted is called by workers to respond to Nexus tasks received via PollNexusTaskQueue. (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: We do not expose worker API to HTTP. --)

RespondNexusTaskFailed RespondNexusTaskFailedRequest RespondNexusTaskFailedResponse

RespondNexusTaskFailed is called by workers to fail Nexus tasks received via PollNexusTaskQueue. (-- api-linter: core::0127::http-annotation=disabled aip.dev/not-precedent: We do not expose worker API to HTTP. --)

Methods with HTTP bindings

Method Name Method Pattern Body
RegisterNamespace POST /api/v1/namespaces *
DescribeNamespace GET /api/v1/namespaces/{namespace}
ListNamespaces GET /api/v1/namespaces
UpdateNamespace POST /api/v1/namespaces/{namespace}/update *
StartWorkflowExecution POST /api/v1/namespaces/{namespace}/workflows/{workflow_id} *
GetWorkflowExecutionHistory GET /api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/history
GetWorkflowExecutionHistoryReverse GET /api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/history-reverse
RecordActivityTaskHeartbeat POST /api/v1/namespaces/{namespace}/activities/heartbeat *
RecordActivityTaskHeartbeatById POST /api/v1/namespaces/{namespace}/activities/heartbeat-by-id *
RespondActivityTaskCompleted POST /api/v1/namespaces/{namespace}/activities/complete *
RespondActivityTaskCompletedById POST /api/v1/namespaces/{namespace}/activities/complete-by-id *
RespondActivityTaskFailed POST /api/v1/namespaces/{namespace}/activities/fail *
RespondActivityTaskFailedById POST /api/v1/namespaces/{namespace}/activities/fail-by-id *
RespondActivityTaskCanceled POST /api/v1/namespaces/{namespace}/activities/cancel *
RespondActivityTaskCanceledById POST /api/v1/namespaces/{namespace}/activities/cancel-by-id *
RequestCancelWorkflowExecution POST /api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/cancel *
SignalWorkflowExecution POST /api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signal_name} *
SignalWithStartWorkflowExecution POST /api/v1/namespaces/{namespace}/workflows/{workflow_id}/signal-with-start/{signal_name} *
ResetWorkflowExecution POST /api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset *
TerminateWorkflowExecution POST /api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/terminate *
ListWorkflowExecutions GET /api/v1/namespaces/{namespace}/workflows
ListArchivedWorkflowExecutions GET /api/v1/namespaces/{namespace}/archived-workflows
CountWorkflowExecutions GET /api/v1/namespaces/{namespace}/workflow-count
QueryWorkflow POST /api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/query/{query.query_type} *
DescribeWorkflowExecution GET /api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}
DescribeTaskQueue GET /api/v1/namespaces/{namespace}/task-queues/{task_queue.name}
GetClusterInfo GET /api/v1/cluster-info
GetSystemInfo GET /api/v1/system-info
CreateSchedule POST /api/v1/namespaces/{namespace}/schedules/{schedule_id} *
DescribeSchedule GET /api/v1/namespaces/{namespace}/schedules/{schedule_id}
UpdateSchedule POST /api/v1/namespaces/{namespace}/schedules/{schedule_id}/update *
PatchSchedule POST /api/v1/namespaces/{namespace}/schedules/{schedule_id}/patch *
ListScheduleMatchingTimes GET /api/v1/namespaces/{namespace}/schedules/{schedule_id}/matching-times
DeleteSchedule DELETE /api/v1/namespaces/{namespace}/schedules/{schedule_id}
ListSchedules GET /api/v1/namespaces/{namespace}/schedules
GetWorkerBuildIdCompatibility GET /api/v1/namespaces/{namespace}/task-queues/{task_queue}/worker-build-id-compatibility
GetWorkerTaskReachability GET /api/v1/namespaces/{namespace}/worker-task-reachability
UpdateWorkflowExecution POST /api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update/{request.input.name} *
StartBatchOperation POST /api/v1/namespaces/{namespace}/batch-operations/{job_id} *
StopBatchOperation POST /api/v1/namespaces/{namespace}/batch-operations/{job_id}/stop *
DescribeBatchOperation GET /api/v1/namespaces/{namespace}/batch-operations/{job_id}
ListBatchOperations GET /api/v1/namespaces/{namespace}/batch-operations

temporal/api/query/v1/message.proto

Top

QueryRejected

FieldTypeLabelDescription
status temporal.api.enums.v1.WorkflowExecutionStatus

WorkflowQuery

See https://docs.temporal.io/docs/concepts/queries/

FieldTypeLabelDescription
query_type string

The workflow-author-defined identifier of the query. Typically a function name.

query_args temporal.api.common.v1.Payloads

Serialized arguments that will be provided to the query handler.

header temporal.api.common.v1.Header

Headers that were passed by the caller of the query and copied by temporal server into the workflow task.

WorkflowQueryResult

Answer to a `WorkflowQuery`

FieldTypeLabelDescription
result_type temporal.api.enums.v1.QueryResultType

Did the query succeed or fail?

answer temporal.api.common.v1.Payloads

Set when the query succeeds with the results

error_message string

Mutually exclusive with `answer`. Set when the query fails.

temporal/api/nexus/v1/message.proto

Top

CancelOperationRequest

A request to cancel an operation.

FieldTypeLabelDescription
operation string

Type of operation to cancel.

operation_id string

Operation ID as originally generated by a Handler.

CancelOperationResponse

Response variant for CancelOperationRequest.

Failure

A general purpose failure message.

See: https://github.com/nexus-rpc/api/blob/main/SPEC.md#failure

FieldTypeLabelDescription
message string

metadata Failure.MetadataEntry repeated

details google.protobuf.Value

Failure.MetadataEntry

FieldTypeLabelDescription
key string

value string

HandlerError

FieldTypeLabelDescription
error_type string

See https://github.com/nexus-rpc/api/blob/main/SPEC.md#predefined-handler-errors.

failure Failure

IncomingService

A cluster-global binding from a service ID to namespace, task queue, and metadata for dispatching incoming Nexus

requests.

FieldTypeLabelDescription
version int64

Data version for this service, incremented for every update issued via the UpdateNexusIncomingService API.

id string

Unique server-generated service ID.

spec IncomingServiceSpec

Spec for the service.

created_time google.protobuf.Timestamp

The date and time when the service was created. (-- api-linter: core::0142::time-field-names=disabled aip.dev/not-precedent: Not following linter rules. --)

last_modified_time google.protobuf.Timestamp

The date and time when the service was last modified. Will not be set if the service has never been modified. (-- api-linter: core::0142::time-field-names=disabled aip.dev/not-precedent: Not following linter rules. --)

url_prefix string

Server exposed URL prefix for invocation of operations on this service. 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 service renames.

IncomingServiceSpec

Contains mutable fields for an IncomingService.

FieldTypeLabelDescription
name string

Service name, unique for this cluster. Must match `[a-zA-Z_][a-zA-Z0-9_]*`.

namespace string

Namespace to route requests to.

task_queue string

Task queue to route requests to.

metadata IncomingServiceSpec.MetadataEntry repeated

Generic service metadata that is available to the server's authorizer.

IncomingServiceSpec.MetadataEntry

FieldTypeLabelDescription
key string

value google.protobuf.Any

OutgoingService

A per-namespace binding from service name to URL that is used by the service to invoke Nexus requests that are

initiated by workflows.

FieldTypeLabelDescription
version int64

Data version for this service, incremented for every mutation.

name string

Name of the service

spec OutgoingServiceSpec

Spec for the service.

created_time google.protobuf.Timestamp

The date and time when the service was created. (-- api-linter: core::0142::time-field-names=disabled aip.dev/not-precedent: Not following linter rules. --)

last_modified_time google.protobuf.Timestamp

The date and time when the service was last modified. Will not be set if the service has never been modified. (-- api-linter: core::0142::time-field-names=disabled aip.dev/not-precedent: Not following linter rules. --)

OutgoingServiceSpec

Contains mutable fields for an OutgoingService.

FieldTypeLabelDescription
url string

URL to invoke requests.

Request

A Nexus request.

FieldTypeLabelDescription
header Request.HeaderEntry repeated

Headers extracted from the original request in the Temporal frontend. When using Nexus over HTTP, this includes the request's HTTP headers ignoring multiple values.

start_operation StartOperationRequest

cancel_operation CancelOperationRequest

Request.HeaderEntry

FieldTypeLabelDescription
key string

value string

Response

A response indicating that the handler has successfully processed a request.

FieldTypeLabelDescription
start_operation StartOperationResponse

cancel_operation CancelOperationResponse

StartOperationRequest

A request to start an operation.

FieldTypeLabelDescription
operation string

Type of operation to start.

request_id string

A request ID that can be used as an idempotentency key.

callback string

Callback URL to call upon completion if the started operation is async.

payload temporal.api.common.v1.Payload

Full request body from the incoming HTTP request.

StartOperationResponse

Response variant for StartOperationRequest.

FieldTypeLabelDescription
sync_success StartOperationResponse.Sync

async_success StartOperationResponse.Async

operation_error UnsuccessfulOperationError

The operation completed unsuccessfully (failed or canceled).

StartOperationResponse.Async

The operation will complete asynchronously.

The returned ID can be used to reference this operation.

FieldTypeLabelDescription
operation_id string

StartOperationResponse.Sync

An operation completed successfully.

FieldTypeLabelDescription
payload temporal.api.common.v1.Payload

UnsuccessfulOperationError

FieldTypeLabelDescription
operation_state string

See https://github.com/nexus-rpc/api/blob/main/SPEC.md#operationinfo.

failure Failure

temporal/api/export/v1/message.proto

Top

WorkflowExecution

FieldTypeLabelDescription
history temporal.api.history.v1.History

WorkflowExecutions

WorkflowExecutions is used by the Cloud Export feature to deserialize

the exported file. It encapsulates a collection of workflow execution information.

FieldTypeLabelDescription
items WorkflowExecution repeated

temporal/api/sdk/v1/task_complete_metadata.proto

Top

WorkflowTaskCompletedMetadata

FieldTypeLabelDescription
core_used_flags uint32 repeated

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

lang_used_flags uint32 repeated

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

sdk_name string

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

sdk_version string

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

temporal/api/sdk/v1/workflow_metadata.proto

Top

WorkflowDefinition

(-- api-linter: core::0203::optional=disabled --)

FieldTypeLabelDescription
type string

A name scoped by the task queue that maps to this workflow definition. If missing, this workflow is a dynamic workflow.

description string

An optional workflow description provided by the application. By convention, external tools may interpret its first part, i.e., ending with a line break, as a summary of the description.

query_definitions WorkflowInteractionDefinition repeated

signal_definitions WorkflowInteractionDefinition repeated

update_definitions WorkflowInteractionDefinition repeated

WorkflowInteractionDefinition

(-- api-linter: core::0123::resource-annotation=disabled

aip.dev/not-precedent: The `name` field is optional. --)

(-- api-linter: core::0203::optional=disabled --)

FieldTypeLabelDescription
name string

An optional name for the handler. If missing, it represents a dynamic handler that processes any interactions not handled by others. There is at most one dynamic handler per workflow and interaction kind.

description string

An optional interaction description provided by the application. By convention, external tools may interpret its first part, i.e., ending with a line break, as a summary of the description.

WorkflowMetadata

The name of the query to retrieve this information is `__temporal_workflow_metadata`.

FieldTypeLabelDescription
definition WorkflowDefinition

Metadata provided at declaration or creation time.

temporal/api/workflow/v1/message.proto

Top

CallbackInfo

CallbackInfo contains the state of an attached workflow callback.

FieldTypeLabelDescription
callback temporal.api.common.v1.Callback

Information on how this callback should be invoked (e.g. its URL and type).

trigger CallbackInfo.Trigger

Trigger for this callback.

registration_time google.protobuf.Timestamp

The time when the callback was registered.

state temporal.api.enums.v1.CallbackState

attempt int32

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.

last_attempt_complete_time google.protobuf.Timestamp

The time when the last attempt completed.

last_attempt_failure temporal.api.failure.v1.Failure

The last attempt's failure, if any.

next_attempt_schedule_time google.protobuf.Timestamp

The time when the next attempt is scheduled.

CallbackInfo.Trigger

FieldTypeLabelDescription
workflow_closed CallbackInfo.WorkflowClosed

CallbackInfo.WorkflowClosed

Trigger for when the workflow is closed.

NewWorkflowExecutionInfo

NewWorkflowExecutionInfo is a shared message that encapsulates all the

required arguments to starting a workflow in different contexts.

FieldTypeLabelDescription
workflow_id string

workflow_type temporal.api.common.v1.WorkflowType

task_queue temporal.api.taskqueue.v1.TaskQueue

input temporal.api.common.v1.Payloads

Serialized arguments to the workflow.

workflow_execution_timeout google.protobuf.Duration

Total workflow execution timeout including retries and continue as new.

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run.

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task.

workflow_id_reuse_policy temporal.api.enums.v1.WorkflowIdReusePolicy

Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.

retry_policy temporal.api.common.v1.RetryPolicy

The retry policy for the workflow. Will never exceed `workflow_execution_timeout`.

cron_schedule string

See https://docs.temporal.io/docs/content/what-is-a-temporal-cron-job/

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

header temporal.api.common.v1.Header

PendingActivityInfo

FieldTypeLabelDescription
activity_id string

activity_type temporal.api.common.v1.ActivityType

state temporal.api.enums.v1.PendingActivityState

heartbeat_details temporal.api.common.v1.Payloads

last_heartbeat_time google.protobuf.Timestamp

last_started_time google.protobuf.Timestamp

attempt int32

maximum_attempts int32

scheduled_time google.protobuf.Timestamp

expiration_time google.protobuf.Timestamp

last_failure temporal.api.failure.v1.Failure

last_worker_identity string

PendingChildExecutionInfo

FieldTypeLabelDescription
workflow_id string

run_id string

workflow_type_name string

initiated_id int64

parent_close_policy temporal.api.enums.v1.ParentClosePolicy

Default: PARENT_CLOSE_POLICY_TERMINATE.

PendingWorkflowTaskInfo

FieldTypeLabelDescription
state temporal.api.enums.v1.PendingWorkflowTaskState

scheduled_time google.protobuf.Timestamp

original_scheduled_time google.protobuf.Timestamp

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.

started_time google.protobuf.Timestamp

attempt int32

ResetPointInfo

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

FieldTypeLabelDescription
build_id string

Worker build id.

binary_checksum string

A worker binary version identifier (deprecated).

run_id string

The first run ID in the execution chain that was touched by this worker build.

first_workflow_task_completed_id int64

Event ID of the first WorkflowTaskCompleted event processed by this worker build.

create_time google.protobuf.Timestamp

expire_time google.protobuf.Timestamp

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

resettable bool

false if the reset point has pending childWFs/reqCancels/signalExternals.

ResetPoints

FieldTypeLabelDescription
points ResetPointInfo repeated

WorkflowExecutionConfig

FieldTypeLabelDescription
task_queue temporal.api.taskqueue.v1.TaskQueue

workflow_execution_timeout google.protobuf.Duration

workflow_run_timeout google.protobuf.Duration

default_workflow_task_timeout google.protobuf.Duration

WorkflowExecutionInfo

FieldTypeLabelDescription
execution temporal.api.common.v1.WorkflowExecution

type temporal.api.common.v1.WorkflowType

start_time google.protobuf.Timestamp

close_time google.protobuf.Timestamp

status temporal.api.enums.v1.WorkflowExecutionStatus

history_length int64

parent_namespace_id string

parent_execution temporal.api.common.v1.WorkflowExecution

execution_time google.protobuf.Timestamp

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

auto_reset_points ResetPoints

task_queue string

state_transition_count int64

history_size_bytes int64

most_recent_worker_version_stamp temporal.api.common.v1.WorkerVersionStamp

If set, the most recent worker version stamp that appeared in a workflow task completion

temporal/api/history/v1/message.proto

Top

ActivityPropertiesModifiedExternallyEventAttributes

FieldTypeLabelDescription
scheduled_event_id int64

The id of the `ACTIVITY_TASK_SCHEDULED` event this modification corresponds to.

new_retry_policy temporal.api.common.v1.RetryPolicy

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

FieldTypeLabelDescription
scheduled_event_id int64

The id of the `ACTIVITY_TASK_SCHEDULED` event this cancel request corresponds to

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

ActivityTaskCanceledEventAttributes

FieldTypeLabelDescription
details temporal.api.common.v1.Payloads

Additional information that the activity reported upon confirming cancellation

latest_cancel_requested_event_id int64

id of the most recent `ACTIVITY_TASK_CANCEL_REQUESTED` event which refers to the same activity

scheduled_event_id int64

The id of the `ACTIVITY_TASK_SCHEDULED` event this cancel confirmation corresponds to

started_event_id int64

The id of the `ACTIVITY_TASK_STARTED` event this cancel confirmation corresponds to

identity string

id of the worker who canceled this activity

worker_version temporal.api.common.v1.WorkerVersionStamp

Version info of the worker who processed this workflow task.

ActivityTaskCompletedEventAttributes

FieldTypeLabelDescription
result temporal.api.common.v1.Payloads

Serialized results of the activity. IE: The return value of the activity function

scheduled_event_id int64

The id of the `ACTIVITY_TASK_SCHEDULED` event this completion corresponds to

started_event_id int64

The id of the `ACTIVITY_TASK_STARTED` event this completion corresponds to

identity string

id of the worker that completed this task

worker_version temporal.api.common.v1.WorkerVersionStamp

Version info of the worker who processed this workflow task.

ActivityTaskFailedEventAttributes

FieldTypeLabelDescription
failure temporal.api.failure.v1.Failure

Failure details

scheduled_event_id int64

The id of the `ACTIVITY_TASK_SCHEDULED` event this failure corresponds to

started_event_id int64

The id of the `ACTIVITY_TASK_STARTED` event this failure corresponds to

identity string

id of the worker that failed this task

retry_state temporal.api.enums.v1.RetryState

worker_version temporal.api.common.v1.WorkerVersionStamp

Version info of the worker who processed this workflow task.

ActivityTaskScheduledEventAttributes

FieldTypeLabelDescription
activity_id string

The worker/user assigned identifier for the activity

activity_type temporal.api.common.v1.ActivityType

task_queue temporal.api.taskqueue.v1.TaskQueue

header temporal.api.common.v1.Header

input temporal.api.common.v1.Payloads

schedule_to_close_timeout google.protobuf.Duration

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

schedule_to_start_timeout google.protobuf.Duration

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

start_to_close_timeout google.protobuf.Duration

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

heartbeat_timeout google.protobuf.Duration

Maximum permitted time between successful worker heartbeats.

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

retry_policy temporal.api.common.v1.RetryPolicy

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.

use_compatible_version bool

If this is set, the workflow executing this command wishes to start the activity using a version compatible with the version that this workflow most recently ran on, if such behavior is possible.

ActivityTaskStartedEventAttributes

FieldTypeLabelDescription
scheduled_event_id int64

The id of the `ACTIVITY_TASK_SCHEDULED` event this task corresponds to

identity string

id of the worker that picked up this task

request_id string

TODO ??

attempt int32

Starting at 1, the number of times this task has been attempted

last_failure temporal.api.failure.v1.Failure

Will be set to the most recent failure details, if this task has previously failed and then been retried.

ActivityTaskTimedOutEventAttributes

FieldTypeLabelDescription
failure temporal.api.failure.v1.Failure

If this activity had failed, was retried, and then timed out, that failure is stored as the `cause` in here.

scheduled_event_id int64

The id of the `ACTIVITY_TASK_SCHEDULED` event this timeout corresponds to

started_event_id int64

The id of the `ACTIVITY_TASK_STARTED` event this timeout corresponds to

retry_state temporal.api.enums.v1.RetryState

ChildWorkflowExecutionCanceledEventAttributes

FieldTypeLabelDescription
details temporal.api.common.v1.Payloads

namespace string

Namespace of the child workflow. SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

initiated_event_id int64

Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to

started_event_id int64

Id of the `CHILD_WORKFLOW_EXECUTION_STARTED` event which this event corresponds to

ChildWorkflowExecutionCompletedEventAttributes

FieldTypeLabelDescription
result temporal.api.common.v1.Payloads

namespace string

Namespace of the child workflow. SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

initiated_event_id int64

Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to

started_event_id int64

Id of the `CHILD_WORKFLOW_EXECUTION_STARTED` event which this event corresponds to

ChildWorkflowExecutionFailedEventAttributes

FieldTypeLabelDescription
failure temporal.api.failure.v1.Failure

namespace string

Namespace of the child workflow. SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

initiated_event_id int64

Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to

started_event_id int64

Id of the `CHILD_WORKFLOW_EXECUTION_STARTED` event which this event corresponds to

retry_state temporal.api.enums.v1.RetryState

ChildWorkflowExecutionStartedEventAttributes

FieldTypeLabelDescription
namespace string

Namespace of the child workflow. SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.

namespace_id string

initiated_event_id int64

Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

header temporal.api.common.v1.Header

ChildWorkflowExecutionTerminatedEventAttributes

FieldTypeLabelDescription
namespace string

Namespace of the child workflow. SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

initiated_event_id int64

Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to

started_event_id int64

Id of the `CHILD_WORKFLOW_EXECUTION_STARTED` event which this event corresponds to

ChildWorkflowExecutionTimedOutEventAttributes

FieldTypeLabelDescription
namespace string

Namespace of the child workflow. SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

initiated_event_id int64

Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to

started_event_id int64

Id of the `CHILD_WORKFLOW_EXECUTION_STARTED` event which this event corresponds to

retry_state temporal.api.enums.v1.RetryState

ExternalWorkflowExecutionCancelRequestedEventAttributes

FieldTypeLabelDescription
initiated_event_id int64

id of the `REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED` event this event corresponds to

namespace string

Namespace of the to-be-cancelled workflow. SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

ExternalWorkflowExecutionSignaledEventAttributes

FieldTypeLabelDescription
initiated_event_id int64

id of the `SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED` event this event corresponds to

namespace string

Namespace of the workflow which was signaled. SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

control string

Deprecated

History

FieldTypeLabelDescription
events HistoryEvent repeated

HistoryEvent

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.

FieldTypeLabelDescription
event_id int64

Monotonically increasing event number, starts at 1.

event_time google.protobuf.Timestamp

event_type temporal.api.enums.v1.EventType

version int64

TODO: What is this? Appears unused by SDKs

task_id int64

TODO: What is this? Appears unused by SDKs

worker_may_ignore bool

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.

workflow_execution_started_event_attributes WorkflowExecutionStartedEventAttributes

workflow_execution_completed_event_attributes WorkflowExecutionCompletedEventAttributes

workflow_execution_failed_event_attributes WorkflowExecutionFailedEventAttributes

workflow_execution_timed_out_event_attributes WorkflowExecutionTimedOutEventAttributes

workflow_task_scheduled_event_attributes WorkflowTaskScheduledEventAttributes

workflow_task_started_event_attributes WorkflowTaskStartedEventAttributes

workflow_task_completed_event_attributes WorkflowTaskCompletedEventAttributes

workflow_task_timed_out_event_attributes WorkflowTaskTimedOutEventAttributes

workflow_task_failed_event_attributes WorkflowTaskFailedEventAttributes

activity_task_scheduled_event_attributes ActivityTaskScheduledEventAttributes

activity_task_started_event_attributes ActivityTaskStartedEventAttributes

activity_task_completed_event_attributes ActivityTaskCompletedEventAttributes

activity_task_failed_event_attributes ActivityTaskFailedEventAttributes

activity_task_timed_out_event_attributes ActivityTaskTimedOutEventAttributes

timer_started_event_attributes TimerStartedEventAttributes

timer_fired_event_attributes TimerFiredEventAttributes

activity_task_cancel_requested_event_attributes ActivityTaskCancelRequestedEventAttributes

activity_task_canceled_event_attributes ActivityTaskCanceledEventAttributes

timer_canceled_event_attributes TimerCanceledEventAttributes

marker_recorded_event_attributes MarkerRecordedEventAttributes

workflow_execution_signaled_event_attributes WorkflowExecutionSignaledEventAttributes

workflow_execution_terminated_event_attributes WorkflowExecutionTerminatedEventAttributes

workflow_execution_cancel_requested_event_attributes WorkflowExecutionCancelRequestedEventAttributes

workflow_execution_canceled_event_attributes WorkflowExecutionCanceledEventAttributes

request_cancel_external_workflow_execution_initiated_event_attributes RequestCancelExternalWorkflowExecutionInitiatedEventAttributes

request_cancel_external_workflow_execution_failed_event_attributes RequestCancelExternalWorkflowExecutionFailedEventAttributes

external_workflow_execution_cancel_requested_event_attributes ExternalWorkflowExecutionCancelRequestedEventAttributes

workflow_execution_continued_as_new_event_attributes WorkflowExecutionContinuedAsNewEventAttributes

start_child_workflow_execution_initiated_event_attributes StartChildWorkflowExecutionInitiatedEventAttributes

start_child_workflow_execution_failed_event_attributes StartChildWorkflowExecutionFailedEventAttributes

child_workflow_execution_started_event_attributes ChildWorkflowExecutionStartedEventAttributes

child_workflow_execution_completed_event_attributes ChildWorkflowExecutionCompletedEventAttributes

child_workflow_execution_failed_event_attributes ChildWorkflowExecutionFailedEventAttributes

child_workflow_execution_canceled_event_attributes ChildWorkflowExecutionCanceledEventAttributes

child_workflow_execution_timed_out_event_attributes ChildWorkflowExecutionTimedOutEventAttributes

child_workflow_execution_terminated_event_attributes ChildWorkflowExecutionTerminatedEventAttributes

signal_external_workflow_execution_initiated_event_attributes SignalExternalWorkflowExecutionInitiatedEventAttributes

signal_external_workflow_execution_failed_event_attributes SignalExternalWorkflowExecutionFailedEventAttributes

external_workflow_execution_signaled_event_attributes ExternalWorkflowExecutionSignaledEventAttributes

upsert_workflow_search_attributes_event_attributes UpsertWorkflowSearchAttributesEventAttributes

workflow_execution_update_accepted_event_attributes WorkflowExecutionUpdateAcceptedEventAttributes

workflow_execution_update_rejected_event_attributes WorkflowExecutionUpdateRejectedEventAttributes

workflow_execution_update_completed_event_attributes WorkflowExecutionUpdateCompletedEventAttributes

workflow_properties_modified_externally_event_attributes WorkflowPropertiesModifiedExternallyEventAttributes

activity_properties_modified_externally_event_attributes ActivityPropertiesModifiedExternallyEventAttributes

workflow_properties_modified_event_attributes WorkflowPropertiesModifiedEventAttributes

workflow_execution_update_admitted_event_attributes WorkflowExecutionUpdateAdmittedEventAttributes

MarkerRecordedEventAttributes

FieldTypeLabelDescription
marker_name string

Workers use this to identify the "types" of various markers. Ex: Local activity, side effect.

details MarkerRecordedEventAttributes.DetailsEntry repeated

Serialized information recorded in the marker

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

header temporal.api.common.v1.Header

failure temporal.api.failure.v1.Failure

Some uses of markers, like a local activity, could "fail". If they did that is recorded here.

MarkerRecordedEventAttributes.DetailsEntry

FieldTypeLabelDescription
key string

value temporal.api.common.v1.Payloads

RequestCancelExternalWorkflowExecutionFailedEventAttributes

FieldTypeLabelDescription
cause temporal.api.enums.v1.CancelExternalWorkflowExecutionFailedCause

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

namespace string

Namespace of the workflow which failed to cancel. SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

initiated_event_id int64

id of the `REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED` event this failure corresponds to

control string

Deprecated

RequestCancelExternalWorkflowExecutionInitiatedEventAttributes

FieldTypeLabelDescription
workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

namespace string

The namespace the workflow to be cancelled lives in. SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

control string

Deprecated

child_workflow_only bool

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 string

Reason for requesting the cancellation

SignalExternalWorkflowExecutionFailedEventAttributes

FieldTypeLabelDescription
cause temporal.api.enums.v1.SignalExternalWorkflowExecutionFailedCause

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

namespace string

Namespace of the workflow which failed the signal. SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

initiated_event_id int64

control string

Deprecated

SignalExternalWorkflowExecutionInitiatedEventAttributes

FieldTypeLabelDescription
workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

namespace string

Namespace of the to-be-signalled workflow. SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

signal_name string

name/type of the signal to fire in the external workflow

input temporal.api.common.v1.Payloads

Serialized arguments to provide to the signal handler

control string

Deprecated

child_workflow_only bool

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 temporal.api.common.v1.Header

StartChildWorkflowExecutionFailedEventAttributes

FieldTypeLabelDescription
namespace string

Namespace of the child workflow. SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.

namespace_id string

workflow_id string

workflow_type temporal.api.common.v1.WorkflowType

cause temporal.api.enums.v1.StartChildWorkflowExecutionFailedCause

control string

Deprecated

initiated_event_id int64

Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

StartChildWorkflowExecutionInitiatedEventAttributes

FieldTypeLabelDescription
namespace string

Namespace of the child workflow. SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.

namespace_id string

workflow_id string

workflow_type temporal.api.common.v1.WorkflowType

task_queue temporal.api.taskqueue.v1.TaskQueue

input temporal.api.common.v1.Payloads

workflow_execution_timeout google.protobuf.Duration

Total workflow execution timeout including retries and continue as new.

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run.

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task.

parent_close_policy temporal.api.enums.v1.ParentClosePolicy

Default: PARENT_CLOSE_POLICY_TERMINATE.

control string

Deprecated

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

workflow_id_reuse_policy temporal.api.enums.v1.WorkflowIdReusePolicy

Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.

retry_policy temporal.api.common.v1.RetryPolicy

cron_schedule string

If this child runs on a cron schedule, it will appear here

header temporal.api.common.v1.Header

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

use_compatible_version bool

If this is set, the workflow executing this command wishes to start the child workflow using a version compatible with the version that this workflow most recently ran on, if such behavior is possible.

TimerCanceledEventAttributes

FieldTypeLabelDescription
timer_id string

Will match the `timer_id` from `TIMER_STARTED` event for this timer

started_event_id int64

The id of the `TIMER_STARTED` event itself

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

identity string

The id of the worker who requested this cancel

TimerFiredEventAttributes

FieldTypeLabelDescription
timer_id string

Will match the `timer_id` from `TIMER_STARTED` event for this timer

started_event_id int64

The id of the `TIMER_STARTED` event itself

TimerStartedEventAttributes

FieldTypeLabelDescription
timer_id string

The worker/user assigned id for this timer

start_to_fire_timeout google.protobuf.Duration

How long until this timer fires (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

UpsertWorkflowSearchAttributesEventAttributes

FieldTypeLabelDescription
workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

search_attributes temporal.api.common.v1.SearchAttributes

WorkflowExecutionCancelRequestedEventAttributes

FieldTypeLabelDescription
cause string

User provided reason for requesting cancellation TODO: shall we create a new field with name "reason" and deprecate this one?

external_initiated_event_id int64

TODO: Is this the ID of the event in the workflow which initiated this cancel, if there was one?

external_workflow_execution temporal.api.common.v1.WorkflowExecution

identity string

id of the worker or client who requested this cancel

WorkflowExecutionCanceledEventAttributes

FieldTypeLabelDescription
workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

details temporal.api.common.v1.Payloads

WorkflowExecutionCompletedEventAttributes

FieldTypeLabelDescription
result temporal.api.common.v1.Payloads

Serialized result of workflow completion (ie: The return value of the workflow function)

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

new_execution_run_id string

If another run is started by cron, this contains the new run id.

WorkflowExecutionContinuedAsNewEventAttributes

FieldTypeLabelDescription
new_execution_run_id string

The run ID of the new workflow started by this continue-as-new

workflow_type temporal.api.common.v1.WorkflowType

task_queue temporal.api.taskqueue.v1.TaskQueue

input temporal.api.common.v1.Payloads

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run.

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task.

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

backoff_start_interval google.protobuf.Duration

TODO: How and is this used?

initiator temporal.api.enums.v1.ContinueAsNewInitiator

failure temporal.api.failure.v1.Failure

TODO: David are these right? 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.

last_completion_result temporal.api.common.v1.Payloads

TODO: Is this the result of *this* workflow as it continued-as-new?

header temporal.api.common.v1.Header

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

use_compatible_version bool

If this is set, the workflow executing this command wishes to continue as new using a version compatible with the version that this workflow most recently ran on.

WorkflowExecutionFailedEventAttributes

FieldTypeLabelDescription
failure temporal.api.failure.v1.Failure

Serialized result of workflow failure (ex: An exception thrown, or error returned)

retry_state temporal.api.enums.v1.RetryState

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

new_execution_run_id string

If another run is started by cron or retry, this contains the new run id.

WorkflowExecutionSignaledEventAttributes

FieldTypeLabelDescription
signal_name string

The name/type of the signal to fire

input temporal.api.common.v1.Payloads

Will be deserialized and provided as argument(s) to the signal handler

identity string

id of the worker/client who sent this signal

header temporal.api.common.v1.Header

Headers that were passed by the sender of the signal and copied by temporal server into the workflow task.

skip_generate_workflow_task bool

Indicates the signal did not generate a new workflow task when received.

external_workflow_execution temporal.api.common.v1.WorkflowExecution

When signal origin is a workflow execution, this field is set.

WorkflowExecutionStartedEventAttributes

Always the first event in workflow history

FieldTypeLabelDescription
workflow_type temporal.api.common.v1.WorkflowType

parent_workflow_namespace string

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.

parent_workflow_namespace_id string

parent_workflow_execution temporal.api.common.v1.WorkflowExecution

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.

parent_initiated_event_id int64

EventID of the child execution initiated event in parent workflow

task_queue temporal.api.taskqueue.v1.TaskQueue

input temporal.api.common.v1.Payloads

SDK will deserialize this and provide it as arguments to the workflow function

workflow_execution_timeout google.protobuf.Duration

Total workflow execution timeout including retries and continue as new.

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run.

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task.

continued_execution_run_id string

Run id of the previous workflow which continued-as-new or retired or cron executed into this workflow.

initiator temporal.api.enums.v1.ContinueAsNewInitiator

continued_failure temporal.api.failure.v1.Failure

last_completion_result temporal.api.common.v1.Payloads

original_execution_run_id string

This is the run id when the WorkflowExecutionStarted event was written. A workflow reset changes the execution run_id, but preserves this field.

identity string

Identity of the client who requested this execution

first_execution_run_id string

This is the very first runId along the chain of ContinueAsNew, Retry, Cron and Reset. Used to identify a chain.

retry_policy temporal.api.common.v1.RetryPolicy

attempt int32

Starting at 1, the number of times we have tried to execute this workflow

workflow_execution_expiration_time google.protobuf.Timestamp

The absolute time at which the workflow will be timed out. This is passed without change to the next run/retry of a workflow.

cron_schedule string

If this workflow runs on a cron schedule, it will appear here

first_workflow_task_backoff google.protobuf.Duration

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 temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

prev_auto_reset_points temporal.api.workflow.v1.ResetPoints

header temporal.api.common.v1.Header

parent_initiated_event_version int64

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

workflow_id string

This field is new in 1.21.

source_version_stamp temporal.api.common.v1.WorkerVersionStamp

If this workflow intends to use anything other than the current overall default version for the queue, then we include it here.

completion_callbacks temporal.api.common.v1.Callback repeated

Completion callbacks attached when this workflow was started.

WorkflowExecutionTerminatedEventAttributes

FieldTypeLabelDescription
reason string

User/client provided reason for termination

details temporal.api.common.v1.Payloads

identity string

id of the client who requested termination

WorkflowExecutionTimedOutEventAttributes

FieldTypeLabelDescription
retry_state temporal.api.enums.v1.RetryState

new_execution_run_id string

If another run is started by cron or retry, this contains the new run id.

WorkflowExecutionUpdateAcceptedEventAttributes

FieldTypeLabelDescription
protocol_instance_id string

The instance ID of the update protocol that generated this event.

accepted_request_message_id string

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.

accepted_request_sequencing_event_id int64

The event ID used to sequence the original request message.

accepted_request temporal.api.update.v1.Request

The message payload of the original request message that initiated this update.

WorkflowExecutionUpdateAdmittedEventAttributes

FieldTypeLabelDescription
request temporal.api.update.v1.Request

The update request associated with this event.

origin temporal.api.enums.v1.UpdateAdmittedEventOrigin

An explanation of why this event was written to history.

WorkflowExecutionUpdateCompletedEventAttributes

FieldTypeLabelDescription
meta temporal.api.update.v1.Meta

The metadata about this update.

accepted_event_id int64

The event ID indicating the acceptance of this update.

outcome temporal.api.update.v1.Outcome

The outcome of executing the workflow update function.

WorkflowExecutionUpdateRejectedEventAttributes

FieldTypeLabelDescription
protocol_instance_id string

The instance ID of the update protocol that generated this event.

rejected_request_message_id string

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.

rejected_request_sequencing_event_id int64

The event ID used to sequence the original request message.

rejected_request temporal.api.update.v1.Request

The message payload of the original request message that initiated this update.

failure temporal.api.failure.v1.Failure

The cause of rejection.

WorkflowPropertiesModifiedEventAttributes

FieldTypeLabelDescription
workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

upserted_memo temporal.api.common.v1.Memo

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

FieldTypeLabelDescription
new_task_queue string

If set to a nonempty string, future workflow tasks for this workflow shall be dispatched on the provided queue.

new_workflow_task_timeout google.protobuf.Duration

If set, update the workflow task timeout to this value.

new_workflow_run_timeout google.protobuf.Duration

If set, update the workflow run timeout to this value. May be set to 0 for no timeout.

new_workflow_execution_timeout google.protobuf.Duration

If set, update the workflow execution timeout to this value. May be set to 0 for no timeout.

upserted_memo temporal.api.common.v1.Memo

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.

WorkflowTaskCompletedEventAttributes

FieldTypeLabelDescription
scheduled_event_id int64

The id of the `WORKFLOW_TASK_SCHEDULED` event this task corresponds to

started_event_id int64

The id of the `WORKFLOW_TASK_STARTED` event this task corresponds to

identity string

Identity of the worker who completed this task

binary_checksum string

Binary ID of the worker who completed this task

worker_version temporal.api.common.v1.WorkerVersionStamp

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

sdk_metadata temporal.api.sdk.v1.WorkflowTaskCompletedMetadata

Data the SDK wishes to record for itself, but server need not interpret, and does not directly impact workflow state.

metering_metadata temporal.api.common.v1.MeteringMetadata

Local usage data sent during workflow task completion and recorded here for posterity

WorkflowTaskFailedEventAttributes

FieldTypeLabelDescription
scheduled_event_id int64

The id of the `WORKFLOW_TASK_SCHEDULED` event this task corresponds to

started_event_id int64

The id of the `WORKFLOW_TASK_STARTED` event this task corresponds to

cause temporal.api.enums.v1.WorkflowTaskFailedCause

failure temporal.api.failure.v1.Failure

The failure details

identity string

If a worker explicitly failed this task, it's identity. TODO: What is this set to if server fails the task?

base_run_id string

The original run id of the workflow. For reset workflow.

new_run_id string

If the workflow is being reset, the new run id.

fork_event_version int64

TODO: ?

binary_checksum string

DEPRECATED since 1.21 - use `worker_version` instead. If a worker explicitly failed this task, its binary id

worker_version temporal.api.common.v1.WorkerVersionStamp

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

WorkflowTaskScheduledEventAttributes

FieldTypeLabelDescription
task_queue temporal.api.taskqueue.v1.TaskQueue

The task queue this workflow task was enqueued in, which could be a normal or sticky queue

start_to_close_timeout google.protobuf.Duration

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 int32

Starting at 1, how many attempts there have been to complete this task

WorkflowTaskStartedEventAttributes

FieldTypeLabelDescription
scheduled_event_id int64

The id of the `WORKFLOW_TASK_SCHEDULED` event this task corresponds to

identity string

Identity of the worker who picked up this task

request_id string

TODO: ? Appears unused?

suggest_continue_as_new bool

True if this workflow should continue-as-new soon because its history size (in either event count or bytes) is getting large.

history_size_bytes int64

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.

WorkflowTaskTimedOutEventAttributes

FieldTypeLabelDescription
scheduled_event_id int64

The id of the `WORKFLOW_TASK_SCHEDULED` event this task corresponds to

started_event_id int64

The id of the `WORKFLOW_TASK_STARTED` event this task corresponds to

timeout_type temporal.api.enums.v1.TimeoutType

temporal/api/protocol/v1/message.proto

Top

Message

(-- api-linter: core::0146::any=disabled

aip.dev/not-precedent: We want runtime extensibility for the body field --)

FieldTypeLabelDescription
id string

An ID for this specific message.

protocol_instance_id string

Identifies the specific instance of a protocol to which this message belongs.

event_id int64

command_index int64

body google.protobuf.Any

The opaque data carried by this message. The protocol type can be extracted from the package name of the message carried inside the Any.

temporal/api/command/v1/message.proto

Top

CancelTimerCommandAttributes

FieldTypeLabelDescription
timer_id string

The same timer id from the start timer command

CancelWorkflowExecutionCommandAttributes

FieldTypeLabelDescription
details temporal.api.common.v1.Payloads

Command

FieldTypeLabelDescription
command_type temporal.api.enums.v1.CommandType

schedule_activity_task_command_attributes ScheduleActivityTaskCommandAttributes

start_timer_command_attributes StartTimerCommandAttributes

complete_workflow_execution_command_attributes CompleteWorkflowExecutionCommandAttributes

fail_workflow_execution_command_attributes FailWorkflowExecutionCommandAttributes

request_cancel_activity_task_command_attributes RequestCancelActivityTaskCommandAttributes

cancel_timer_command_attributes CancelTimerCommandAttributes

cancel_workflow_execution_command_attributes CancelWorkflowExecutionCommandAttributes

request_cancel_external_workflow_execution_command_attributes RequestCancelExternalWorkflowExecutionCommandAttributes

record_marker_command_attributes RecordMarkerCommandAttributes

continue_as_new_workflow_execution_command_attributes ContinueAsNewWorkflowExecutionCommandAttributes

start_child_workflow_execution_command_attributes StartChildWorkflowExecutionCommandAttributes

signal_external_workflow_execution_command_attributes SignalExternalWorkflowExecutionCommandAttributes

upsert_workflow_search_attributes_command_attributes UpsertWorkflowSearchAttributesCommandAttributes

protocol_message_command_attributes ProtocolMessageCommandAttributes

modify_workflow_properties_command_attributes ModifyWorkflowPropertiesCommandAttributes

16 is available for use - it was used as part of a prototype that never made it into a release

CompleteWorkflowExecutionCommandAttributes

FieldTypeLabelDescription
result temporal.api.common.v1.Payloads

ContinueAsNewWorkflowExecutionCommandAttributes

FieldTypeLabelDescription
workflow_type temporal.api.common.v1.WorkflowType

task_queue temporal.api.taskqueue.v1.TaskQueue

input temporal.api.common.v1.Payloads

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run.

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task.

backoff_start_interval google.protobuf.Duration

How long the workflow start will be delayed - not really a "backoff" in the traditional sense.

retry_policy temporal.api.common.v1.RetryPolicy

initiator temporal.api.enums.v1.ContinueAsNewInitiator

Should be removed

failure temporal.api.failure.v1.Failure

Should be removed

last_completion_result temporal.api.common.v1.Payloads

Should be removed

cron_schedule string

Should be removed. Not necessarily unused but unclear and not exposed by SDKs.

header temporal.api.common.v1.Header

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

use_compatible_version bool

If this is set, the workflow executing this command wishes to continue as new using a version compatible with the version that this workflow most recently ran on.

FailWorkflowExecutionCommandAttributes

FieldTypeLabelDescription
failure temporal.api.failure.v1.Failure

ModifyWorkflowPropertiesCommandAttributes

FieldTypeLabelDescription
upserted_memo temporal.api.common.v1.Memo

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.

ProtocolMessageCommandAttributes

FieldTypeLabelDescription
message_id string

The message ID of the message to which this command is a pointer.

RecordMarkerCommandAttributes

FieldTypeLabelDescription
marker_name string

details RecordMarkerCommandAttributes.DetailsEntry repeated

header temporal.api.common.v1.Header

failure temporal.api.failure.v1.Failure

RecordMarkerCommandAttributes.DetailsEntry

FieldTypeLabelDescription
key string

value temporal.api.common.v1.Payloads

RequestCancelActivityTaskCommandAttributes

FieldTypeLabelDescription
scheduled_event_id int64

The `ACTIVITY_TASK_SCHEDULED` event id for the activity being cancelled.

RequestCancelExternalWorkflowExecutionCommandAttributes

FieldTypeLabelDescription
namespace string

workflow_id string

run_id string

control string

Deprecated.

child_workflow_only bool

Set this to true if the workflow being cancelled is a child of the workflow originating this command. The request will be rejected if it is set to true and the target workflow is *not* a child of the requesting workflow.

reason string

Reason for requesting the cancellation

ScheduleActivityTaskCommandAttributes

FieldTypeLabelDescription
activity_id string

activity_type temporal.api.common.v1.ActivityType

task_queue temporal.api.taskqueue.v1.TaskQueue

header temporal.api.common.v1.Header

input temporal.api.common.v1.Payloads

schedule_to_close_timeout google.protobuf.Duration

Indicates how long the caller is willing to wait for activity completion. The "schedule" time is when the activity is initially scheduled, not when the most recent retry is scheduled. Limits how long retries will be attempted. Either this or `start_to_close_timeout` must be specified. When not specified, defaults to the workflow execution timeout. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

schedule_to_start_timeout google.protobuf.Duration

Limits the time an activity task can stay in a task queue before a worker picks it up. The "schedule" time is when the most recent retry is scheduled. This timeout should usually not be set: it's useful in specific scenarios like worker-specific task queues. 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 that is not specified. More info: https://docs.temporal.io/docs/content/what-is-a-schedule-to-start-timeout/ (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

start_to_close_timeout google.protobuf.Duration

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

heartbeat_timeout google.protobuf.Duration

Maximum permitted time between successful worker heartbeats.

retry_policy temporal.api.common.v1.RetryPolicy

Activities are provided by a default retry policy which is controlled through the service's dynamic configuration. Retries will be attempted until `schedule_to_close_timeout` has elapsed. To disable retries set retry_policy.maximum_attempts to 1.

request_eager_execution bool

Request to start the activity directly bypassing matching service and worker polling The slot for executing the activity should be reserved when setting this field to true.

use_compatible_version bool

If this is set, the workflow executing this command wishes to start the activity using a version compatible with the version that this workflow most recently ran on, if such behavior is possible.

SignalExternalWorkflowExecutionCommandAttributes

FieldTypeLabelDescription
namespace string

execution temporal.api.common.v1.WorkflowExecution

signal_name string

The workflow author-defined name of the signal to send to the workflow.

input temporal.api.common.v1.Payloads

Serialized value(s) to provide with the signal.

control string

Deprecated

child_workflow_only bool

Set this to true if the workflow being cancelled is a child of the workflow originating this command. The request will be rejected if it is set to true and the target workflow is *not* a child of the requesting workflow.

header temporal.api.common.v1.Header

Headers that are passed by the workflow that is sending a signal to the external workflow that is receiving this signal.

StartChildWorkflowExecutionCommandAttributes

FieldTypeLabelDescription
namespace string

workflow_id string

workflow_type temporal.api.common.v1.WorkflowType

task_queue temporal.api.taskqueue.v1.TaskQueue

input temporal.api.common.v1.Payloads

workflow_execution_timeout google.protobuf.Duration

Total workflow execution timeout including retries and continue as new.

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run.

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task.

parent_close_policy temporal.api.enums.v1.ParentClosePolicy

Default: PARENT_CLOSE_POLICY_TERMINATE.

control string

workflow_id_reuse_policy temporal.api.enums.v1.WorkflowIdReusePolicy

Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.

retry_policy temporal.api.common.v1.RetryPolicy

cron_schedule string

Establish a cron schedule for the child workflow.

header temporal.api.common.v1.Header

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

use_compatible_version bool

If this is set, the workflow executing this command wishes to start the child workflow using a version compatible with the version that this workflow most recently ran on, if such behavior is possible.

StartTimerCommandAttributes

FieldTypeLabelDescription
timer_id string

An id for the timer, currently live timers must have different ids. Typically autogenerated by the SDK.

start_to_fire_timeout google.protobuf.Duration

How long until the timer fires, producing a `TIMER_FIRED` event. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

UpsertWorkflowSearchAttributesCommandAttributes

FieldTypeLabelDescription
search_attributes temporal.api.common.v1.SearchAttributes

temporal/api/replication/v1/message.proto

Top

ClusterReplicationConfig

FieldTypeLabelDescription
cluster_name string

FailoverStatus

Represents a historical replication status of a Namespace

FieldTypeLabelDescription
failover_time google.protobuf.Timestamp

Timestamp when the Cluster switched to the following failover_version

failover_version int64

NamespaceReplicationConfig

FieldTypeLabelDescription
active_cluster_name string

clusters ClusterReplicationConfig repeated

state temporal.api.enums.v1.ReplicationState

temporal/api/filter/v1/message.proto

Top

StartTimeFilter

FieldTypeLabelDescription
earliest_time google.protobuf.Timestamp

latest_time google.protobuf.Timestamp

StatusFilter

FieldTypeLabelDescription
status temporal.api.enums.v1.WorkflowExecutionStatus

WorkflowExecutionFilter

FieldTypeLabelDescription
workflow_id string

run_id string

WorkflowTypeFilter

FieldTypeLabelDescription
name string

temporal/api/common/v1/message.proto

Top

ActivityType

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"

FieldTypeLabelDescription
name string

Callback

Callback to attach to various events in the system, e.g. workflow run completion.

FieldTypeLabelDescription
nexus Callback.Nexus

Callback.Nexus

FieldTypeLabelDescription
url string

Callback URL.

DataBlob

FieldTypeLabelDescription
encoding_type temporal.api.enums.v1.EncodingType

data bytes

Header

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.

FieldTypeLabelDescription
fields Header.FieldsEntry repeated

Header.FieldsEntry

FieldTypeLabelDescription
key string

value Payload

Memo

A user-defined set of *unindexed* fields that are exposed when listing/searching workflows

FieldTypeLabelDescription
fields Memo.FieldsEntry repeated

Memo.FieldsEntry

FieldTypeLabelDescription
key string

value Payload

MeteringMetadata

Metadata relevant for metering purposes

FieldTypeLabelDescription
nonfirst_local_activity_execution_attempts uint32

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

Payload

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.

FieldTypeLabelDescription
metadata Payload.MetadataEntry repeated

data bytes

Payload.MetadataEntry

FieldTypeLabelDescription
key string

value bytes

Payloads

See `Payload`

FieldTypeLabelDescription
payloads Payload repeated

ResetOptions

Describes where and how to reset a workflow, used for batch reset currently

and may be used for single-workflow reset later.

FieldTypeLabelDescription
first_workflow_task google.protobuf.Empty

Resets to the first workflow task completed or started event.

last_workflow_task google.protobuf.Empty

Resets to the last workflow task completed or started event.

workflow_task_id int64

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.

build_id string

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.

reset_reapply_type temporal.api.enums.v1.ResetReapplyType

History event reapply options.

current_run_only bool

If true, limit the reset to only within the current run. (Applies to build_id targets and possibly others in the future.)

RetryPolicy

How retries ought to be handled, usable by both workflows and activities

FieldTypeLabelDescription
initial_interval google.protobuf.Duration

Interval of the first retry. If retryBackoffCoefficient is 1.0 then it is used for all retries.

backoff_coefficient double

Coefficient used to calculate the next retry interval. The next retry interval is previous interval multiplied by the coefficient. Must be 1 or larger.

maximum_interval google.protobuf.Duration

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.

maximum_attempts int32

Maximum number of attempts. When exceeded the retries stop even if not expired yet. 1 disables retries. 0 means unlimited (up to the timeouts)

non_retryable_error_types string repeated

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.

SearchAttributes

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.

FieldTypeLabelDescription
indexed_fields SearchAttributes.IndexedFieldsEntry repeated

SearchAttributes.IndexedFieldsEntry

FieldTypeLabelDescription
key string

value Payload

WorkerVersionCapabilities

Identifies the version(s) 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.

FieldTypeLabelDescription
build_id string

An opaque whole-worker identifier

use_versioning bool

If set, the worker is opting in to worker versioning, and wishes to only receive appropriate tasks.

WorkerVersionStamp

Identifies the version(s) of a worker that processed a task

FieldTypeLabelDescription
build_id string

An opaque whole-worker identifier. Replaces the deprecated `binary_checksum` field when this message is included in requests which previously used that.

bundle_id string

Set if the worker used a dynamically loadable bundle to process the task. The bundle could be a WASM blob, JS bundle, etc.

use_versioning bool

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.

WorkflowExecution

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

FieldTypeLabelDescription
workflow_id string

run_id string

WorkflowType

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"

FieldTypeLabelDescription
name string

temporal/api/operatorservice/v1/request_response.proto

Top

AddOrUpdateRemoteClusterRequest

FieldTypeLabelDescription
frontend_address string

Frontend Address is a cross cluster accessible address for gRPC traffic. This field is required.

enable_remote_cluster_connection bool

Flag to enable / disable the cross cluster connection.

frontend_http_address string

Frontend HTTP Address is a cross cluster accessible address for HTTP traffic. This field is optional. If not provided on update, the existing HTTP address will be removed.

AddOrUpdateRemoteClusterResponse

AddSearchAttributesRequest

FieldTypeLabelDescription
search_attributes AddSearchAttributesRequest.SearchAttributesEntry repeated

Mapping between search attribute name and its IndexedValueType.

namespace string

AddSearchAttributesRequest.SearchAttributesEntry

FieldTypeLabelDescription
key string

value temporal.api.enums.v1.IndexedValueType

AddSearchAttributesResponse

ClusterMetadata

FieldTypeLabelDescription
cluster_name string

Name of the cluster name.

cluster_id string

Id of the cluster.

address string

gRPC address.

http_address string

HTTP address, if one exists.

initial_failover_version int64

A unique failover version across all connected clusters.

history_shard_count int32

History service shard number.

is_connection_enabled bool

A flag to indicate if a connection is active.

CreateNexusIncomingServiceRequest

FieldTypeLabelDescription
spec temporal.api.nexus.v1.IncomingServiceSpec

Service definition to create.

CreateNexusIncomingServiceResponse

FieldTypeLabelDescription
service temporal.api.nexus.v1.IncomingService

Data post acceptance. Can be used to issue additional updates to this record.

CreateNexusOutgoingServiceRequest

FieldTypeLabelDescription
namespace string

Namespace to create this service definition in.

name string

Name of service to create.

spec temporal.api.nexus.v1.OutgoingServiceSpec

Service definition to create. Does not contain a version because there's nothing to match against.

CreateNexusOutgoingServiceResponse

FieldTypeLabelDescription
service temporal.api.nexus.v1.OutgoingService

Data post acceptance. Can be used to issue additional updates to this record.

DeleteNamespaceRequest

FieldTypeLabelDescription
namespace string

Only one of namespace or namespace_id must be specified to identify namespace.

namespace_id string

namespace_delete_delay google.protobuf.Duration

If provided, the deletion of namespace info will be delayed for the given duration (0 means no delay). If not provided, the default delay configured in the cluster will be used.

DeleteNamespaceResponse

FieldTypeLabelDescription
deleted_namespace string

Temporary namespace name that is used during reclaim resources step.

DeleteNexusIncomingServiceRequest

FieldTypeLabelDescription
id string

Server-generated unique service ID.

version int64

Data version for this service. Must match current version.

DeleteNexusIncomingServiceResponse

DeleteNexusOutgoingServiceRequest

FieldTypeLabelDescription
namespace string

Namespace that contains this outgoing service definition.

name string

Name of service to delete.

DeleteNexusOutgoingServiceResponse

GetNexusIncomingServiceRequest

FieldTypeLabelDescription
id string

Server-generated unique service ID.

GetNexusIncomingServiceResponse

FieldTypeLabelDescription
service temporal.api.nexus.v1.IncomingService

GetNexusOutgoingServiceRequest

FieldTypeLabelDescription
namespace string

Namespace that contains this outgoing service definition.

name string

Name of service to retrieve.

GetNexusOutgoingServiceResponse

FieldTypeLabelDescription
service temporal.api.nexus.v1.OutgoingService

ListClustersRequest

FieldTypeLabelDescription
page_size int32

next_page_token bytes

ListClustersResponse

FieldTypeLabelDescription
clusters ClusterMetadata repeated

List of all cluster information

next_page_token bytes

ListNexusIncomingServicesRequest

FieldTypeLabelDescription
page_size int32

next_page_token bytes

To get the next page, pass in `ListNexusIncomingServicesResponse.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 services registered is a multiple of the page size.

name string

Name of the incoming service 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. --)

ListNexusIncomingServicesResponse

FieldTypeLabelDescription
next_page_token bytes

Token for getting the next page.

services temporal.api.nexus.v1.IncomingService repeated

ListNexusOutgoingServicesRequest

FieldTypeLabelDescription
namespace string

Namespace to scope the list request to.

page_size int32

Maximum number of services to return in a single page.

page_token bytes

Pass in the next_page_token from the previous response here.

ListNexusOutgoingServicesResponse

FieldTypeLabelDescription
services temporal.api.nexus.v1.OutgoingService repeated

List of services in the namespace for the requested page.

next_page_token bytes

Token for getting the next page.

ListSearchAttributesRequest

FieldTypeLabelDescription
namespace string

ListSearchAttributesResponse

FieldTypeLabelDescription
custom_attributes ListSearchAttributesResponse.CustomAttributesEntry repeated

Mapping between custom (user-registered) search attribute name to its IndexedValueType.

system_attributes ListSearchAttributesResponse.SystemAttributesEntry repeated

Mapping between system (predefined) search attribute name to its IndexedValueType.

storage_schema ListSearchAttributesResponse.StorageSchemaEntry repeated

Mapping from the attribute name to the visibility storage native type.

ListSearchAttributesResponse.CustomAttributesEntry

FieldTypeLabelDescription
key string

value temporal.api.enums.v1.IndexedValueType

ListSearchAttributesResponse.StorageSchemaEntry

FieldTypeLabelDescription
key string

value string

ListSearchAttributesResponse.SystemAttributesEntry

FieldTypeLabelDescription
key string

value temporal.api.enums.v1.IndexedValueType

RemoveRemoteClusterRequest

FieldTypeLabelDescription
cluster_name string

Remote cluster name to be removed.

RemoveRemoteClusterResponse

RemoveSearchAttributesRequest

FieldTypeLabelDescription
search_attributes string repeated

Search attribute names to delete.

namespace string

RemoveSearchAttributesResponse

UpdateNexusIncomingServiceRequest

FieldTypeLabelDescription
id string

Server-generated unique service ID.

version int64

Data version for this service. Must match current version.

spec temporal.api.nexus.v1.IncomingServiceSpec

UpdateNexusIncomingServiceResponse

FieldTypeLabelDescription
service temporal.api.nexus.v1.IncomingService

Data post acceptance. Can be used to issue additional updates to this record.

UpdateNexusOutgoingServiceRequest

FieldTypeLabelDescription
namespace string

Namespace to find and update this service definition in.

name string

Service name, unique for this namespace. Must match `[a-zA-Z_][a-zA-Z0-9_]*`.

version int64

Version of the service definition to update. Must match the current version.

spec temporal.api.nexus.v1.OutgoingServiceSpec

What to update the service spec to.

UpdateNexusOutgoingServiceResponse

FieldTypeLabelDescription
service temporal.api.nexus.v1.OutgoingService

Data post acceptance. Can be used to issue additional updates to this record.

temporal/api/operatorservice/v1/service.proto

Top

OperatorService

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.

(-- Search Attribute --)

Method NameRequest TypeResponse TypeDescription
AddSearchAttributes AddSearchAttributesRequest AddSearchAttributesResponse

AddSearchAttributes add custom search attributes. Returns ALREADY_EXISTS status code if a Search Attribute with any of the specified names already exists Returns INTERNAL status code with temporal.api.errordetails.v1.SystemWorkflowFailure in Error Details if registration process fails,

RemoveSearchAttributes RemoveSearchAttributesRequest RemoveSearchAttributesResponse

RemoveSearchAttributes removes custom search attributes. Returns NOT_FOUND status code if a Search Attribute with any of the specified names is not registered

ListSearchAttributes ListSearchAttributesRequest ListSearchAttributesResponse

ListSearchAttributes returns comprehensive information about search attributes.

DeleteNamespace DeleteNamespaceRequest DeleteNamespaceResponse

DeleteNamespace synchronously deletes a namespace and asynchronously reclaims all namespace resources.

AddOrUpdateRemoteCluster AddOrUpdateRemoteClusterRequest AddOrUpdateRemoteClusterResponse

AddOrUpdateRemoteCluster adds or updates remote cluster.

RemoveRemoteCluster RemoveRemoteClusterRequest RemoveRemoteClusterResponse

RemoveRemoteCluster removes remote cluster.

ListClusters ListClustersRequest ListClustersResponse

ListClusters returns information about Temporal clusters.

GetNexusIncomingService GetNexusIncomingServiceRequest GetNexusIncomingServiceResponse

Get a registered incoming Nexus service by ID. The returned version can be used for optimistic updates.

CreateNexusIncomingService CreateNexusIncomingServiceRequest CreateNexusIncomingServiceResponse

Create a Nexus service. This will fail if a service with the same name already exists in the namespace with a status of ALREADY_EXISTS. Returns the created service with its initial version. You may use this version for subsequent updates.

UpdateNexusIncomingService UpdateNexusIncomingServiceRequest UpdateNexusIncomingServiceResponse

Optimistically update a Nexus service based on provided version as obtained via the `GetNexusIncomingService` or `ListNexusOutgoingServicesResponse` APIs. This will fail with a status of FAILED_PRECONDITION if the version does not match. Returns the updated service 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.

DeleteNexusIncomingService DeleteNexusIncomingServiceRequest DeleteNexusIncomingServiceResponse

Delete an incoming Nexus service by ID.

ListNexusIncomingServices ListNexusIncomingServicesRequest ListNexusIncomingServicesResponse

List all Nexus incoming services for the cluster, sorted by service 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 service name may be missed.

GetNexusOutgoingService GetNexusOutgoingServiceRequest GetNexusOutgoingServiceResponse

Get a registered outgoing Nexus service by namespace and service name. The returned version can be used for optimistic updates.

CreateNexusOutgoingService CreateNexusOutgoingServiceRequest CreateNexusOutgoingServiceResponse

Create a Nexus service. This will fail if a service with the same name already exists in the namespace with a status of ALREADY_EXISTS. Returns the created service with its initial 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.

UpdateNexusOutgoingService UpdateNexusOutgoingServiceRequest UpdateNexusOutgoingServiceResponse

Update an outgoing Nexus service by namespace and service name. The version in the request should match the current version of the service. This will fail with a status of FAILED_PRECONDITION if the version does not match. Returns the updated service with the updated version, which can be used for subsequent updates. You don't need to increment the version yourself. The server will increment the version for you.

DeleteNexusOutgoingService DeleteNexusOutgoingServiceRequest DeleteNexusOutgoingServiceResponse

Delete an outgoing Nexus service by namespace and service name.

ListNexusOutgoingServices ListNexusOutgoingServicesRequest ListNexusOutgoingServicesResponse

List all Nexus outgoing services for a namespace, sorted by service name 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 a name lexicographically earlier than the previous page's last service name may be missed.

Methods with HTTP bindings

Method Name Method Pattern Body
ListSearchAttributes GET /api/v1/namespaces/{namespace}/search-attributes

temporal/api/update/v1/message.proto

Top

Acceptance

An update protocol message indicating that a workflow execution update has

been accepted (i.e. passed the worker-side validation phase).

FieldTypeLabelDescription
accepted_request_message_id string

accepted_request_sequencing_event_id int64

accepted_request Request

Input

FieldTypeLabelDescription
header temporal.api.common.v1.Header

Headers that are passed with the update from the requesting entity. These can include things like auth or tracing tokens.

name string

The name of the input handler to invoke on the target workflow

args temporal.api.common.v1.Payloads

The arguments to pass to the named handler.

Meta

Metadata about a workflow execution update.

FieldTypeLabelDescription
update_id string

An ID with workflow-scoped uniqueness for this update

identity string

A string identifying the agent that requested this update.

Outcome

The outcome of a workflow update - success or failure.

FieldTypeLabelDescription
success temporal.api.common.v1.Payloads

failure temporal.api.failure.v1.Failure

Rejection

An update protocol message indicating that a workflow execution update has

been rejected.

FieldTypeLabelDescription
rejected_request_message_id string

rejected_request_sequencing_event_id int64

rejected_request Request

failure temporal.api.failure.v1.Failure

Request

The client request that triggers a workflow execution update

FieldTypeLabelDescription
meta Meta

input Input

Response

An update protocol message indicating that a workflow execution update has

completed with the contained outcome.

FieldTypeLabelDescription
meta Meta

outcome Outcome

UpdateRef

The data needed by a client to refer to a previously invoked workflow

execution update process.

FieldTypeLabelDescription
workflow_execution temporal.api.common.v1.WorkflowExecution

update_id string

WaitPolicy

Specifies to the gRPC server how long the client wants the an update-related

RPC call to wait before returning control to the caller.

FieldTypeLabelDescription
lifecycle_stage temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage

Indicates the update lifecycle stage that the gRPC call should wait for before returning.

temporal/api/enums/v1/batch_operation.proto

Top

BatchOperationState

NameNumberDescription
BATCH_OPERATION_STATE_UNSPECIFIED 0

BATCH_OPERATION_STATE_RUNNING 1

BATCH_OPERATION_STATE_COMPLETED 2

BATCH_OPERATION_STATE_FAILED 3

BatchOperationType

NameNumberDescription
BATCH_OPERATION_TYPE_UNSPECIFIED 0

BATCH_OPERATION_TYPE_TERMINATE 1

BATCH_OPERATION_TYPE_CANCEL 2

BATCH_OPERATION_TYPE_SIGNAL 3

BATCH_OPERATION_TYPE_DELETE 4

BATCH_OPERATION_TYPE_RESET 5

temporal/api/enums/v1/query.proto

Top

QueryRejectCondition

NameNumberDescription
QUERY_REJECT_CONDITION_UNSPECIFIED 0

QUERY_REJECT_CONDITION_NONE 1

None indicates that query should not be rejected.

QUERY_REJECT_CONDITION_NOT_OPEN 2

NotOpen indicates that query should be rejected if workflow is not open.

QUERY_REJECT_CONDITION_NOT_COMPLETED_CLEANLY 3

NotCompletedCleanly indicates that query should be rejected if workflow did not complete cleanly.

QueryResultType

NameNumberDescription
QUERY_RESULT_TYPE_UNSPECIFIED 0

QUERY_RESULT_TYPE_ANSWERED 1

QUERY_RESULT_TYPE_FAILED 2

temporal/api/enums/v1/common.proto

Top

CallbackState

State of the callback.

NameNumberDescription
CALLBACK_STATE_UNSPECIFIED 0

Default value, unspecified state.

CALLBACK_STATE_STANDBY 1

Callback is standing by, waiting to be triggered.

CALLBACK_STATE_SCHEDULED 2

Callback is in the queue waiting to be executed or is currently executing.

CALLBACK_STATE_BACKING_OFF 3

Callback has failed with a retryable error and is backing off before the next attempt.

CALLBACK_STATE_FAILED 4

Callback has failed.

CALLBACK_STATE_SUCCEEDED 5

Callback has succeeded.

EncodingType

NameNumberDescription
ENCODING_TYPE_UNSPECIFIED 0

ENCODING_TYPE_PROTO3 1

ENCODING_TYPE_JSON 2

IndexedValueType

NameNumberDescription
INDEXED_VALUE_TYPE_UNSPECIFIED 0

INDEXED_VALUE_TYPE_TEXT 1

INDEXED_VALUE_TYPE_KEYWORD 2

INDEXED_VALUE_TYPE_INT 3

INDEXED_VALUE_TYPE_DOUBLE 4

INDEXED_VALUE_TYPE_BOOL 5

INDEXED_VALUE_TYPE_DATETIME 6

INDEXED_VALUE_TYPE_KEYWORD_LIST 7

Severity

NameNumberDescription
SEVERITY_UNSPECIFIED 0

SEVERITY_HIGH 1

SEVERITY_MEDIUM 2

SEVERITY_LOW 3

temporal/api/enums/v1/schedule.proto

Top

ScheduleOverlapPolicy

ScheduleOverlapPolicy controls what happens when a workflow would be started

by a schedule, and is already running.

NameNumberDescription
SCHEDULE_OVERLAP_POLICY_UNSPECIFIED 0

SCHEDULE_OVERLAP_POLICY_SKIP 1

SCHEDULE_OVERLAP_POLICY_SKIP (default) means don't start anything. When the workflow completes, the next scheduled event after that time will be considered.

SCHEDULE_OVERLAP_POLICY_BUFFER_ONE 2

SCHEDULE_OVERLAP_POLICY_BUFFER_ONE means start the workflow again soon as the current one completes, but only buffer one start in this way. If another start is supposed to happen when the workflow is running, and one is already buffered, then only the first one will be started after the running workflow finishes.

SCHEDULE_OVERLAP_POLICY_BUFFER_ALL 3

SCHEDULE_OVERLAP_POLICY_BUFFER_ALL means buffer up any number of starts to all happen sequentially, immediately after the running workflow completes.

SCHEDULE_OVERLAP_POLICY_CANCEL_OTHER 4

SCHEDULE_OVERLAP_POLICY_CANCEL_OTHER means that if there is another workflow running, cancel it, and start the new one after the old one completes cancellation.

SCHEDULE_OVERLAP_POLICY_TERMINATE_OTHER 5

SCHEDULE_OVERLAP_POLICY_TERMINATE_OTHER means that if there is another workflow running, terminate it and start the new one immediately.

SCHEDULE_OVERLAP_POLICY_ALLOW_ALL 6

SCHEDULE_OVERLAP_POLICY_ALLOW_ALL means start any number of concurrent workflows. Note that with this policy, last completion result and last failure will not be available since workflows are not sequential.

temporal/api/enums/v1/workflow.proto

Top

ContinueAsNewInitiator

NameNumberDescription
CONTINUE_AS_NEW_INITIATOR_UNSPECIFIED 0

CONTINUE_AS_NEW_INITIATOR_WORKFLOW 1

The workflow itself requested to continue as new

CONTINUE_AS_NEW_INITIATOR_RETRY 2

The workflow continued as new because it is retrying

CONTINUE_AS_NEW_INITIATOR_CRON_SCHEDULE 3

The workflow continued as new because cron has triggered a new execution

HistoryEventFilterType

NameNumberDescription
HISTORY_EVENT_FILTER_TYPE_UNSPECIFIED 0

HISTORY_EVENT_FILTER_TYPE_ALL_EVENT 1

HISTORY_EVENT_FILTER_TYPE_CLOSE_EVENT 2

ParentClosePolicy

Defines how child workflows will react to their parent completing

NameNumberDescription
PARENT_CLOSE_POLICY_UNSPECIFIED 0

PARENT_CLOSE_POLICY_TERMINATE 1

The child workflow will also terminate

PARENT_CLOSE_POLICY_ABANDON 2

The child workflow will do nothing

PARENT_CLOSE_POLICY_REQUEST_CANCEL 3

Cancellation will be requested of the child workflow

PendingActivityState

NameNumberDescription
PENDING_ACTIVITY_STATE_UNSPECIFIED 0

PENDING_ACTIVITY_STATE_SCHEDULED 1

PENDING_ACTIVITY_STATE_STARTED 2

PENDING_ACTIVITY_STATE_CANCEL_REQUESTED 3

PendingWorkflowTaskState

NameNumberDescription
PENDING_WORKFLOW_TASK_STATE_UNSPECIFIED 0

PENDING_WORKFLOW_TASK_STATE_SCHEDULED 1

PENDING_WORKFLOW_TASK_STATE_STARTED 2

RetryState

NameNumberDescription
RETRY_STATE_UNSPECIFIED 0

RETRY_STATE_IN_PROGRESS 1

RETRY_STATE_NON_RETRYABLE_FAILURE 2

RETRY_STATE_TIMEOUT 3

RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED 4

RETRY_STATE_RETRY_POLICY_NOT_SET 5

RETRY_STATE_INTERNAL_SERVER_ERROR 6

RETRY_STATE_CANCEL_REQUESTED 7

TimeoutType

NameNumberDescription
TIMEOUT_TYPE_UNSPECIFIED 0

TIMEOUT_TYPE_START_TO_CLOSE 1

TIMEOUT_TYPE_SCHEDULE_TO_START 2

TIMEOUT_TYPE_SCHEDULE_TO_CLOSE 3

TIMEOUT_TYPE_HEARTBEAT 4

WorkflowExecutionStatus

(-- api-linter: core::0216::synonyms=disabled

aip.dev/not-precedent: There is WorkflowExecutionState already in another package. --)

NameNumberDescription
WORKFLOW_EXECUTION_STATUS_UNSPECIFIED 0

WORKFLOW_EXECUTION_STATUS_RUNNING 1

Value 1 is hardcoded in SQL persistence.

WORKFLOW_EXECUTION_STATUS_COMPLETED 2

WORKFLOW_EXECUTION_STATUS_FAILED 3

WORKFLOW_EXECUTION_STATUS_CANCELED 4

WORKFLOW_EXECUTION_STATUS_TERMINATED 5

WORKFLOW_EXECUTION_STATUS_CONTINUED_AS_NEW 6

WORKFLOW_EXECUTION_STATUS_TIMED_OUT 7

WorkflowIdConflictPolicy

Defines what to do when trying to start a workflow with the same workflow id as a *running* workflow.

Note that it is *never* valid to have two actively running instances of the same workflow id.

See `WorkflowIdReusePolicy` for handling workflow id duplication with a *closed* workflow.

NameNumberDescription
WORKFLOW_ID_CONFLICT_POLICY_UNSPECIFIED 0

WORKFLOW_ID_CONFLICT_POLICY_FAIL 1

Don't start a new workflow; instead return `WorkflowExecutionAlreadyStartedFailure`.

WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING 2

Don't start a new workflow; instead return a workflow handle for the running workflow.

WORKFLOW_ID_CONFLICT_POLICY_TERMINATE_EXISTING 3

Terminate the running workflow before starting a new one.

WorkflowIdReusePolicy

Defines whether to allow re-using a workflow id from a previously *closed* workflow.

If the request is denied, a `WorkflowExecutionAlreadyStartedFailure` is returned.

See `WorkflowIdConflictPolicy` for handling workflow id duplication with a *running* workflow.

NameNumberDescription
WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED 0

WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE 1

Allow starting a workflow execution using the same workflow id.

WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY 2

Allow starting a workflow execution using the same workflow id, only when the last execution's final state is one of [terminated, cancelled, timed out, failed].

WORKFLOW_ID_REUSE_POLICY_REJECT_DUPLICATE 3

Do not permit re-use of the workflow id for this workflow. Future start workflow requests could potentially change the policy, allowing re-use of the workflow id.

WORKFLOW_ID_REUSE_POLICY_TERMINATE_IF_RUNNING 4

This option belongs in WorkflowIdConflictPolicy but is here for backwards compatibility. If specified, it acts like ALLOW_DUPLICATE, but also the WorkflowId*Conflict*Policy on the request is treated as WORKFLOW_ID_CONFLICT_POLICY_TERMINATE_EXISTING. If no running workflow, then the behavior is the same as ALLOW_DUPLICATE.

temporal/api/enums/v1/failed_cause.proto

Top

CancelExternalWorkflowExecutionFailedCause

NameNumberDescription
CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED 0

CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_EXTERNAL_WORKFLOW_EXECUTION_NOT_FOUND 1

CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND 2

ResourceExhaustedCause

NameNumberDescription
RESOURCE_EXHAUSTED_CAUSE_UNSPECIFIED 0

RESOURCE_EXHAUSTED_CAUSE_RPS_LIMIT 1

Caller exceeds request per second limit.

RESOURCE_EXHAUSTED_CAUSE_CONCURRENT_LIMIT 2

Caller exceeds max concurrent request limit.

RESOURCE_EXHAUSTED_CAUSE_SYSTEM_OVERLOADED 3

System overloaded.

RESOURCE_EXHAUSTED_CAUSE_PERSISTENCE_LIMIT 4

Namespace exceeds persistence rate limit.

RESOURCE_EXHAUSTED_CAUSE_BUSY_WORKFLOW 5

Workflow is busy

RESOURCE_EXHAUSTED_CAUSE_APS_LIMIT 6

Caller exceeds action per second limit.

ResourceExhaustedScope

NameNumberDescription
RESOURCE_EXHAUSTED_SCOPE_UNSPECIFIED 0

RESOURCE_EXHAUSTED_SCOPE_NAMESPACE 1

Exhausted resource is a system-level resource.

RESOURCE_EXHAUSTED_SCOPE_SYSTEM 2

Exhausted resource is a namespace-level resource.

SignalExternalWorkflowExecutionFailedCause

NameNumberDescription
SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED 0

SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_EXTERNAL_WORKFLOW_EXECUTION_NOT_FOUND 1

SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND 2

SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_SIGNAL_COUNT_LIMIT_EXCEEDED 3

Signal count limit is per workflow and controlled by server dynamic config "history.maximumSignalsPerExecution"

StartChildWorkflowExecutionFailedCause

NameNumberDescription
START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED 0

START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_WORKFLOW_ALREADY_EXISTS 1

START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND 2

WorkflowTaskFailedCause

Workflow tasks can fail for various reasons. Note that some of these reasons can only originate

from the server, and some of them can only originate from the SDK/worker.

NameNumberDescription
WORKFLOW_TASK_FAILED_CAUSE_UNSPECIFIED 0

WORKFLOW_TASK_FAILED_CAUSE_UNHANDLED_COMMAND 1

Between starting and completing the workflow task (with a workflow completion command), some new command (like a signal) was processed into workflow history. The outstanding task will be failed with this reason, and a worker must pick up a new task.

WORKFLOW_TASK_FAILED_CAUSE_BAD_SCHEDULE_ACTIVITY_ATTRIBUTES 2

WORKFLOW_TASK_FAILED_CAUSE_BAD_REQUEST_CANCEL_ACTIVITY_ATTRIBUTES 3

WORKFLOW_TASK_FAILED_CAUSE_BAD_START_TIMER_ATTRIBUTES 4

WORKFLOW_TASK_FAILED_CAUSE_BAD_CANCEL_TIMER_ATTRIBUTES 5

WORKFLOW_TASK_FAILED_CAUSE_BAD_RECORD_MARKER_ATTRIBUTES 6

WORKFLOW_TASK_FAILED_CAUSE_BAD_COMPLETE_WORKFLOW_EXECUTION_ATTRIBUTES 7

WORKFLOW_TASK_FAILED_CAUSE_BAD_FAIL_WORKFLOW_EXECUTION_ATTRIBUTES 8

WORKFLOW_TASK_FAILED_CAUSE_BAD_CANCEL_WORKFLOW_EXECUTION_ATTRIBUTES 9

WORKFLOW_TASK_FAILED_CAUSE_BAD_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_ATTRIBUTES 10

WORKFLOW_TASK_FAILED_CAUSE_BAD_CONTINUE_AS_NEW_ATTRIBUTES 11

WORKFLOW_TASK_FAILED_CAUSE_START_TIMER_DUPLICATE_ID 12

WORKFLOW_TASK_FAILED_CAUSE_RESET_STICKY_TASK_QUEUE 13

The worker wishes to fail the task and have the next one be generated on a normal, not sticky queue. Generally workers should prefer to use the explicit `ResetStickyTaskQueue` RPC call.

WORKFLOW_TASK_FAILED_CAUSE_WORKFLOW_WORKER_UNHANDLED_FAILURE 14

WORKFLOW_TASK_FAILED_CAUSE_BAD_SIGNAL_WORKFLOW_EXECUTION_ATTRIBUTES 15

WORKFLOW_TASK_FAILED_CAUSE_BAD_START_CHILD_EXECUTION_ATTRIBUTES 16

WORKFLOW_TASK_FAILED_CAUSE_FORCE_CLOSE_COMMAND 17

WORKFLOW_TASK_FAILED_CAUSE_FAILOVER_CLOSE_COMMAND 18

WORKFLOW_TASK_FAILED_CAUSE_BAD_SIGNAL_INPUT_SIZE 19

WORKFLOW_TASK_FAILED_CAUSE_RESET_WORKFLOW 20

WORKFLOW_TASK_FAILED_CAUSE_BAD_BINARY 21

WORKFLOW_TASK_FAILED_CAUSE_SCHEDULE_ACTIVITY_DUPLICATE_ID 22

WORKFLOW_TASK_FAILED_CAUSE_BAD_SEARCH_ATTRIBUTES 23

WORKFLOW_TASK_FAILED_CAUSE_NON_DETERMINISTIC_ERROR 24

The worker encountered a mismatch while replaying history between what was expected, and what the workflow code actually did.

WORKFLOW_TASK_FAILED_CAUSE_BAD_MODIFY_WORKFLOW_PROPERTIES_ATTRIBUTES 25

WORKFLOW_TASK_FAILED_CAUSE_PENDING_CHILD_WORKFLOWS_LIMIT_EXCEEDED 26

We send the below error codes to users when their requests would violate a size constraint of their workflow. We do this to ensure that the state of their workflow does not become too large because that can cause severe performance degradation. You can modify the thresholds for each of these errors within your dynamic config. Spawning a new child workflow would cause this workflow to exceed its limit of pending child workflows.

WORKFLOW_TASK_FAILED_CAUSE_PENDING_ACTIVITIES_LIMIT_EXCEEDED 27

Starting a new activity would cause this workflow to exceed its limit of pending activities that we track.

WORKFLOW_TASK_FAILED_CAUSE_PENDING_SIGNALS_LIMIT_EXCEEDED 28

A workflow has a buffer of signals that have not yet reached their destination. We return this error when sending a new signal would exceed the capacity of this buffer.

WORKFLOW_TASK_FAILED_CAUSE_PENDING_REQUEST_CANCEL_LIMIT_EXCEEDED 29

Similarly, we have a buffer of pending requests to cancel other workflows. We return this error when our capacity for pending cancel requests is already reached.

WORKFLOW_TASK_FAILED_CAUSE_BAD_UPDATE_WORKFLOW_EXECUTION_MESSAGE 30

Workflow execution update message (update.Acceptance, update.Rejection, or update.Response) has wrong format, or missing required fields.

WORKFLOW_TASK_FAILED_CAUSE_UNHANDLED_UPDATE 31

Similar to WORKFLOW_TASK_FAILED_CAUSE_UNHANDLED_COMMAND, but for updates.

temporal/api/enums/v1/task_queue.proto

Top

TaskQueueKind

NameNumberDescription
TASK_QUEUE_KIND_UNSPECIFIED 0

TASK_QUEUE_KIND_NORMAL 1

Tasks from a normal workflow task queue always include complete workflow history The task queue specified by the user is always a normal task queue. There can be as many workers as desired for a single normal task queue. All those workers may pick up tasks from that queue.

TASK_QUEUE_KIND_STICKY 2

A sticky queue only includes new history since the last workflow task, and they are per-worker. Sticky queues are created dynamically by each worker during their start up. They only exist for the lifetime of the worker process. Tasks in a sticky task queue are only available to the worker that created the sticky queue. Sticky queues are only for workflow tasks. There are no sticky task queues for activities.

TaskQueueType

NameNumberDescription
TASK_QUEUE_TYPE_UNSPECIFIED 0

TASK_QUEUE_TYPE_WORKFLOW 1

Workflow type of task queue.

TASK_QUEUE_TYPE_ACTIVITY 2

Activity type of task queue.

TASK_QUEUE_TYPE_NEXUS 3

Task queue type for dispatching Nexus requests.

TaskReachability

Specifies which category of tasks may reach a worker on a versioned task queue.

Used both in a reachability query and its response.

NameNumberDescription
TASK_REACHABILITY_UNSPECIFIED 0

TASK_REACHABILITY_NEW_WORKFLOWS 1

There's a possiblity for a worker to receive new workflow tasks. Workers should *not* be retired.

TASK_REACHABILITY_EXISTING_WORKFLOWS 2

There's a possiblity for a worker to receive existing workflow and activity tasks from existing workflows. Workers should *not* be retired. This enum value does not distinguish between open and closed workflows.

TASK_REACHABILITY_OPEN_WORKFLOWS 3

There's a possiblity for a worker to receive existing workflow and activity tasks from open workflows. Workers should *not* be retired.

TASK_REACHABILITY_CLOSED_WORKFLOWS 4

There's a possiblity for a worker to receive existing workflow tasks from closed workflows. Workers may be retired dependending on application requirements. For example, if there's no need to query closed workflows.

temporal/api/enums/v1/update.proto

Top

UpdateAdmittedEventOrigin

Records why a WorkflowExecutionUpdateAdmittedEvent was written to history.

Note that not all admitted updates result in this event.

NameNumberDescription
UPDATE_ADMITTED_EVENT_ORIGIN_UNSPECIFIED 0

UPDATE_ADMITTED_EVENT_ORIGIN_REAPPLY 1

The UpdateAdmitted event was created when reapplying events during reset or replication. I.e. an accepted update on one branch of workflow history was converted into an admitted update on a different branch.

UpdateWorkflowExecutionLifecycleStage

UpdateWorkflowExecutionLifecycleStage is specified by clients invoking

workflow execution updates and used to indicate to the server how long the

client wishes to wait for a return value from the RPC. If any value other

than UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED is sent by the

client then the RPC will complete before the update is finished and will

return a handle to the running update so that it can later be polled for

completion.

NameNumberDescription
UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_UNSPECIFIED 0

An unspecified vale for this enum.

UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ADMITTED 1

The gRPC call will not return until the update request has been admitted by the server - it may be the case that due to a considerations like load or resource limits that an update is made to wait before the server will indicate that it has been received and will be processed. This value does not wait for any sort of acknowledgement from a worker.

UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ACCEPTED 2

The gRPC call will not return until the update has passed validation on a worker.

UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED 3

The gRPC call will not return until the update has executed to completion on a worker and has either been rejected or returned a value or an error.

temporal/api/enums/v1/command_type.proto

Top

CommandType

Whenever this list of command types is changed do change the function shouldBufferEvent in mutableStateBuilder.go to make sure to do the correct event ordering.

NameNumberDescription
COMMAND_TYPE_UNSPECIFIED 0

COMMAND_TYPE_SCHEDULE_ACTIVITY_TASK 1

COMMAND_TYPE_REQUEST_CANCEL_ACTIVITY_TASK 2

COMMAND_TYPE_START_TIMER 3

COMMAND_TYPE_COMPLETE_WORKFLOW_EXECUTION 4

COMMAND_TYPE_FAIL_WORKFLOW_EXECUTION 5

COMMAND_TYPE_CANCEL_TIMER 6

COMMAND_TYPE_CANCEL_WORKFLOW_EXECUTION 7

COMMAND_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION 8

COMMAND_TYPE_RECORD_MARKER 9

COMMAND_TYPE_CONTINUE_AS_NEW_WORKFLOW_EXECUTION 10

COMMAND_TYPE_START_CHILD_WORKFLOW_EXECUTION 11

COMMAND_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION 12

COMMAND_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES 13

COMMAND_TYPE_PROTOCOL_MESSAGE 14

COMMAND_TYPE_MODIFY_WORKFLOW_PROPERTIES 16

temporal/api/enums/v1/namespace.proto

Top

ArchivalState

NameNumberDescription
ARCHIVAL_STATE_UNSPECIFIED 0

ARCHIVAL_STATE_DISABLED 1

ARCHIVAL_STATE_ENABLED 2

NamespaceState

NameNumberDescription
NAMESPACE_STATE_UNSPECIFIED 0

NAMESPACE_STATE_REGISTERED 1

NAMESPACE_STATE_DEPRECATED 2

NAMESPACE_STATE_DELETED 3

ReplicationState

NameNumberDescription
REPLICATION_STATE_UNSPECIFIED 0

REPLICATION_STATE_NORMAL 1

REPLICATION_STATE_HANDOVER 2

temporal/api/enums/v1/event_type.proto

Top

EventType

Whenever this list of events is changed do change the function shouldBufferEvent in mutableStateBuilder.go to make sure to do the correct event ordering

NameNumberDescription
EVENT_TYPE_UNSPECIFIED 0

Place holder and should never appear in a Workflow execution history

EVENT_TYPE_WORKFLOW_EXECUTION_STARTED 1

Workflow execution has been triggered/started It contains Workflow execution inputs, as well as Workflow timeout configurations

EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED 2

Workflow execution has successfully completed and contains Workflow execution results

EVENT_TYPE_WORKFLOW_EXECUTION_FAILED 3

Workflow execution has unsuccessfully completed and contains the Workflow execution error

EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT 4

Workflow execution has timed out by the Temporal Server Usually due to the Workflow having not been completed within timeout settings

EVENT_TYPE_WORKFLOW_TASK_SCHEDULED 5

Workflow Task has been scheduled and the SDK client should now be able to process any new history events

EVENT_TYPE_WORKFLOW_TASK_STARTED 6

Workflow Task has started and the SDK client has picked up the Workflow Task and is processing new history events

EVENT_TYPE_WORKFLOW_TASK_COMPLETED 7

Workflow Task has completed The SDK client picked up the Workflow Task and processed new history events SDK client may or may not ask the Temporal Server to do additional work, such as: EVENT_TYPE_ACTIVITY_TASK_SCHEDULED EVENT_TYPE_TIMER_STARTED EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES EVENT_TYPE_MARKER_RECORDED EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED EVENT_TYPE_WORKFLOW_EXECUTION_FAILED EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW

EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT 8

Workflow Task encountered a timeout Either an SDK client with a local cache was not available at the time, or it took too long for the SDK client to process the task

EVENT_TYPE_WORKFLOW_TASK_FAILED 9

Workflow Task encountered a failure Usually this means that the Workflow was non-deterministic However, the Workflow reset functionality also uses this event

EVENT_TYPE_ACTIVITY_TASK_SCHEDULED 10

Activity Task was scheduled The SDK client should pick up this activity task and execute This event type contains activity inputs, as well as activity timeout configurations

EVENT_TYPE_ACTIVITY_TASK_STARTED 11

Activity Task has started executing The SDK client has picked up the Activity Task and is processing the Activity invocation

EVENT_TYPE_ACTIVITY_TASK_COMPLETED 12

Activity Task has finished successfully The SDK client has picked up and successfully completed the Activity Task This event type contains Activity execution results

EVENT_TYPE_ACTIVITY_TASK_FAILED 13

Activity Task has finished unsuccessfully The SDK picked up the Activity Task but unsuccessfully completed it This event type contains Activity execution errors

EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT 14

Activity has timed out according to the Temporal Server Activity did not complete within the timeout settings

EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED 15

A request to cancel the Activity has occurred The SDK client will be able to confirm cancellation of an Activity during an Activity heartbeat

EVENT_TYPE_ACTIVITY_TASK_CANCELED 16

Activity has been cancelled

EVENT_TYPE_TIMER_STARTED 17

A timer has started

EVENT_TYPE_TIMER_FIRED 18

A timer has fired

EVENT_TYPE_TIMER_CANCELED 19

A time has been cancelled

EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED 20

A request has been made to cancel the Workflow execution

EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED 21

SDK client has confirmed the cancellation request and the Workflow execution has been cancelled

EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED 22

Workflow has requested that the Temporal Server try to cancel another Workflow

EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED 23

Temporal Server could not cancel the targeted Workflow This is usually because the target Workflow could not be found

EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_CANCEL_REQUESTED 24

Temporal Server has successfully requested the cancellation of the target Workflow

EVENT_TYPE_MARKER_RECORDED 25

A marker has been recorded. This event type is transparent to the Temporal Server The Server will only store it and will not try to understand it.

EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED 26

Workflow has received a Signal event The event type contains the Signal name, as well as a Signal payload

EVENT_TYPE_WORKFLOW_EXECUTION_TERMINATED 27

Workflow execution has been forcefully terminated This is usually because the terminate Workflow API was called

EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW 28

Workflow has successfully completed and a new Workflow has been started within the same transaction Contains last Workflow execution results as well as new Workflow execution inputs

EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED 29

Temporal Server will try to start a child Workflow

EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_FAILED 30

Child Workflow execution cannot be started/triggered Usually due to a child Workflow ID collision

EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED 31

Child Workflow execution has successfully started/triggered

EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_COMPLETED 32

Child Workflow execution has successfully completed

EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_FAILED 33

Child Workflow execution has unsuccessfully completed

EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_CANCELED 34

Child Workflow execution has been cancelled

EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TIMED_OUT 35

Child Workflow execution has timed out by the Temporal Server

EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TERMINATED 36

Child Workflow execution has been terminated

EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED 37

Temporal Server will try to Signal the targeted Workflow Contains the Signal name, as well as a Signal payload

EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED 38

Temporal Server cannot Signal the targeted Workflow Usually because the Workflow could not be found

EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED 39

Temporal Server has successfully Signaled the targeted Workflow

EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES 40

Workflow search attributes should be updated and synchronized with the visibility store

EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ACCEPTED 41

An update was accepted (i.e. validated)

EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_REJECTED 42

An update was rejected (i.e. failed validation)

EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_COMPLETED 43

An update completed

EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED_EXTERNALLY 44

Some property or properties of the workflow as a whole have changed by non-workflow code. The distinction of external vs. command-based modification is important so the SDK can maintain determinism when using the command-based approach.

EVENT_TYPE_ACTIVITY_PROPERTIES_MODIFIED_EXTERNALLY 45

Some property or properties of an already-scheduled activity have changed by non-workflow code. The distinction of external vs. command-based modification is important so the SDK can maintain determinism when using the command-based approach.

EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED 46

Workflow properties modified by user workflow code

EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ADMITTED 47

An update was admitted. Note that not all admitted updates result in this event. See UpdateRequestedEventOrigin for situations in which this event is created.

temporal/api/enums/v1/reset.proto

Top

ResetReapplyExcludeType

Event types to exclude when reapplying events.

NameNumberDescription
RESET_REAPPLY_EXCLUDE_TYPE_UNSPECIFIED 0

RESET_REAPPLY_EXCLUDE_TYPE_SIGNAL 1

Exclude signals when reapplying events.

RESET_REAPPLY_EXCLUDE_TYPE_UPDATE 2

Exclude updates when reapplying events.

ResetReapplyType

Event types to include when reapplying events. Deprecated: applications

should use ResetReapplyExcludeType to specify exclusions from this set, and

new event types should be added to ResetReapplyExcludeType instead of here.

NameNumberDescription
RESET_REAPPLY_TYPE_UNSPECIFIED 0

RESET_REAPPLY_TYPE_SIGNAL 1

Signals are reapplied when workflow is reset.

RESET_REAPPLY_TYPE_NONE 2

No events are reapplied when workflow is reset.

RESET_REAPPLY_TYPE_ALL_ELIGIBLE 3

All eligible events are reapplied when workflow is reset.

ResetType

Reset type options. Deprecated, see temporal.api.common.v1.ResetOptions.

NameNumberDescription
RESET_TYPE_UNSPECIFIED 0

RESET_TYPE_FIRST_WORKFLOW_TASK 1

Resets to event of the first workflow task completed, or if it does not exist, the event after task scheduled.

RESET_TYPE_LAST_WORKFLOW_TASK 2

Resets to event of the last workflow task completed, or if it does not exist, the event after task scheduled.

temporal/api/namespace/v1/message.proto

Top

BadBinaries

FieldTypeLabelDescription
binaries BadBinaries.BinariesEntry repeated

BadBinaries.BinariesEntry

FieldTypeLabelDescription
key string

value BadBinaryInfo

BadBinaryInfo

FieldTypeLabelDescription
reason string

operator string

create_time google.protobuf.Timestamp

NamespaceConfig

FieldTypeLabelDescription
workflow_execution_retention_ttl google.protobuf.Duration

bad_binaries BadBinaries

history_archival_state temporal.api.enums.v1.ArchivalState

If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used.

history_archival_uri string

visibility_archival_state temporal.api.enums.v1.ArchivalState

If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used.

visibility_archival_uri string

custom_search_attribute_aliases NamespaceConfig.CustomSearchAttributeAliasesEntry repeated

Map from field name to alias.

NamespaceConfig.CustomSearchAttributeAliasesEntry

FieldTypeLabelDescription
key string

value string

NamespaceFilter

FieldTypeLabelDescription
include_deleted bool

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.

NamespaceInfo

FieldTypeLabelDescription
name string

state temporal.api.enums.v1.NamespaceState

description string

owner_email string

data NamespaceInfo.DataEntry repeated

A key-value map for any customized purpose.

id string

capabilities NamespaceInfo.Capabilities

All capabilities the namespace supports.

supports_schedules bool

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

Namespace capability details. Should contain what features are enabled in a namespace.

FieldTypeLabelDescription
eager_workflow_start bool

True if the namespace supports eager workflow start.

sync_update bool

True if the namespace supports sync update

async_update bool

True if the namespace supports async update

NamespaceInfo.DataEntry

FieldTypeLabelDescription
key string

value string

UpdateNamespaceInfo

FieldTypeLabelDescription
description string

owner_email string

data UpdateNamespaceInfo.DataEntry repeated

A key-value map for any customized purpose. If data already exists on the namespace, this will merge with the existing key values.

state temporal.api.enums.v1.NamespaceState

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.

UpdateNamespaceInfo.DataEntry

FieldTypeLabelDescription
key string

value string

temporal/api/failure/v1/message.proto

Top

ActivityFailureInfo

FieldTypeLabelDescription
scheduled_event_id int64

started_event_id int64

identity string

activity_type temporal.api.common.v1.ActivityType

activity_id string

retry_state temporal.api.enums.v1.RetryState

ApplicationFailureInfo

FieldTypeLabelDescription
type string

non_retryable bool

details temporal.api.common.v1.Payloads

next_retry_delay google.protobuf.Duration

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. ATTENTION: this value will be ignored if set for failures produced by the workflow.

CanceledFailureInfo

FieldTypeLabelDescription
details temporal.api.common.v1.Payloads

ChildWorkflowExecutionFailureInfo

FieldTypeLabelDescription
namespace string

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

initiated_event_id int64

started_event_id int64

retry_state temporal.api.enums.v1.RetryState

Failure

FieldTypeLabelDescription
message string

source string

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.

stack_trace string

encoded_attributes temporal.api.common.v1.Payload

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. (-- api-linter: core::0203::optional=disabled --)

cause Failure

application_failure_info ApplicationFailureInfo

timeout_failure_info TimeoutFailureInfo

canceled_failure_info CanceledFailureInfo

terminated_failure_info TerminatedFailureInfo

server_failure_info ServerFailureInfo

reset_workflow_failure_info ResetWorkflowFailureInfo

activity_failure_info ActivityFailureInfo

child_workflow_execution_failure_info ChildWorkflowExecutionFailureInfo

ResetWorkflowFailureInfo

FieldTypeLabelDescription
last_heartbeat_details temporal.api.common.v1.Payloads

ServerFailureInfo

FieldTypeLabelDescription
non_retryable bool

TerminatedFailureInfo

TimeoutFailureInfo

FieldTypeLabelDescription
timeout_type temporal.api.enums.v1.TimeoutType

last_heartbeat_details temporal.api.common.v1.Payloads

temporal/api/schedule/v1/message.proto

Top

BackfillRequest

FieldTypeLabelDescription
start_time google.protobuf.Timestamp

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.

end_time google.protobuf.Timestamp

overlap_policy temporal.api.enums.v1.ScheduleOverlapPolicy

If set, override overlap policy for this request.

CalendarSpec

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.

FieldTypeLabelDescription
second string

Expression to match seconds. Default: 0

minute string

Expression to match minutes. Default: 0

hour string

Expression to match hours. Default: 0

day_of_month string

Expression to match days of the month. Default: * (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: standard name of field --)

month string

Expression to match months. Default: *

year string

Expression to match years. Default: *

day_of_week string

Expression to match days of the week. Default: *

comment string

Free-form comment describing the intention of this spec.

IntervalSpec

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.

FieldTypeLabelDescription
interval google.protobuf.Duration

phase google.protobuf.Duration

Range

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.

FieldTypeLabelDescription
start int32

Start of range (inclusive).

end int32

End of range (inclusive).

step int32

Step (optional, default 1).

Schedule

FieldTypeLabelDescription
spec ScheduleSpec

action ScheduleAction

policies SchedulePolicies

state ScheduleState

ScheduleAction

FieldTypeLabelDescription
start_workflow temporal.api.workflow.v1.NewWorkflowExecutionInfo

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

FieldTypeLabelDescription
schedule_time google.protobuf.Timestamp

Time that the action was taken (according to the schedule, including jitter).

actual_time google.protobuf.Timestamp

Time that the action was taken (real time).

start_workflow_result temporal.api.common.v1.WorkflowExecution

If action was start_workflow:

ScheduleInfo

FieldTypeLabelDescription
action_count int64

Number of actions taken so far.

missed_catchup_window int64

Number of times a scheduled action was skipped due to missing the catchup window.

overlap_skipped int64

Number of skipped actions due to overlap.

buffer_dropped int64

Number of dropped actions due to buffer limit.

buffer_size int64

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.

running_workflows temporal.api.common.v1.WorkflowExecution repeated

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.

recent_actions ScheduleActionResult repeated

Most recent ten actual action times (including manual triggers).

future_action_times google.protobuf.Timestamp repeated

Next ten scheduled action times.

create_time google.protobuf.Timestamp

Timestamps of schedule creation and last update.

update_time google.protobuf.Timestamp

invalid_schedule_error string

Deprecated.

Fields with deprecated option

Name Option
invalid_schedule_error

true

ScheduleListEntry

ScheduleListEntry is returned by ListSchedules.

FieldTypeLabelDescription
schedule_id string

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

info ScheduleListInfo

ScheduleListInfo

ScheduleListInfo is an abbreviated set of values from Schedule and ScheduleInfo

that's returned in ListSchedules.

FieldTypeLabelDescription
spec ScheduleSpec

From spec: Some fields are dropped from this copy of spec: timezone_data

workflow_type temporal.api.common.v1.WorkflowType

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 string

From state:

paused bool

recent_actions ScheduleActionResult repeated

From info (maybe fewer entries):

future_action_times google.protobuf.Timestamp repeated

SchedulePatch

FieldTypeLabelDescription
trigger_immediately TriggerImmediatelyRequest

If set, trigger one action immediately.

backfill_request BackfillRequest repeated

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 string

If set, change the state to paused or unpaused (respectively) and set the notes field to the value of the string.

unpause string

SchedulePolicies

FieldTypeLabelDescription
overlap_policy temporal.api.enums.v1.ScheduleOverlapPolicy

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.

catchup_window google.protobuf.Duration

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.

pause_on_failure bool

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.

keep_original_workflow_id bool

If true, and the action would start a workflow, a timestamp will not be appended to the scheduled workflow id.

ScheduleSpec

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

FieldTypeLabelDescription
structured_calendar StructuredCalendarSpec repeated

Calendar-based specifications of times.

cron_string string repeated

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 CalendarSpec repeated

Calendar-based specifications of times.

interval IntervalSpec repeated

Interval-based specifications of times.

exclude_calendar CalendarSpec repeated

Deprecated. Any timestamps matching any of exclude_* will be skipped. use exclude_structured_calendar

exclude_structured_calendar StructuredCalendarSpec repeated

start_time google.protobuf.Timestamp

If start_time is set, any timestamps before start_time will be skipped. (Together, start_time and end_time make an inclusive interval.)

end_time google.protobuf.Timestamp

If end_time is set, any timestamps after end_time will be skipped.

jitter google.protobuf.Duration

All timestamps will be incremented by a random value from 0 to this amount of jitter. Default: 0

timezone_name string

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

timezone_data bytes

Fields with deprecated option

Name Option
exclude_calendar

true

ScheduleState

FieldTypeLabelDescription
notes string

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 bool

If true, do not take any actions based on the schedule spec.

limited_actions bool

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

remaining_actions int64

StructuredCalendarSpec

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.

TODO: add relative-to-end-of-month

TODO: add nth day-of-week in month

FieldTypeLabelDescription
second Range repeated

Match seconds (0-59)

minute Range repeated

Match minutes (0-59)

hour Range repeated

Match hours (0-23)

day_of_month Range repeated

Match days of the month (1-31) (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: standard name of field --)

month Range repeated

Match months (1-12)

year Range repeated

Match years.

day_of_week Range repeated

Match days of the week (0-6; 0 is Sunday).

comment string

Free-form comment describing the intention of this spec.

TriggerImmediatelyRequest

FieldTypeLabelDescription
overlap_policy temporal.api.enums.v1.ScheduleOverlapPolicy

If set, override overlap policy for this one request.

temporal/api/version/v1/message.proto

Top

Alert

Alert contains notification and severity.

FieldTypeLabelDescription
message string

severity temporal.api.enums.v1.Severity

ReleaseInfo

ReleaseInfo contains information about specific version of temporal.

FieldTypeLabelDescription
version string

release_time google.protobuf.Timestamp

notes string

VersionInfo

VersionInfo contains details about current and recommended release versions as well as alerts and upgrade instructions.

FieldTypeLabelDescription
current ReleaseInfo

recommended ReleaseInfo

instructions string

alerts Alert repeated

last_update_time google.protobuf.Timestamp

temporal/api/taskqueue/v1/message.proto

Top

BuildIdReachability

Reachability of tasks for a worker by build id, in one or more task queues.

FieldTypeLabelDescription
build_id string

A build id or empty if unversioned.

task_queue_reachability TaskQueueReachability repeated

Reachability per task queue.

CompatibleVersionSet

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.

FieldTypeLabelDescription
build_ids string repeated

All the compatible versions, unordered, except for the last element, which is considered the set "default".

PollerInfo

FieldTypeLabelDescription
last_access_time google.protobuf.Timestamp

identity string

rate_per_second double

worker_version_capabilities temporal.api.common.v1.WorkerVersionCapabilities

If a worker has opted into the worker versioning feature while polling, its capabilities will appear here.

StickyExecutionAttributes

FieldTypeLabelDescription
worker_task_queue TaskQueue

schedule_to_start_timeout google.protobuf.Duration

(-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

TaskIdBlock

FieldTypeLabelDescription
start_id int64

end_id int64

TaskQueue

See https://docs.temporal.io/docs/concepts/task-queues/

FieldTypeLabelDescription
name string

kind temporal.api.enums.v1.TaskQueueKind

Default: TASK_QUEUE_KIND_NORMAL.

normal_name string

Iff kind == TASK_QUEUE_KIND_STICKY, then this field contains the name of the normal task queue that the sticky worker is running on.

TaskQueueMetadata

Only applies to activity task queues

FieldTypeLabelDescription
max_tasks_per_second google.protobuf.DoubleValue

Allows throttling dispatch of tasks from this queue

TaskQueuePartitionMetadata

FieldTypeLabelDescription
key string

owner_host_name string

TaskQueueReachability

Reachability of tasks for a worker on a single task queue.

FieldTypeLabelDescription
task_queue string

reachability temporal.api.enums.v1.TaskReachability repeated

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.

TaskQueueStatus

FieldTypeLabelDescription
backlog_count_hint int64

read_level int64

ack_level int64

rate_per_second double

task_id_block TaskIdBlock

temporal/api/batch/v1/message.proto

Top

BatchOperationCancellation

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.

FieldTypeLabelDescription
identity string

The identity of the worker/client

BatchOperationDeletion

BatchOperationDeletion sends deletion requests to batch workflows.

Keep the parameter in sync with temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest.

FieldTypeLabelDescription
identity string

The identity of the worker/client

BatchOperationInfo

FieldTypeLabelDescription
job_id string

Batch job ID

state temporal.api.enums.v1.BatchOperationState

Batch operation state

start_time google.protobuf.Timestamp

Batch operation start time

close_time google.protobuf.Timestamp

Batch operation close time

BatchOperationReset

BatchOperationReset sends reset requests to batch workflows.

Keep the parameter in sync with temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest.

FieldTypeLabelDescription
identity string

The identity of the worker/client.

options temporal.api.common.v1.ResetOptions

Describes what to reset to and how. If set, `reset_type` and `reset_reapply_type` are ignored.

reset_type temporal.api.enums.v1.ResetType

Reset type (deprecated, use `options`).

reset_reapply_type temporal.api.enums.v1.ResetReapplyType

History event reapply options (deprecated, use `options`).

BatchOperationSignal

BatchOperationSignal sends signals to batch workflows.

Keep the parameter in sync with temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest.

FieldTypeLabelDescription
signal string

The workflow author-defined name of the signal to send to the workflow

input temporal.api.common.v1.Payloads

Serialized value(s) to provide with the signal

header temporal.api.common.v1.Header

Headers that are passed with the signal to the processing workflow. These can include things like auth or tracing tokens.

identity string

The identity of the worker/client

BatchOperationTermination

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.

FieldTypeLabelDescription
details temporal.api.common.v1.Payloads

Serialized value(s) to provide to the termination event

identity string

The identity of the worker/client

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)