Field | Type | Label | Description |
client_version | string |
|
|
client_name | string |
|
|
supported_versions | string |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
namespace | string |
|
|
current_cluster | string |
|
|
active_cluster | string |
|
Field | Type | Label | Description |
namespace | string |
|
Field | Type | Label | Description |
default_build_id | string | The current default compatible build ID which will receive tasks |
Field | Type | Label | Description |
current_cluster | string |
|
|
active_cluster | string |
|
Field | Type | Label | Description |
reason | string |
|
Field | Type | Label | Description |
cause | temporal.api.enums.v1.ResourceExhaustedCause |
|
|
scope | temporal.api.enums.v1.ResourceExhaustedScope |
|
Field | Type | Label | Description |
server_version | string |
|
|
client_supported_server_versions | string |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
start_request_id | string |
|
|
run_id | string |
|
Field | Type | Label | Description |
namespace | string |
|
|
query | string |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
group_values | temporal.api.common.v1.Payload | repeated |
|
count | int64 |
|
(-- api-linter: core::0203::optional=disabled
aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --)
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
conflict_token | bytes |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
namespace | string |
|
|
workflow_execution | temporal.api.common.v1.WorkflowExecution | Workflow Execution to delete. If run_id is not specified, the latest one is used. |
Deprecated.
Field | Type | Label | Description |
namespace | string |
|
|
security_token | string |
|
Deprecated.
Field | Type | Label | Description |
namespace | string | Namespace that contains the batch operation |
|
job_id | string | Batch job id |
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
namespace | string |
|
|
id | string |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
namespace | string | The namespace of the schedule to describe. |
|
schedule_id | string | The id of the schedule to describe. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
pollers | temporal.api.taskqueue.v1.PollerInfo | repeated |
|
task_queue_status | temporal.api.taskqueue.v1.TaskQueueStatus |
|
Field | Type | Label | Description |
namespace | string |
|
|
execution | temporal.api.common.v1.WorkflowExecution |
|
Field | Type | Label | Description |
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 |
|
GetClusterInfoResponse contains information about Temporal cluster.
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Field | Type | Label | Description |
keys | GetSearchAttributesResponse.KeysEntry | repeated |
|
Field | Type | Label | Description |
key | string |
|
|
value | temporal.api.enums.v1.IndexedValueType |
|
Field | Type | Label | Description |
server_version | string | Version of the server. |
|
capabilities | GetSystemInfoResponse.Capabilities | All capabilities the system supports. |
System capability details.
Field | Type | Label | Description |
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 --) |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
namespace | string |
|
|
execution | temporal.api.common.v1.WorkflowExecution |
|
|
maximum_page_size | int32 |
|
|
next_page_token | bytes |
|
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
namespace | string |
|
|
page_size | int32 |
|
|
next_page_token | bytes |
|
|
query | string |
|
Field | Type | Label | Description |
executions | temporal.api.workflow.v1.WorkflowExecutionInfo | repeated |
|
next_page_token | bytes |
|
Field | Type | Label | Description |
namespace | string | Namespace that contains the batch operation |
|
page_size | int32 | List page size |
|
next_page_token | bytes | Next page token |
Field | Type | Label | Description |
operation_info | temporal.api.batch.v1.BatchOperationInfo | repeated | BatchOperationInfo contains the basic info about batch operation |
next_page_token | bytes |
|
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
executions | temporal.api.workflow.v1.WorkflowExecutionInfo | repeated |
|
next_page_token | bytes |
|
Field | Type | Label | Description |
page_size | int32 |
|
|
next_page_token | bytes |
|
|
namespace_filter | temporal.api.namespace.v1.NamespaceFilter |
|
Field | Type | Label | Description |
namespaces | DescribeNamespaceResponse | repeated |
|
next_page_token | bytes |
|
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
executions | temporal.api.workflow.v1.WorkflowExecutionInfo | repeated |
|
next_page_token | bytes |
|
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
start_time | google.protobuf.Timestamp | repeated |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
schedules | temporal.api.schedule.v1.ScheduleListEntry | repeated |
|
next_page_token | bytes |
|
Field | Type | Label | Description |
namespace | string |
|
|
task_queue | temporal.api.taskqueue.v1.TaskQueue |
|
Field | Type | Label | Description |
activity_task_queue_partitions | temporal.api.taskqueue.v1.TaskQueuePartitionMetadata | repeated |
|
workflow_task_queue_partitions | temporal.api.taskqueue.v1.TaskQueuePartitionMetadata | repeated |
|
Field | Type | Label | Description |
namespace | string |
|
|
page_size | int32 |
|
|
next_page_token | bytes |
|
|
query | string |
|
Field | Type | Label | Description |
executions | temporal.api.workflow.v1.WorkflowExecutionInfo | repeated |
|
next_page_token | bytes |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
key | string |
|
|
value | temporal.api.query.v1.WorkflowQuery |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
query_result | temporal.api.common.v1.Payloads |
|
|
query_rejected | temporal.api.query.v1.QueryRejected |
|
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
namespace | string |
|
|
execution | temporal.api.common.v1.WorkflowExecution |
|
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
run_id | string |
|
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
failures | temporal.api.failure.v1.Failure | repeated | Server validation failures could include last_heartbeat_details payload is too large, request failure is too large |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
failures | temporal.api.failure.v1.Failure | repeated | Server validation failures could include last_heartbeat_details payload is too large, request failure is too large |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
task_token | bytes |
|
|
completed_type | temporal.api.enums.v1.QueryResultType |
|
|
query_result | temporal.api.common.v1.Payloads |
|
|
error_message | string |
|
|
namespace | string |
|
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
key | string |
|
|
value | temporal.api.query.v1.WorkflowQueryResult |
|
Field | Type | Label | Description |
workflow_task | PollWorkflowTaskQueueResponse | See `RespondWorkflowTaskCompletedResponse::return_new_workflow_task` |
|
activity_tasks | PollActivityTaskQueueResponse | repeated | See `ScheduleActivityTaskCommandAttributes::request_start` |
reset_history_event_id | int64 |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
namespace | string |
|
|
page_size | int32 |
|
|
next_page_token | bytes |
|
|
query | string |
|
Field | Type | Label | Description |
executions | temporal.api.workflow.v1.WorkflowExecutionInfo | repeated |
|
next_page_token | bytes |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
(-- api-linter: core::0134=disabled
aip.dev/not-precedent: Update RPCs don't follow Google API format. --)
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
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 Name | Request Type | Response Type | Description |
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. --) |
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 |
Field | Type | Label | Description |
status | temporal.api.enums.v1.WorkflowExecutionStatus |
|
See https://docs.temporal.io/docs/concepts/queries/
Field | Type | Label | Description |
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. |
Answer to a `WorkflowQuery`
Field | Type | Label | Description |
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. |
A request to cancel an operation.
Field | Type | Label | Description |
operation | string | Type of operation to cancel. |
|
operation_id | string | Operation ID as originally generated by a Handler. |
Response variant for CancelOperationRequest.
A general purpose failure message.
See: https://github.com/nexus-rpc/api/blob/main/SPEC.md#failure
Field | Type | Label | Description |
message | string |
|
|
metadata | Failure.MetadataEntry | repeated |
|
details | google.protobuf.Value |
|
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Field | Type | Label | Description |
error_type | string | See https://github.com/nexus-rpc/api/blob/main/SPEC.md#predefined-handler-errors. |
|
failure | Failure |
|
A cluster-global binding from a service ID to namespace, task queue, and metadata for dispatching incoming Nexus
requests.
Field | Type | Label | Description |
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. |
Contains mutable fields for an IncomingService.
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
key | string |
|
|
value | google.protobuf.Any |
|
A per-namespace binding from service name to URL that is used by the service to invoke Nexus requests that are
initiated by workflows.
Field | Type | Label | Description |
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. --) |
Contains mutable fields for an OutgoingService.
Field | Type | Label | Description |
url | string | URL to invoke requests. |
A Nexus request.
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
A response indicating that the handler has successfully processed a request.
Field | Type | Label | Description |
start_operation | StartOperationResponse |
|
|
cancel_operation | CancelOperationResponse |
|
A request to start an operation.
Field | Type | Label | Description |
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. |
Response variant for StartOperationRequest.
Field | Type | Label | Description |
sync_success | StartOperationResponse.Sync |
|
|
async_success | StartOperationResponse.Async |
|
|
operation_error | UnsuccessfulOperationError | The operation completed unsuccessfully (failed or canceled). |
The operation will complete asynchronously.
The returned ID can be used to reference this operation.
Field | Type | Label | Description |
operation_id | string |
|
An operation completed successfully.
Field | Type | Label | Description |
payload | temporal.api.common.v1.Payload |
|
Field | Type | Label | Description |
operation_state | string | See https://github.com/nexus-rpc/api/blob/main/SPEC.md#operationinfo. |
|
failure | Failure |
|
Field | Type | Label | Description |
history | temporal.api.history.v1.History |
|
WorkflowExecutions is used by the Cloud Export feature to deserialize
the exported file. It encapsulates a collection of workflow execution information.
Field | Type | Label | Description |
items | WorkflowExecution | repeated |
|
Field | Type | Label | Description |
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). |
(-- api-linter: core::0203::optional=disabled --)
Field | Type | Label | Description |
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 |
|
(-- api-linter: core::0123::resource-annotation=disabled
aip.dev/not-precedent: The `name` field is optional. --)
(-- api-linter: core::0203::optional=disabled --)
Field | Type | Label | Description |
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. |
The name of the query to retrieve this information is `__temporal_workflow_metadata`.
Field | Type | Label | Description |
definition | WorkflowDefinition | Metadata provided at declaration or creation time. |
CallbackInfo contains the state of an attached workflow callback.
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
workflow_closed | CallbackInfo.WorkflowClosed |
|
Trigger for when the workflow is closed.
NewWorkflowExecutionInfo is a shared message that encapsulates all the
required arguments to starting a workflow in different contexts.
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 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).
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
points | ResetPointInfo | repeated |
|
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
events | HistoryEvent | repeated |
|
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.
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
key | string |
|
|
value | temporal.api.common.v1.Payloads |
|
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
workflow_task_completed_event_id | int64 | The `WORKFLOW_TASK_COMPLETED` event which this command was reported with |
|
search_attributes | temporal.api.common.v1.SearchAttributes |
|
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
workflow_task_completed_event_id | int64 | The `WORKFLOW_TASK_COMPLETED` event which this command was reported with |
|
details | temporal.api.common.v1.Payloads |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Always the first event in workflow history
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
reason | string | User/client provided reason for termination |
|
details | temporal.api.common.v1.Payloads |
|
|
identity | string | id of the client who requested termination |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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). |
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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 |
|
(-- api-linter: core::0146::any=disabled
aip.dev/not-precedent: We want runtime extensibility for the body field --)
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
timer_id | string | The same timer id from the start timer command |
Field | Type | Label | Description |
details | temporal.api.common.v1.Payloads |
|
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
result | temporal.api.common.v1.Payloads |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
failure | temporal.api.failure.v1.Failure |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
message_id | string | The message ID of the message to which this command is a pointer. |
Field | Type | Label | Description |
marker_name | string |
|
|
details | RecordMarkerCommandAttributes.DetailsEntry | repeated |
|
header | temporal.api.common.v1.Header |
|
|
failure | temporal.api.failure.v1.Failure |
|
Field | Type | Label | Description |
key | string |
|
|
value | temporal.api.common.v1.Payloads |
|
Field | Type | Label | Description |
scheduled_event_id | int64 | The `ACTIVITY_TASK_SCHEDULED` event id for the activity being cancelled. |
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. --) |
Field | Type | Label | Description |
search_attributes | temporal.api.common.v1.SearchAttributes |
|
Field | Type | Label | Description |
cluster_name | string |
|
Represents a historical replication status of a Namespace
Field | Type | Label | Description |
failover_time | google.protobuf.Timestamp | Timestamp when the Cluster switched to the following failover_version |
|
failover_version | int64 |
|
Field | Type | Label | Description |
active_cluster_name | string |
|
|
clusters | ClusterReplicationConfig | repeated |
|
state | temporal.api.enums.v1.ReplicationState |
|
Field | Type | Label | Description |
earliest_time | google.protobuf.Timestamp |
|
|
latest_time | google.protobuf.Timestamp |
|
Field | Type | Label | Description |
status | temporal.api.enums.v1.WorkflowExecutionStatus |
|
Field | Type | Label | Description |
workflow_id | string |
|
|
run_id | string |
|
Field | Type | Label | Description |
name | string |
|
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"
Field | Type | Label | Description |
name | string |
|
Callback to attach to various events in the system, e.g. workflow run completion.
Field | Type | Label | Description |
nexus | Callback.Nexus |
|
Field | Type | Label | Description |
url | string | Callback URL. |
Field | Type | Label | Description |
encoding_type | temporal.api.enums.v1.EncodingType |
|
|
data | bytes |
|
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.
Field | Type | Label | Description |
fields | Header.FieldsEntry | repeated |
|
Field | Type | Label | Description |
key | string |
|
|
value | Payload |
|
A user-defined set of *unindexed* fields that are exposed when listing/searching workflows
Field | Type | Label | Description |
fields | Memo.FieldsEntry | repeated |
|
Field | Type | Label | Description |
key | string |
|
|
value | Payload |
|
Metadata relevant for metering purposes
Field | Type | Label | Description |
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. --) |
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.
Field | Type | Label | Description |
metadata | Payload.MetadataEntry | repeated |
|
data | bytes |
|
Field | Type | Label | Description |
key | string |
|
|
value | bytes |
|
See `Payload`
Field | Type | Label | Description |
payloads | Payload | repeated |
|
Describes where and how to reset a workflow, used for batch reset currently
and may be used for single-workflow reset later.
Field | Type | Label | Description |
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.) |
How retries ought to be handled, usable by both workflows and activities
Field | Type | Label | Description |
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. |
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.
Field | Type | Label | Description |
indexed_fields | SearchAttributes.IndexedFieldsEntry | repeated |
|
Field | Type | Label | Description |
key | string |
|
|
value | Payload |
|
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.
Field | Type | Label | Description |
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. |
Identifies the version(s) of a worker that processed a task
Field | Type | Label | Description |
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. |
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".
Field | Type | Label | Description |
workflow_id | string |
|
|
run_id | string |
|
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"
Field | Type | Label | Description |
name | string |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
search_attributes | AddSearchAttributesRequest.SearchAttributesEntry | repeated | Mapping between search attribute name and its IndexedValueType. |
namespace | string |
|
Field | Type | Label | Description |
key | string |
|
|
value | temporal.api.enums.v1.IndexedValueType |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
spec | temporal.api.nexus.v1.IncomingServiceSpec | Service definition to create. |
Field | Type | Label | Description |
service | temporal.api.nexus.v1.IncomingService | Data post acceptance. Can be used to issue additional updates to this record. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
service | temporal.api.nexus.v1.OutgoingService | Data post acceptance. Can be used to issue additional updates to this record. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
deleted_namespace | string | Temporary namespace name that is used during reclaim resources step. |
Field | Type | Label | Description |
id | string | Server-generated unique service ID. |
|
version | int64 | Data version for this service. Must match current version. |
Field | Type | Label | Description |
namespace | string | Namespace that contains this outgoing service definition. |
|
name | string | Name of service to delete. |
Field | Type | Label | Description |
id | string | Server-generated unique service ID. |
Field | Type | Label | Description |
service | temporal.api.nexus.v1.IncomingService |
|
Field | Type | Label | Description |
namespace | string | Namespace that contains this outgoing service definition. |
|
name | string | Name of service to retrieve. |
Field | Type | Label | Description |
service | temporal.api.nexus.v1.OutgoingService |
|
Field | Type | Label | Description |
page_size | int32 |
|
|
next_page_token | bytes |
|
Field | Type | Label | Description |
clusters | ClusterMetadata | repeated | List of all cluster information |
next_page_token | bytes |
|
Field | Type | Label | Description |
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. --) |
Field | Type | Label | Description |
next_page_token | bytes | Token for getting the next page. |
|
services | temporal.api.nexus.v1.IncomingService | repeated |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
namespace | string |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
key | string |
|
|
value | temporal.api.enums.v1.IndexedValueType |
|
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Field | Type | Label | Description |
key | string |
|
|
value | temporal.api.enums.v1.IndexedValueType |
|
Field | Type | Label | Description |
cluster_name | string | Remote cluster name to be removed. |
Field | Type | Label | Description |
search_attributes | string | repeated | Search attribute names to delete. |
namespace | string |
|
Field | Type | Label | Description |
id | string | Server-generated unique service ID. |
|
version | int64 | Data version for this service. Must match current version. |
|
spec | temporal.api.nexus.v1.IncomingServiceSpec |
|
Field | Type | Label | Description |
service | temporal.api.nexus.v1.IncomingService | Data post acceptance. Can be used to issue additional updates to this record. |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
service | temporal.api.nexus.v1.OutgoingService | Data post acceptance. Can be used to issue additional updates to this record. |
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 Name | Request Type | Response Type | Description |
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. |
Method Name | Method | Pattern | Body |
ListSearchAttributes | GET | /api/v1/namespaces/{namespace}/search-attributes |
An update protocol message indicating that a workflow execution update has
been accepted (i.e. passed the worker-side validation phase).
Field | Type | Label | Description |
accepted_request_message_id | string |
|
|
accepted_request_sequencing_event_id | int64 |
|
|
accepted_request | Request |
|
Field | Type | Label | Description |
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. |
Metadata about a workflow execution update.
Field | Type | Label | Description |
update_id | string | An ID with workflow-scoped uniqueness for this update |
|
identity | string | A string identifying the agent that requested this update. |
The outcome of a workflow update - success or failure.
Field | Type | Label | Description |
success | temporal.api.common.v1.Payloads |
|
|
failure | temporal.api.failure.v1.Failure |
|
An update protocol message indicating that a workflow execution update has
been rejected.
Field | Type | Label | Description |
rejected_request_message_id | string |
|
|
rejected_request_sequencing_event_id | int64 |
|
|
rejected_request | Request |
|
|
failure | temporal.api.failure.v1.Failure |
|
The client request that triggers a workflow execution update
Field | Type | Label | Description |
meta | Meta |
|
|
input | Input |
|
An update protocol message indicating that a workflow execution update has
completed with the contained outcome.
Field | Type | Label | Description |
meta | Meta |
|
|
outcome | Outcome |
|
The data needed by a client to refer to a previously invoked workflow
execution update process.
Field | Type | Label | Description |
workflow_execution | temporal.api.common.v1.WorkflowExecution |
|
|
update_id | string |
|
Specifies to the gRPC server how long the client wants the an update-related
RPC call to wait before returning control to the caller.
Field | Type | Label | Description |
lifecycle_stage | temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage | Indicates the update lifecycle stage that the gRPC call should wait for before returning. |
Name | Number | Description |
BATCH_OPERATION_STATE_UNSPECIFIED | 0 | |
BATCH_OPERATION_STATE_RUNNING | 1 | |
BATCH_OPERATION_STATE_COMPLETED | 2 | |
BATCH_OPERATION_STATE_FAILED | 3 |
Name | Number | Description |
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 |
Name | Number | Description |
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. |
Name | Number | Description |
QUERY_RESULT_TYPE_UNSPECIFIED | 0 | |
QUERY_RESULT_TYPE_ANSWERED | 1 | |
QUERY_RESULT_TYPE_FAILED | 2 |
State of the callback.
Name | Number | Description |
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. |
Name | Number | Description |
ENCODING_TYPE_UNSPECIFIED | 0 | |
ENCODING_TYPE_PROTO3 | 1 | |
ENCODING_TYPE_JSON | 2 |
Name | Number | Description |
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 |
Name | Number | Description |
SEVERITY_UNSPECIFIED | 0 | |
SEVERITY_HIGH | 1 | |
SEVERITY_MEDIUM | 2 | |
SEVERITY_LOW | 3 |
ScheduleOverlapPolicy controls what happens when a workflow would be started
by a schedule, and is already running.
Name | Number | Description |
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. |
Name | Number | Description |
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 |
Name | Number | Description |
HISTORY_EVENT_FILTER_TYPE_UNSPECIFIED | 0 | |
HISTORY_EVENT_FILTER_TYPE_ALL_EVENT | 1 | |
HISTORY_EVENT_FILTER_TYPE_CLOSE_EVENT | 2 |
Defines how child workflows will react to their parent completing
Name | Number | Description |
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 |
Name | Number | Description |
PENDING_ACTIVITY_STATE_UNSPECIFIED | 0 | |
PENDING_ACTIVITY_STATE_SCHEDULED | 1 | |
PENDING_ACTIVITY_STATE_STARTED | 2 | |
PENDING_ACTIVITY_STATE_CANCEL_REQUESTED | 3 |
Name | Number | Description |
PENDING_WORKFLOW_TASK_STATE_UNSPECIFIED | 0 | |
PENDING_WORKFLOW_TASK_STATE_SCHEDULED | 1 | |
PENDING_WORKFLOW_TASK_STATE_STARTED | 2 |
Name | Number | Description |
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 |
Name | Number | Description |
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 |
(-- api-linter: core::0216::synonyms=disabled
aip.dev/not-precedent: There is WorkflowExecutionState already in another package. --)
Name | Number | Description |
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 |
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.
Name | Number | Description |
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. |
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.
Name | Number | Description |
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. |
Name | Number | Description |
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 |
Name | Number | Description |
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. |
Name | Number | Description |
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. |
Name | Number | Description |
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" |
Name | Number | Description |
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 |
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.
Name | Number | Description |
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. |
Name | Number | Description |
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. |
Name | Number | Description |
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. |
Specifies which category of tasks may reach a worker on a versioned task queue.
Used both in a reachability query and its response.
Name | Number | Description |
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. |
Records why a WorkflowExecutionUpdateAdmittedEvent was written to history.
Note that not all admitted updates result in this event.
Name | Number | Description |
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 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.
Name | Number | Description |
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. |
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.
Name | Number | Description |
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 |
Name | Number | Description |
ARCHIVAL_STATE_UNSPECIFIED | 0 | |
ARCHIVAL_STATE_DISABLED | 1 | |
ARCHIVAL_STATE_ENABLED | 2 |
Name | Number | Description |
NAMESPACE_STATE_UNSPECIFIED | 0 | |
NAMESPACE_STATE_REGISTERED | 1 | |
NAMESPACE_STATE_DEPRECATED | 2 | |
NAMESPACE_STATE_DELETED | 3 |
Name | Number | Description |
REPLICATION_STATE_UNSPECIFIED | 0 | |
REPLICATION_STATE_NORMAL | 1 | |
REPLICATION_STATE_HANDOVER | 2 |
Whenever this list of events is changed do change the function shouldBufferEvent in mutableStateBuilder.go to make sure to do the correct event ordering
Name | Number | Description |
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. |
Event types to exclude when reapplying events.
Name | Number | Description |
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. |
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.
Name | Number | Description |
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. |
Reset type options. Deprecated, see temporal.api.common.v1.ResetOptions.
Name | Number | Description |
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. |
Field | Type | Label | Description |
binaries | BadBinaries.BinariesEntry | repeated |
|
Field | Type | Label | Description |
key | string |
|
|
value | BadBinaryInfo |
|
Field | Type | Label | Description |
reason | string |
|
|
operator | string |
|
|
create_time | google.protobuf.Timestamp |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. |
Namespace capability details. Should contain what features are enabled in a namespace.
Field | Type | Label | Description |
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 |
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
details | temporal.api.common.v1.Payloads |
|
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
last_heartbeat_details | temporal.api.common.v1.Payloads |
|
Field | Type | Label | Description |
non_retryable | bool |
|
Field | Type | Label | Description |
timeout_type | temporal.api.enums.v1.TimeoutType |
|
|
last_heartbeat_details | temporal.api.common.v1.Payloads |
|
Field | Type | Label | Description |
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 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.
Field | Type | Label | Description |
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 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.
Field | Type | Label | Description |
interval | google.protobuf.Duration |
|
|
phase | google.protobuf.Duration |
|
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.
Field | Type | Label | Description |
start | int32 | Start of range (inclusive). |
|
end | int32 | End of range (inclusive). |
|
step | int32 | Step (optional, default 1). |
Field | Type | Label | Description |
spec | ScheduleSpec |
|
|
action | ScheduleAction |
|
|
policies | SchedulePolicies |
|
|
state | ScheduleState |
|
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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: |
Field | Type | Label | Description |
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. |
Name | Option |
invalid_schedule_error | true |
ScheduleListEntry is returned by ListSchedules.
Field | Type | Label | Description |
schedule_id | string |
|
|
memo | temporal.api.common.v1.Memo |
|
|
search_attributes | temporal.api.common.v1.SearchAttributes |
|
|
info | ScheduleListInfo |
|
ScheduleListInfo is an abbreviated set of values from Schedule and ScheduleInfo
that's returned in ListSchedules.
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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 |
|
Field | Type | Label | Description |
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 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).
Field | Type | Label | Description |
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 |
|
Name | Option |
exclude_calendar | true |
Field | Type | Label | Description |
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 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
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
overlap_policy | temporal.api.enums.v1.ScheduleOverlapPolicy | If set, override overlap policy for this one request. |
Alert contains notification and severity.
Field | Type | Label | Description |
message | string |
|
|
severity | temporal.api.enums.v1.Severity |
|
ReleaseInfo contains information about specific version of temporal.
Field | Type | Label | Description |
version | string |
|
|
release_time | google.protobuf.Timestamp |
|
|
notes | string |
|
VersionInfo contains details about current and recommended release versions as well as alerts and upgrade instructions.
Field | Type | Label | Description |
current | ReleaseInfo |
|
|
recommended | ReleaseInfo |
|
|
instructions | string |
|
|
alerts | Alert | repeated |
|
last_update_time | google.protobuf.Timestamp |
|
Reachability of tasks for a worker by build id, in one or more task queues.
Field | Type | Label | Description |
build_id | string | A build id or empty if unversioned. |
|
task_queue_reachability | TaskQueueReachability | repeated | Reachability per task queue. |
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.
Field | Type | Label | Description |
build_ids | string | repeated | All the compatible versions, unordered, except for the last element, which is considered the set "default". |
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
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. --) |
Field | Type | Label | Description |
start_id | int64 |
|
|
end_id | int64 |
|
See https://docs.temporal.io/docs/concepts/task-queues/
Field | Type | Label | Description |
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. |
Only applies to activity task queues
Field | Type | Label | Description |
max_tasks_per_second | google.protobuf.DoubleValue | Allows throttling dispatch of tasks from this queue |
Field | Type | Label | Description |
key | string |
|
|
owner_host_name | string |
|
Reachability of tasks for a worker on a single task queue.
Field | Type | Label | Description |
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. |
Field | Type | Label | Description |
backlog_count_hint | int64 |
|
|
read_level | int64 |
|
|
ack_level | int64 |
|
|
rate_per_second | double |
|
|
task_id_block | TaskIdBlock |
|
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.
Field | Type | Label | Description |
identity | string | The identity of the worker/client |
BatchOperationDeletion sends deletion requests to batch workflows.
Keep the parameter in sync with temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest.
Field | Type | Label | Description |
identity | string | The identity of the worker/client |
Field | Type | Label | Description |
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 sends reset requests to batch workflows.
Keep the parameter in sync with temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest.
Field | Type | Label | Description |
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 sends signals to batch workflows.
Keep the parameter in sync with temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest.
Field | Type | Label | Description |
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 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.
Field | Type | Label | Description |
details | temporal.api.common.v1.Payloads | Serialized value(s) to provide to the termination event |
|
identity | string | The identity of the worker/client |
.proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
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) |