Protocol Documentation

Table of Contents

temporal/api/history/v1/message.proto

Top

ActivityPropertiesModifiedExternallyEventAttributes

FieldTypeLabelDescription
scheduled_event_id int64

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

new_retry_policy temporal.api.common.v1.RetryPolicy

If set, update the retry policy of the activity, replacing it with the specified one. The number of attempts at the activity is preserved.

ActivityTaskCancelRequestedEventAttributes

FieldTypeLabelDescription
scheduled_event_id int64

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

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

ActivityTaskCanceledEventAttributes

FieldTypeLabelDescription
details temporal.api.common.v1.Payloads

Additional information that the activity reported upon confirming cancellation

latest_cancel_requested_event_id int64

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

scheduled_event_id int64

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

started_event_id int64

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

identity string

id of the worker who canceled this activity

ActivityTaskCompletedEventAttributes

FieldTypeLabelDescription
result temporal.api.common.v1.Payloads

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

scheduled_event_id int64

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

started_event_id int64

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

identity string

id of the worker that completed this task

ActivityTaskFailedEventAttributes

FieldTypeLabelDescription
failure temporal.api.failure.v1.Failure

Failure details

scheduled_event_id int64

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

started_event_id int64

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

identity string

id of the worker that failed this task

retry_state temporal.api.enums.v1.RetryState

ActivityTaskScheduledEventAttributes

FieldTypeLabelDescription
activity_id string

The worker/user assigned identifier for the activity

activity_type temporal.api.common.v1.ActivityType

task_queue temporal.api.taskqueue.v1.TaskQueue

header temporal.api.common.v1.Header

input temporal.api.common.v1.Payloads

schedule_to_close_timeout google.protobuf.Duration

Indicates how long the caller is willing to wait for an activity completion. Limits how long retries will be attempted. Either this or `start_to_close_timeout` must be specified. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

schedule_to_start_timeout google.protobuf.Duration

Limits time an activity task can stay in a task queue before a worker picks it up. This timeout is always non retryable, as all a retry would achieve is to put it back into the same queue. Defaults to `schedule_to_close_timeout` or workflow execution timeout if not specified. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

start_to_close_timeout google.protobuf.Duration

Maximum time an activity is allowed to execute after being picked up by a worker. This timeout is always retryable. Either this or `schedule_to_close_timeout` must be specified. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

heartbeat_timeout google.protobuf.Duration

Maximum permitted time between successful worker heartbeats.

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

retry_policy temporal.api.common.v1.RetryPolicy

Activities are assigned a default retry policy controlled by the service's dynamic configuration. Retries will happen up to `schedule_to_close_timeout`. To disable retries set retry_policy.maximum_attempts to 1.

ActivityTaskStartedEventAttributes

FieldTypeLabelDescription
scheduled_event_id int64

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

identity string

id of the worker that picked up this task

request_id string

TODO ??

attempt int32

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

last_failure temporal.api.failure.v1.Failure

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

ActivityTaskTimedOutEventAttributes

FieldTypeLabelDescription
failure temporal.api.failure.v1.Failure

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

scheduled_event_id int64

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

started_event_id int64

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

retry_state temporal.api.enums.v1.RetryState

ChildWorkflowExecutionCanceledEventAttributes

FieldTypeLabelDescription
details temporal.api.common.v1.Payloads

namespace string

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

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

initiated_event_id int64

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

started_event_id int64

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

ChildWorkflowExecutionCompletedEventAttributes

FieldTypeLabelDescription
result temporal.api.common.v1.Payloads

namespace string

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

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

initiated_event_id int64

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

started_event_id int64

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

ChildWorkflowExecutionFailedEventAttributes

FieldTypeLabelDescription
failure temporal.api.failure.v1.Failure

namespace string

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

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

initiated_event_id int64

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

started_event_id int64

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

retry_state temporal.api.enums.v1.RetryState

ChildWorkflowExecutionStartedEventAttributes

FieldTypeLabelDescription
namespace string

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

namespace_id string

initiated_event_id int64

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

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

header temporal.api.common.v1.Header

ChildWorkflowExecutionTerminatedEventAttributes

FieldTypeLabelDescription
namespace string

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

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

initiated_event_id int64

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

started_event_id int64

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

ChildWorkflowExecutionTimedOutEventAttributes

FieldTypeLabelDescription
namespace string

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

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

initiated_event_id int64

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

started_event_id int64

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

retry_state temporal.api.enums.v1.RetryState

ExternalWorkflowExecutionCancelRequestedEventAttributes

FieldTypeLabelDescription
initiated_event_id int64

id of the `REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED` event this event corresponds to

namespace string

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

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

ExternalWorkflowExecutionSignaledEventAttributes

FieldTypeLabelDescription
initiated_event_id int64

id of the `SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED` event this event corresponds to

namespace string

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

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

control string

Deprecated

History

FieldTypeLabelDescription
events HistoryEvent repeated

HistoryEvent

History events are the method by which Temporal SDKs advance (or recreate) workflow state.

See the `EventType` enum for more info about what each event is for.

FieldTypeLabelDescription
event_id int64

Monotonically increasing event number, starts at 1.

event_time google.protobuf.Timestamp

event_type temporal.api.enums.v1.EventType

version int64

TODO: What is this? Appears unused by SDKs

task_id int64

TODO: What is this? Appears unused by SDKs

worker_may_ignore bool

Set to true when the SDK may ignore the event as it does not impact workflow state or information in any way that the SDK need be concerned with. If an SDK encounters an event type which it does not understand, it must error unless this is true. If it is true, it's acceptable for the event type and/or attributes to be uninterpretable.

workflow_execution_started_event_attributes WorkflowExecutionStartedEventAttributes

workflow_execution_completed_event_attributes WorkflowExecutionCompletedEventAttributes

workflow_execution_failed_event_attributes WorkflowExecutionFailedEventAttributes

workflow_execution_timed_out_event_attributes WorkflowExecutionTimedOutEventAttributes

workflow_task_scheduled_event_attributes WorkflowTaskScheduledEventAttributes

workflow_task_started_event_attributes WorkflowTaskStartedEventAttributes

workflow_task_completed_event_attributes WorkflowTaskCompletedEventAttributes

workflow_task_timed_out_event_attributes WorkflowTaskTimedOutEventAttributes

workflow_task_failed_event_attributes WorkflowTaskFailedEventAttributes

activity_task_scheduled_event_attributes ActivityTaskScheduledEventAttributes

activity_task_started_event_attributes ActivityTaskStartedEventAttributes

activity_task_completed_event_attributes ActivityTaskCompletedEventAttributes

activity_task_failed_event_attributes ActivityTaskFailedEventAttributes

activity_task_timed_out_event_attributes ActivityTaskTimedOutEventAttributes

timer_started_event_attributes TimerStartedEventAttributes

timer_fired_event_attributes TimerFiredEventAttributes

activity_task_cancel_requested_event_attributes ActivityTaskCancelRequestedEventAttributes

activity_task_canceled_event_attributes ActivityTaskCanceledEventAttributes

timer_canceled_event_attributes TimerCanceledEventAttributes

marker_recorded_event_attributes MarkerRecordedEventAttributes

workflow_execution_signaled_event_attributes WorkflowExecutionSignaledEventAttributes

workflow_execution_terminated_event_attributes WorkflowExecutionTerminatedEventAttributes

workflow_execution_cancel_requested_event_attributes WorkflowExecutionCancelRequestedEventAttributes

workflow_execution_canceled_event_attributes WorkflowExecutionCanceledEventAttributes

request_cancel_external_workflow_execution_initiated_event_attributes RequestCancelExternalWorkflowExecutionInitiatedEventAttributes

request_cancel_external_workflow_execution_failed_event_attributes RequestCancelExternalWorkflowExecutionFailedEventAttributes

external_workflow_execution_cancel_requested_event_attributes ExternalWorkflowExecutionCancelRequestedEventAttributes

workflow_execution_continued_as_new_event_attributes WorkflowExecutionContinuedAsNewEventAttributes

start_child_workflow_execution_initiated_event_attributes StartChildWorkflowExecutionInitiatedEventAttributes

start_child_workflow_execution_failed_event_attributes StartChildWorkflowExecutionFailedEventAttributes

child_workflow_execution_started_event_attributes ChildWorkflowExecutionStartedEventAttributes

child_workflow_execution_completed_event_attributes ChildWorkflowExecutionCompletedEventAttributes

child_workflow_execution_failed_event_attributes ChildWorkflowExecutionFailedEventAttributes

child_workflow_execution_canceled_event_attributes ChildWorkflowExecutionCanceledEventAttributes

child_workflow_execution_timed_out_event_attributes ChildWorkflowExecutionTimedOutEventAttributes

child_workflow_execution_terminated_event_attributes ChildWorkflowExecutionTerminatedEventAttributes

signal_external_workflow_execution_initiated_event_attributes SignalExternalWorkflowExecutionInitiatedEventAttributes

signal_external_workflow_execution_failed_event_attributes SignalExternalWorkflowExecutionFailedEventAttributes

external_workflow_execution_signaled_event_attributes ExternalWorkflowExecutionSignaledEventAttributes

upsert_workflow_search_attributes_event_attributes UpsertWorkflowSearchAttributesEventAttributes

workflow_update_rejected_event_attributes WorkflowUpdateRejectedEventAttributes

workflow_update_accepted_event_attributes WorkflowUpdateAcceptedEventAttributes

workflow_update_completed_event_attributes WorkflowUpdateCompletedEventAttributes

workflow_properties_modified_externally_event_attributes WorkflowPropertiesModifiedExternallyEventAttributes

activity_properties_modified_externally_event_attributes ActivityPropertiesModifiedExternallyEventAttributes

workflow_properties_modified_event_attributes WorkflowPropertiesModifiedEventAttributes

MarkerRecordedEventAttributes

FieldTypeLabelDescription
marker_name string

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

details MarkerRecordedEventAttributes.DetailsEntry repeated

Serialized information recorded in the marker

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

header temporal.api.common.v1.Header

failure temporal.api.failure.v1.Failure

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

MarkerRecordedEventAttributes.DetailsEntry

FieldTypeLabelDescription
key string

value temporal.api.common.v1.Payloads

RequestCancelExternalWorkflowExecutionFailedEventAttributes

FieldTypeLabelDescription
cause temporal.api.enums.v1.CancelExternalWorkflowExecutionFailedCause

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

namespace string

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

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

initiated_event_id int64

id of the `REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED` event this failure corresponds to

control string

Deprecated

RequestCancelExternalWorkflowExecutionInitiatedEventAttributes

FieldTypeLabelDescription
workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

namespace string

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

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

control string

Deprecated

child_workflow_only bool

Workers are expected to set this to true if the workflow they are requesting to cancel is a child of the workflow which issued the request

reason string

Reason for requesting the cancellation

SignalExternalWorkflowExecutionFailedEventAttributes

FieldTypeLabelDescription
cause temporal.api.enums.v1.SignalExternalWorkflowExecutionFailedCause

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

namespace string

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

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

initiated_event_id int64

control string

Deprecated

SignalExternalWorkflowExecutionInitiatedEventAttributes

FieldTypeLabelDescription
workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

namespace string

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

namespace_id string

workflow_execution temporal.api.common.v1.WorkflowExecution

signal_name string

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

input temporal.api.common.v1.Payloads

Serialized arguments to provide to the signal handler

control string

Deprecated

child_workflow_only bool

Workers are expected to set this to true if the workflow they are requesting to cancel is a child of the workflow which issued the request

header temporal.api.common.v1.Header

StartChildWorkflowExecutionFailedEventAttributes

FieldTypeLabelDescription
namespace string

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

namespace_id string

workflow_id string

workflow_type temporal.api.common.v1.WorkflowType

cause temporal.api.enums.v1.StartChildWorkflowExecutionFailedCause

control string

Deprecated

initiated_event_id int64

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

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

StartChildWorkflowExecutionInitiatedEventAttributes

FieldTypeLabelDescription
namespace string

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

namespace_id string

workflow_id string

workflow_type temporal.api.common.v1.WorkflowType

task_queue temporal.api.taskqueue.v1.TaskQueue

input temporal.api.common.v1.Payloads

workflow_execution_timeout google.protobuf.Duration

Total workflow execution timeout including retries and continue as new.

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run.

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task.

parent_close_policy temporal.api.enums.v1.ParentClosePolicy

Default: PARENT_CLOSE_POLICY_TERMINATE.

control string

Deprecated

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

workflow_id_reuse_policy temporal.api.enums.v1.WorkflowIdReusePolicy

Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.

retry_policy temporal.api.common.v1.RetryPolicy

cron_schedule string

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

header temporal.api.common.v1.Header

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

TimerCanceledEventAttributes

FieldTypeLabelDescription
timer_id string

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

started_event_id int64

The id of the `TIMER_STARTED` event itself

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

identity string

The id of the worker who requested this cancel

TimerFiredEventAttributes

FieldTypeLabelDescription
timer_id string

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

started_event_id int64

The id of the `TIMER_STARTED` event itself

TimerStartedEventAttributes

FieldTypeLabelDescription
timer_id string

The worker/user assigned id for this timer

start_to_fire_timeout google.protobuf.Duration

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

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

UpsertWorkflowSearchAttributesEventAttributes

FieldTypeLabelDescription
workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

search_attributes temporal.api.common.v1.SearchAttributes

WorkflowExecutionCancelRequestedEventAttributes

FieldTypeLabelDescription
cause string

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

external_initiated_event_id int64

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

external_workflow_execution temporal.api.common.v1.WorkflowExecution

identity string

id of the worker or client who requested this cancel

WorkflowExecutionCanceledEventAttributes

FieldTypeLabelDescription
workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

details temporal.api.common.v1.Payloads

WorkflowExecutionCompletedEventAttributes

FieldTypeLabelDescription
result temporal.api.common.v1.Payloads

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

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

new_execution_run_id string

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

WorkflowExecutionContinuedAsNewEventAttributes

FieldTypeLabelDescription
new_execution_run_id string

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

workflow_type temporal.api.common.v1.WorkflowType

task_queue temporal.api.taskqueue.v1.TaskQueue

input temporal.api.common.v1.Payloads

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run.

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task.

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

backoff_start_interval google.protobuf.Duration

TODO: How and is this used?

initiator temporal.api.enums.v1.ContinueAsNewInitiator

failure temporal.api.failure.v1.Failure

TODO: David are these right? Deprecated. If a workflow's retry policy would cause a new run to start when the current one has failed, this field would be populated with that failure. Now (when supported by server and sdk) the final event will be `WORKFLOW_EXECUTION_FAILED` with `new_execution_run_id` set.

last_completion_result temporal.api.common.v1.Payloads

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

header temporal.api.common.v1.Header

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

WorkflowExecutionFailedEventAttributes

FieldTypeLabelDescription
failure temporal.api.failure.v1.Failure

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

retry_state temporal.api.enums.v1.RetryState

workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

new_execution_run_id string

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

WorkflowExecutionSignaledEventAttributes

FieldTypeLabelDescription
signal_name string

The name/type of the signal to fire

input temporal.api.common.v1.Payloads

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

identity string

id of the worker/client who sent this signal

header temporal.api.common.v1.Header

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

WorkflowExecutionStartedEventAttributes

Always the first event in workflow history

FieldTypeLabelDescription
workflow_type temporal.api.common.v1.WorkflowType

parent_workflow_namespace string

If this workflow is a child, the namespace our parent lives in. SDKs and UI tools should use `parent_workflow_namespace` field but server must use `parent_workflow_namespace_id` only.

parent_workflow_namespace_id string

parent_workflow_execution temporal.api.common.v1.WorkflowExecution

Contains information about parent workflow execution that initiated the child workflow these attributes belong to. If the workflow these attributes belong to is not a child workflow of any other execution, this field will not be populated.

parent_initiated_event_id int64

EventID of the child execution initiated event in parent workflow

task_queue temporal.api.taskqueue.v1.TaskQueue

input temporal.api.common.v1.Payloads

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

workflow_execution_timeout google.protobuf.Duration

Total workflow execution timeout including retries and continue as new.

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run.

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task.

continued_execution_run_id string

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

initiator temporal.api.enums.v1.ContinueAsNewInitiator

continued_failure temporal.api.failure.v1.Failure

last_completion_result temporal.api.common.v1.Payloads

original_execution_run_id string

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

identity string

Identity of the client who requested this execution

first_execution_run_id string

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

retry_policy temporal.api.common.v1.RetryPolicy

attempt int32

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

workflow_execution_expiration_time google.protobuf.Timestamp

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

cron_schedule string

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

first_workflow_task_backoff google.protobuf.Duration

For a cron workflow, this contains the amount of time between when this iteration of the cron workflow was scheduled and when it should run next per its cron_schedule.

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

prev_auto_reset_points temporal.api.workflow.v1.ResetPoints

header temporal.api.common.v1.Header

parent_initiated_event_version int64

Version of the child execution initiated event in parent workflow It should be used together with parent_initiated_event_id to identify a child initiated event for global namespace

WorkflowExecutionTerminatedEventAttributes

FieldTypeLabelDescription
reason string

User/client provided reason for termination

details temporal.api.common.v1.Payloads

identity string

id of the client who requested termination

WorkflowExecutionTimedOutEventAttributes

FieldTypeLabelDescription
retry_state temporal.api.enums.v1.RetryState

new_execution_run_id string

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

WorkflowPropertiesModifiedEventAttributes

FieldTypeLabelDescription
workflow_task_completed_event_id int64

The `WORKFLOW_TASK_COMPLETED` event which this command was reported with

upserted_memo temporal.api.common.v1.Memo

If set, update the workflow memo with the provided values. The values will be merged with the existing memo. If the user wants to delete values, a default/empty Payload should be used as the value for the key being deleted.

WorkflowPropertiesModifiedExternallyEventAttributes

FieldTypeLabelDescription
new_task_queue string

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

new_workflow_task_timeout google.protobuf.Duration

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

new_workflow_run_timeout google.protobuf.Duration

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

new_workflow_execution_timeout google.protobuf.Duration

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

upserted_memo temporal.api.common.v1.Memo

If set, update the workflow memo with the provided values. The values will be merged with the existing memo. If the user wants to delete values, a default/empty Payload should be used as the value for the key being deleted.

WorkflowTaskCompletedEventAttributes

FieldTypeLabelDescription
scheduled_event_id int64

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

started_event_id int64

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

identity string

Identity of the worker who completed this task

binary_checksum string

Binary ID of the worker who completed this task

worker_versioning_id temporal.api.taskqueue.v1.VersionId

ID of the worker who picked up this workflow task, or missing if worker is not using versioning.

WorkflowTaskFailedEventAttributes

FieldTypeLabelDescription
scheduled_event_id int64

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

started_event_id int64

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

cause temporal.api.enums.v1.WorkflowTaskFailedCause

failure temporal.api.failure.v1.Failure

The failure details

identity string

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

base_run_id string

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

new_run_id string

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

fork_event_version int64

TODO: ?

binary_checksum string

If a worker explicitly failed this task, it's binary id

WorkflowTaskScheduledEventAttributes

FieldTypeLabelDescription
task_queue temporal.api.taskqueue.v1.TaskQueue

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

start_to_close_timeout google.protobuf.Duration

How long the worker has to process this task once receiving it before it times out (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

attempt int32

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

WorkflowTaskStartedEventAttributes

FieldTypeLabelDescription
scheduled_event_id int64

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

identity string

Identity of the worker who picked up this task

request_id string

TODO: ? Appears unused?

suggest_continue_as_new bool

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

history_size_bytes int64

Total history size in bytes, which the workflow might use to decide when to continue-as-new regardless of the suggestion. Note that history event count is just the event id of this event, so we don't include it explicitly here.

WorkflowTaskTimedOutEventAttributes

FieldTypeLabelDescription
scheduled_event_id int64

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

started_event_id int64

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

timeout_type temporal.api.enums.v1.TimeoutType

WorkflowUpdateAcceptedEventAttributes

FieldTypeLabelDescription
meta temporal.api.interaction.v1.Meta

input temporal.api.interaction.v1.Input

WorkflowUpdateCompletedEventAttributes

FieldTypeLabelDescription
meta temporal.api.interaction.v1.Meta

output temporal.api.interaction.v1.Output

WorkflowUpdateRejectedEventAttributes

FieldTypeLabelDescription
meta temporal.api.interaction.v1.Meta

failure temporal.api.failure.v1.Failure

temporal/api/command/v1/message.proto

Top

AcceptWorkflowUpdateCommandAttributes

FieldTypeLabelDescription
meta temporal.api.interaction.v1.Meta

input temporal.api.interaction.v1.Input

CancelTimerCommandAttributes

FieldTypeLabelDescription
timer_id string

The same timer id from the start timer command

CancelWorkflowExecutionCommandAttributes

FieldTypeLabelDescription
details temporal.api.common.v1.Payloads

Command

FieldTypeLabelDescription
command_type temporal.api.enums.v1.CommandType

schedule_activity_task_command_attributes ScheduleActivityTaskCommandAttributes

start_timer_command_attributes StartTimerCommandAttributes

complete_workflow_execution_command_attributes CompleteWorkflowExecutionCommandAttributes

fail_workflow_execution_command_attributes FailWorkflowExecutionCommandAttributes

request_cancel_activity_task_command_attributes RequestCancelActivityTaskCommandAttributes

cancel_timer_command_attributes CancelTimerCommandAttributes

cancel_workflow_execution_command_attributes CancelWorkflowExecutionCommandAttributes

request_cancel_external_workflow_execution_command_attributes RequestCancelExternalWorkflowExecutionCommandAttributes

record_marker_command_attributes RecordMarkerCommandAttributes

continue_as_new_workflow_execution_command_attributes ContinueAsNewWorkflowExecutionCommandAttributes

start_child_workflow_execution_command_attributes StartChildWorkflowExecutionCommandAttributes

signal_external_workflow_execution_command_attributes SignalExternalWorkflowExecutionCommandAttributes

upsert_workflow_search_attributes_command_attributes UpsertWorkflowSearchAttributesCommandAttributes

accept_workflow_update_command_attributes AcceptWorkflowUpdateCommandAttributes

complete_workflow_update_command_attributes CompleteWorkflowUpdateCommandAttributes

modify_workflow_properties_command_attributes ModifyWorkflowPropertiesCommandAttributes

reject_workflow_update_command_attributes RejectWorkflowUpdateCommandAttributes

CompleteWorkflowExecutionCommandAttributes

FieldTypeLabelDescription
result temporal.api.common.v1.Payloads

CompleteWorkflowUpdateCommandAttributes

FieldTypeLabelDescription
meta temporal.api.interaction.v1.Meta

output temporal.api.interaction.v1.Output

ContinueAsNewWorkflowExecutionCommandAttributes

FieldTypeLabelDescription
workflow_type temporal.api.common.v1.WorkflowType

task_queue temporal.api.taskqueue.v1.TaskQueue

input temporal.api.common.v1.Payloads

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run.

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task.

backoff_start_interval google.protobuf.Duration

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

retry_policy temporal.api.common.v1.RetryPolicy

initiator temporal.api.enums.v1.ContinueAsNewInitiator

Should be removed

failure temporal.api.failure.v1.Failure

Should be removed

last_completion_result temporal.api.common.v1.Payloads

Should be removed

cron_schedule string

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

header temporal.api.common.v1.Header

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

FailWorkflowExecutionCommandAttributes

FieldTypeLabelDescription
failure temporal.api.failure.v1.Failure

ModifyWorkflowPropertiesCommandAttributes

FieldTypeLabelDescription
upserted_memo temporal.api.common.v1.Memo

If set, update the workflow memo with the provided values. The values will be merged with the existing memo. If the user wants to delete values, a default/empty Payload should be used as the value for the key being deleted.

RecordMarkerCommandAttributes

FieldTypeLabelDescription
marker_name string

details RecordMarkerCommandAttributes.DetailsEntry repeated

header temporal.api.common.v1.Header

failure temporal.api.failure.v1.Failure

RecordMarkerCommandAttributes.DetailsEntry

FieldTypeLabelDescription
key string

value temporal.api.common.v1.Payloads

RejectWorkflowUpdateCommandAttributes

FieldTypeLabelDescription
meta temporal.api.interaction.v1.Meta

failure temporal.api.failure.v1.Failure

RequestCancelActivityTaskCommandAttributes

FieldTypeLabelDescription
scheduled_event_id int64

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

RequestCancelExternalWorkflowExecutionCommandAttributes

FieldTypeLabelDescription
namespace string

workflow_id string

run_id string

control string

Deprecated.

child_workflow_only bool

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

reason string

Reason for requesting the cancellation

ScheduleActivityTaskCommandAttributes

FieldTypeLabelDescription
activity_id string

activity_type temporal.api.common.v1.ActivityType

task_queue temporal.api.taskqueue.v1.TaskQueue

header temporal.api.common.v1.Header

input temporal.api.common.v1.Payloads

schedule_to_close_timeout google.protobuf.Duration

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

schedule_to_start_timeout google.protobuf.Duration

Limits the time an activity task can stay in a task queue before a worker picks it up. The "schedule" time is when the most recent retry is scheduled. This timeout should usually not be set: it's useful in specific scenarios like worker-specific task queues. This timeout is always non retryable, as all a retry would achieve is to put it back into the same queue. Defaults to `schedule_to_close_timeout` or workflow execution timeout if that is not specified. More info: https://docs.temporal.io/docs/content/what-is-a-schedule-to-start-timeout/ (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

start_to_close_timeout google.protobuf.Duration

Maximum time an activity is allowed to execute after being picked up by a worker. This timeout is always retryable. Either this or `schedule_to_close_timeout` must be specified. (-- api-linter: core::0140::prepositions=disabled aip.dev/not-precedent: "to" is used to indicate interval. --)

heartbeat_timeout google.protobuf.Duration

Maximum permitted time between successful worker heartbeats.

retry_policy temporal.api.common.v1.RetryPolicy

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

request_eager_execution bool

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

SignalExternalWorkflowExecutionCommandAttributes

FieldTypeLabelDescription
namespace string

execution temporal.api.common.v1.WorkflowExecution

signal_name string

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

input temporal.api.common.v1.Payloads

Serialized value(s) to provide with the signal.

control string

Deprecated

child_workflow_only bool

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

header temporal.api.common.v1.Header

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

StartChildWorkflowExecutionCommandAttributes

FieldTypeLabelDescription
namespace string

workflow_id string

workflow_type temporal.api.common.v1.WorkflowType

task_queue temporal.api.taskqueue.v1.TaskQueue

input temporal.api.common.v1.Payloads

workflow_execution_timeout google.protobuf.Duration

Total workflow execution timeout including retries and continue as new.

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run.

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task.

parent_close_policy temporal.api.enums.v1.ParentClosePolicy

Default: PARENT_CLOSE_POLICY_TERMINATE.

control string

workflow_id_reuse_policy temporal.api.enums.v1.WorkflowIdReusePolicy

Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.

retry_policy temporal.api.common.v1.RetryPolicy

cron_schedule string

Establish a cron schedule for the child workflow.

header temporal.api.common.v1.Header

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

StartTimerCommandAttributes

FieldTypeLabelDescription
timer_id string

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

start_to_fire_timeout google.protobuf.Duration

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

UpsertWorkflowSearchAttributesCommandAttributes

FieldTypeLabelDescription
search_attributes temporal.api.common.v1.SearchAttributes

temporal/api/filter/v1/message.proto

Top

StartTimeFilter

FieldTypeLabelDescription
earliest_time google.protobuf.Timestamp

latest_time google.protobuf.Timestamp

StatusFilter

FieldTypeLabelDescription
status temporal.api.enums.v1.WorkflowExecutionStatus

WorkflowExecutionFilter

FieldTypeLabelDescription
workflow_id string

run_id string

WorkflowTypeFilter

FieldTypeLabelDescription
name string

temporal/api/common/v1/message.proto

Top

ActivityType

Represents the identifier used by a activity author to define the activity. Typically, the

name of a function. This is sometimes referred to as the activity's "name"

FieldTypeLabelDescription
name string

DataBlob

FieldTypeLabelDescription
encoding_type temporal.api.enums.v1.EncodingType

data bytes

Header

Contains metadata that can be attached to a variety of requests, like starting a workflow, and

can be propagated between, for example, workflows and activities.

FieldTypeLabelDescription
fields Header.FieldsEntry repeated

Header.FieldsEntry

FieldTypeLabelDescription
key string

value Payload

Memo

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

FieldTypeLabelDescription
fields Memo.FieldsEntry repeated

Memo.FieldsEntry

FieldTypeLabelDescription
key string

value Payload

Payload

Represents some binary (byte array) data (ex: activity input parameters or workflow result) with

metadata which describes this binary data (format, encoding, encryption, etc). Serialization

of the data may be user-defined.

FieldTypeLabelDescription
metadata Payload.MetadataEntry repeated

data bytes

Payload.MetadataEntry

FieldTypeLabelDescription
key string

value bytes

Payloads

See `Payload`

FieldTypeLabelDescription
payloads Payload repeated

RetryPolicy

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

FieldTypeLabelDescription
initial_interval google.protobuf.Duration

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

backoff_coefficient double

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

maximum_interval google.protobuf.Duration

Maximum interval between retries. Exponential backoff leads to interval increase. This value is the cap of the increase. Default is 100x of the initial interval.

maximum_attempts int32

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

non_retryable_error_types string repeated

Non-Retryable errors types. Will stop retrying if the error type matches this list. Note that this is not a substring match, the error *type* (not message) must match exactly.

SearchAttributes

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

The payload is not serialized in a user-defined way.

FieldTypeLabelDescription
indexed_fields SearchAttributes.IndexedFieldsEntry repeated

SearchAttributes.IndexedFieldsEntry

FieldTypeLabelDescription
key string

value Payload

WorkflowExecution

Identifies a specific workflow within a namespace. Practically speaking, because run_id is a

uuid, a workflow execution is globally unique. Note that many commands allow specifying an empty

run id as a way of saying "target the latest run of the workflow".

FieldTypeLabelDescription
workflow_id string

run_id string

WorkflowType

Represents the identifier used by a workflow author to define the workflow. Typically, the

name of a function. This is sometimes referred to as the workflow's "name"

FieldTypeLabelDescription
name string

temporal/api/namespace/v1/message.proto

Top

BadBinaries

FieldTypeLabelDescription
binaries BadBinaries.BinariesEntry repeated

BadBinaries.BinariesEntry

FieldTypeLabelDescription
key string

value BadBinaryInfo

BadBinaryInfo

FieldTypeLabelDescription
reason string

operator string

create_time google.protobuf.Timestamp

NamespaceConfig

FieldTypeLabelDescription
workflow_execution_retention_ttl google.protobuf.Duration

bad_binaries BadBinaries

history_archival_state temporal.api.enums.v1.ArchivalState

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

history_archival_uri string

visibility_archival_state temporal.api.enums.v1.ArchivalState

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

visibility_archival_uri string

NamespaceFilter

FieldTypeLabelDescription
include_deleted bool

By default namespaces in NAMESPACE_STATE_DELETED state are not included. Setting include_deleted to true will include deleted namespaces. Note: Namespace is in NAMESPACE_STATE_DELETED state when it was deleted from the system but associated data is not deleted yet.

NamespaceInfo

FieldTypeLabelDescription
name string

state temporal.api.enums.v1.NamespaceState

description string

owner_email string

data NamespaceInfo.DataEntry repeated

A key-value map for any customized purpose.

id string

supports_schedules bool

Whether scheduled workflows are supported on this namespace. This is only needed temporarily while the feature is experimental, so we can give it a high tag.

NamespaceInfo.DataEntry

FieldTypeLabelDescription
key string

value string

UpdateNamespaceInfo

FieldTypeLabelDescription
description string

owner_email string

data UpdateNamespaceInfo.DataEntry repeated

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

state temporal.api.enums.v1.NamespaceState

New namespace state, server will reject if transition is not allowed. Allowed transitions are: Registered -> [ Deleted | Deprecated | Handover ] Handover -> [ Registered ] Default is NAMESPACE_STATE_UNSPECIFIED which is do not change state.

UpdateNamespaceInfo.DataEntry

FieldTypeLabelDescription
key string

value string

temporal/api/replication/v1/message.proto

Top

ClusterReplicationConfig

FieldTypeLabelDescription
cluster_name string

FailoverStatus

Represents a historical replication status of a Namespace

FieldTypeLabelDescription
failover_time google.protobuf.Timestamp

Timestamp when the Cluster switched to the following failover_version

failover_version int64

NamespaceReplicationConfig

FieldTypeLabelDescription
active_cluster_name string

clusters ClusterReplicationConfig repeated

state temporal.api.enums.v1.ReplicationState

temporal/api/operatorservice/v1/service.proto

Top

OperatorService

OperatorService API defines how Temporal SDKs and other clients interact with the Temporal server

to perform administrative functions like registering a search attribute or a namespace.

APIs in this file could be not compatible with Temporal Cloud, hence it's usage in SDKs should be limited by

designated APIs that clearly state that they shouldn't be used by the main Application (Workflows & Activities) framework.

(-- Search Attribute --)

Method NameRequest TypeResponse TypeDescription
AddSearchAttributes AddSearchAttributesRequest AddSearchAttributesResponse

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

RemoveSearchAttributes RemoveSearchAttributesRequest RemoveSearchAttributesResponse

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

ListSearchAttributes ListSearchAttributesRequest ListSearchAttributesResponse

ListSearchAttributes returns comprehensive information about search attributes.

DeleteNamespace DeleteNamespaceRequest DeleteNamespaceResponse

DeleteNamespace synchronously deletes a namespace and asynchronously reclaims all namespace resources. (-- api-linter: core::0135::method-signature=disabled aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --) (-- api-linter: core::0135::response-message-name=disabled aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --)

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.

temporal/api/operatorservice/v1/request_response.proto

Top

AddOrUpdateRemoteClusterRequest

FieldTypeLabelDescription
frontend_address string

Frontend Address is a cross cluster accessible address.

enable_remote_cluster_connection bool

Flag to enable / disable the cross cluster connection.

AddOrUpdateRemoteClusterResponse

AddSearchAttributesRequest

FieldTypeLabelDescription
search_attributes AddSearchAttributesRequest.SearchAttributesEntry repeated

Mapping between search attribute name and its IndexedValueType.

AddSearchAttributesRequest.SearchAttributesEntry

FieldTypeLabelDescription
key string

value temporal.api.enums.v1.IndexedValueType

AddSearchAttributesResponse

ClusterMetadata

FieldTypeLabelDescription
cluster_name string

Name of the cluster name.

cluster_id string

Id of the cluster.

address string

Cluster accessible address.

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.

DeleteNamespaceRequest

(-- api-linter: core::0135::request-unknown-fields=disabled

aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --)

(-- api-linter: core::0135::request-name-required=disabled

aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --)

FieldTypeLabelDescription
namespace string

DeleteNamespaceResponse

FieldTypeLabelDescription
deleted_namespace string

Temporary namespace name that is used during reclaim resources step.

ListClustersRequest

FieldTypeLabelDescription
page_size int32

next_page_token bytes

ListClustersResponse

FieldTypeLabelDescription
clusters ClusterMetadata repeated

List of all cluster information

next_page_token bytes

ListSearchAttributesRequest

ListSearchAttributesResponse

FieldTypeLabelDescription
custom_attributes ListSearchAttributesResponse.CustomAttributesEntry repeated

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

system_attributes ListSearchAttributesResponse.SystemAttributesEntry repeated

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

storage_schema ListSearchAttributesResponse.StorageSchemaEntry repeated

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

ListSearchAttributesResponse.CustomAttributesEntry

FieldTypeLabelDescription
key string

value temporal.api.enums.v1.IndexedValueType

ListSearchAttributesResponse.StorageSchemaEntry

FieldTypeLabelDescription
key string

value string

ListSearchAttributesResponse.SystemAttributesEntry

FieldTypeLabelDescription
key string

value temporal.api.enums.v1.IndexedValueType

RemoveRemoteClusterRequest

FieldTypeLabelDescription
cluster_name string

Remote cluster name to be removed.

RemoveRemoteClusterResponse

RemoveSearchAttributesRequest

FieldTypeLabelDescription
search_attributes string repeated

Search attribute names to delete.

RemoveSearchAttributesResponse

temporal/api/version/v1/message.proto

Top

Alert

Alert contains notification and severity.

FieldTypeLabelDescription
message string

severity temporal.api.enums.v1.Severity

ReleaseInfo

ReleaseInfo contains information about specific version of temporal.

FieldTypeLabelDescription
version string

release_time google.protobuf.Timestamp

notes string

VersionInfo

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

FieldTypeLabelDescription
current ReleaseInfo

recommended ReleaseInfo

instructions string

alerts Alert repeated

last_update_time google.protobuf.Timestamp

temporal/api/schedule/v1/message.proto

Top

BackfillRequest

FieldTypeLabelDescription
start_time google.protobuf.Timestamp

Time range to evaluate schedule in.

end_time google.protobuf.Timestamp

overlap_policy temporal.api.enums.v1.ScheduleOverlapPolicy

Override overlap policy for this request.

CalendarSpec

CalendarSpec describes an event specification relative to the calendar,

similar to a traditional cron specification, but with labeled fields. Each

field can be one of:

*: matches always

x: matches when the field equals x

x/y : matches when the field equals x+n*y where n is an integer

x-z: matches when the field is between x and z inclusive

w,x,y,...: matches when the field is one of the listed values

Each x, y, z, ... is either a decimal integer, or a month or day of week name

or abbreviation (in the appropriate fields).

A timestamp matches if all fields match.

Note that fields have different default values, for convenience.

Note that the special case that some cron implementations have for treating

day_of_month and day_of_week as "or" instead of "and" when both are set is

not implemented.

day_of_week can accept 0 or 7 as Sunday

CalendarSpec gets compiled into StructuredCalendarSpec, which is what will be

returned if you describe the schedule.

FieldTypeLabelDescription
second string

Expression to match seconds. Default: 0

minute string

Expression to match minutes. Default: 0

hour string

Expression to match hours. Default: 0

day_of_month string

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

month string

Expression to match months. Default: *

year string

Expression to match years. Default: *

day_of_week string

Expression to match days of the week. Default: *

comment string

Free-form comment describing the intention of this spec.

IntervalSpec

IntervalSpec matches times that can be expressed as:

epoch + n * interval + phase

where n is an integer.

phase defaults to zero if missing. interval is required.

Both interval and phase must be non-negative and are truncated to the nearest

second before any calculations.

For example, an interval of 1 hour with phase of zero would match every hour,

on the hour. The same interval but a phase of 19 minutes would match every

xx:19:00. An interval of 28 days with phase zero would match

2022-02-17T00:00:00Z (among other times). The same interval with a phase of 3

days, 5 hours, and 23 minutes would match 2022-02-20T05:23:00Z instead.

FieldTypeLabelDescription
interval google.protobuf.Duration

phase google.protobuf.Duration

Range

Range represents a set of integer values, used to match fields of a calendar

time in StructuredCalendarSpec. If end < start, then end is interpreted as

equal to start. This means you can use a Range with start set to a value, and

end and step unset (defaulting to 0) to represent a single value.

FieldTypeLabelDescription
start int32

Start of range (inclusive).

end int32

End of range (inclusive).

step int32

Step (optional, default 1).

Schedule

FieldTypeLabelDescription
spec ScheduleSpec

action ScheduleAction

policies SchedulePolicies

state ScheduleState

ScheduleAction

FieldTypeLabelDescription
start_workflow temporal.api.workflow.v1.NewWorkflowExecutionInfo

All fields of NewWorkflowExecutionInfo are valid except for: - workflow_id_reuse_policy - cron_schedule The workflow id of the started workflow may not match this exactly, it may have a timestamp appended for uniqueness.

ScheduleActionResult

FieldTypeLabelDescription
schedule_time google.protobuf.Timestamp

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

actual_time google.protobuf.Timestamp

Time that the action was taken (real time).

start_workflow_result temporal.api.common.v1.WorkflowExecution

If action was start_workflow:

ScheduleInfo

FieldTypeLabelDescription
action_count int64

Number of actions taken so far.

missed_catchup_window int64

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

overlap_skipped int64

Number of skipped actions due to overlap.

running_workflows temporal.api.common.v1.WorkflowExecution repeated

Currently-running workflows started by this schedule. (There might be more than one if the overlap policy allows overlaps.) Note that the run_ids in here are the original execution run ids as started by the schedule. If the workflows retried, did continue-as-new, or were reset, they might still be running but with a different run_id.

recent_actions ScheduleActionResult repeated

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

future_action_times google.protobuf.Timestamp repeated

Next ten scheduled action times.

create_time google.protobuf.Timestamp

Timestamps of schedule creation and last update.

update_time google.protobuf.Timestamp

invalid_schedule_error string

Deprecated.

Fields with deprecated option

Name Option
invalid_schedule_error

true

ScheduleListEntry

ScheduleListEntry is returned by ListSchedules.

FieldTypeLabelDescription
schedule_id string

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

info ScheduleListInfo

ScheduleListInfo

ScheduleListInfo is an abbreviated set of values from Schedule and ScheduleInfo

that's returned in ListSchedules.

FieldTypeLabelDescription
spec ScheduleSpec

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

workflow_type temporal.api.common.v1.WorkflowType

From action: Action is a oneof field, but we need to encode this in JSON and oneof fields don't work well with JSON. If action is start_workflow, this is set:

notes string

From state:

paused bool

recent_actions ScheduleActionResult repeated

From info (maybe fewer entries):

future_action_times google.protobuf.Timestamp repeated

SchedulePatch

FieldTypeLabelDescription
trigger_immediately TriggerImmediatelyRequest

If set, trigger one action immediately.

backfill_request BackfillRequest repeated

If set, runs though the specified time period(s) and takes actions as if that time passed by right now, all at once. The overlap policy can be overridden for the scope of the backfill.

pause string

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

unpause string

SchedulePolicies

FieldTypeLabelDescription
overlap_policy temporal.api.enums.v1.ScheduleOverlapPolicy

Policy for overlaps. Note that this can be changed after a schedule has taken some actions, and some changes might produce unintuitive results. In general, the later policy overrides the earlier policy.

catchup_window google.protobuf.Duration

Policy for catchups: If the Temporal server misses an action due to one or more components being down, and comes back up, the action will be run if the scheduled time is within this window from the current time. This value defaults to 60 seconds, 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.

ScheduleSpec

ScheduleSpec is a complete description of a set of absolute timestamps

(possibly infinite) that an action should occur at. The meaning of a

ScheduleSpec depends only on its contents and never changes, except that the

definition of a time zone can change over time (most commonly, when daylight

saving time policy changes for an area). To create a totally self-contained

ScheduleSpec, use UTC or include timezone_data.

For input, you can provide zero or more of: structured_calendar, calendar,

cron_string, interval, and exclude_structured_calendar, and all of them will

be used (the schedule will take action at the union of all of their times,

minus the ones that match exclude_structured_calendar).

On input, calendar and cron_string fields will be compiled into

structured_calendar (and maybe interval and timezone_name), so if you

Describe a schedule, you'll see only structured_calendar, interval, etc.

FieldTypeLabelDescription
structured_calendar StructuredCalendarSpec repeated

Calendar-based specifications of times.

cron_string string repeated

cron_string holds a traditional cron specification as a string. It accepts 5, 6, or 7 fields, separated by spaces, and interprets them the same way as CalendarSpec. 5 fields: minute, hour, day_of_month, month, day_of_week 6 fields: minute, hour, day_of_month, month, day_of_week, year 7 fields: second, minute, hour, day_of_month, month, day_of_week, year If year is not given, it defaults to *. If second is not given, it defaults to 0. Shorthands @yearly, @monthly, @weekly, @daily, and @hourly are also accepted instead of the 5-7 time fields. Optionally, the string can be preceded by CRON_TZ=<timezone name> or TZ=<timezone name>, which will get copied to timezone_name. (There must not also be a timezone_name present.) Optionally "#" followed by a comment can appear at the end of the string. Note that the special case that some cron implementations have for treating day_of_month and day_of_week as "or" instead of "and" when both are set is not implemented. @every <interval>[/<phase>] is accepted and gets compiled into an IntervalSpec instead. <interval> and <phase> should be a decimal integer with a unit suffix s, m, h, or d.

calendar CalendarSpec repeated

Calendar-based specifications of times.

interval IntervalSpec repeated

Interval-based specifications of times.

exclude_calendar CalendarSpec repeated

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

exclude_structured_calendar StructuredCalendarSpec repeated

start_time google.protobuf.Timestamp

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

end_time google.protobuf.Timestamp

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

jitter google.protobuf.Duration

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

timezone_name string

Time zone to interpret all calendar-based specs in. If unset, defaults to UTC. We recommend using UTC for your application if at all possible, to avoid various surprising properties of time zones. Time zones may be provided by name, corresponding to names in the IANA time zone database (see https://www.iana.org/time-zones). The definition will be loaded by the Temporal server from the environment it runs in. If your application requires more control over the time zone definition used, it may pass in a complete definition in the form of a TZif file from the time zone database. If present, this will be used instead of loading anything from the environment. You are then responsible for updating timezone_data when the definition changes. Calendar spec matching is based on literal matching of the clock time with no special handling of DST: if you write a calendar spec that fires at 2:30am and specify a time zone that follows DST, that action will not be triggered on the day that has no 2:30am. Similarly, an action that fires at 1:30am will be triggered twice on the day that has two 1:30s. Also note that no actions are taken on leap-seconds (e.g. 23:59:60 UTC).

timezone_data bytes

Fields with deprecated option

Name Option
exclude_calendar

true

ScheduleState

FieldTypeLabelDescription
notes string

Informative human-readable message with contextual notes, e.g. the reason a schedule is paused. The system may overwrite this message on certain conditions, e.g. when pause-on-failure happens.

paused bool

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

limited_actions bool

If limited_actions is true, decrement remaining_actions after each action, and do not take any more scheduled actions if remaining_actions is zero. Actions may still be taken by explicit request (i.e. trigger immediately or backfill). Skipped actions (due to overlap policy) do not count against remaining actions.

remaining_actions int64

StructuredCalendarSpec

StructuredCalendarSpec describes an event specification relative to the

calendar, in a form that's easy to work with programmatically. Each field can

be one or more ranges.

A timestamp matches if at least one range of each field matches the

corresponding fields of the timestamp, except for year: if year is missing,

that means all years match. For all fields besides year, at least one Range

must be present to match anything.

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

TODO: add nth day-of-week in month

FieldTypeLabelDescription
second Range repeated

Match seconds (0-59)

minute Range repeated

Match minutes (0-59)

hour Range repeated

Match hours (0-23)

day_of_month Range repeated

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

month Range repeated

Match months (1-12)

year Range repeated

Match years.

day_of_week Range repeated

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

comment string

Free-form comment describing the intention of this spec.

TriggerImmediatelyRequest

FieldTypeLabelDescription
overlap_policy temporal.api.enums.v1.ScheduleOverlapPolicy

Override overlap policy for this one request.

temporal/api/enums/v1/interaction_type.proto

Top

InteractionType

NameNumberDescription
INTERACTION_TYPE_UNSPECIFIED 0

INTERACTION_TYPE_WORKFLOW_QUERY 1

INTERACTION_TYPE_WORKFLOW_UPDATE 2

INTERACTION_TYPE_WORKFLOW_SIGNAL 3

temporal/api/enums/v1/schedule.proto

Top

ScheduleOverlapPolicy

ScheduleOverlapPolicy controls what happens when a workflow would be started

by a schedule, and is already running.

NameNumberDescription
SCHEDULE_OVERLAP_POLICY_UNSPECIFIED 0

SCHEDULE_OVERLAP_POLICY_SKIP 1

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

SCHEDULE_OVERLAP_POLICY_BUFFER_ONE 2

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

SCHEDULE_OVERLAP_POLICY_BUFFER_ALL 3

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

SCHEDULE_OVERLAP_POLICY_CANCEL_OTHER 4

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

SCHEDULE_OVERLAP_POLICY_TERMINATE_OTHER 5

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

SCHEDULE_OVERLAP_POLICY_ALLOW_ALL 6

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

temporal/api/enums/v1/failed_cause.proto

Top

CancelExternalWorkflowExecutionFailedCause

NameNumberDescription
CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED 0

CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_EXTERNAL_WORKFLOW_EXECUTION_NOT_FOUND 1

CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND 2

ResourceExhaustedCause

NameNumberDescription
RESOURCE_EXHAUSTED_CAUSE_UNSPECIFIED 0

RESOURCE_EXHAUSTED_CAUSE_RPS_LIMIT 1

Caller exceeds request per second limit.

RESOURCE_EXHAUSTED_CAUSE_CONCURRENT_LIMIT 2

Caller exceeds max concurrent request limit.

RESOURCE_EXHAUSTED_CAUSE_SYSTEM_OVERLOADED 3

System overloaded.

RESOURCE_EXHAUSTED_CAUSE_PERSISTENCE_LIMIT 4

Namespace exceeds persistence rate limit.

SignalExternalWorkflowExecutionFailedCause

NameNumberDescription
SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED 0

SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_EXTERNAL_WORKFLOW_EXECUTION_NOT_FOUND 1

SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND 2

StartChildWorkflowExecutionFailedCause

NameNumberDescription
START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED 0

START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_WORKFLOW_ALREADY_EXISTS 1

START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND 2

WorkflowTaskFailedCause

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

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

NameNumberDescription
WORKFLOW_TASK_FAILED_CAUSE_UNSPECIFIED 0

WORKFLOW_TASK_FAILED_CAUSE_UNHANDLED_COMMAND 1

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

WORKFLOW_TASK_FAILED_CAUSE_BAD_SCHEDULE_ACTIVITY_ATTRIBUTES 2

WORKFLOW_TASK_FAILED_CAUSE_BAD_REQUEST_CANCEL_ACTIVITY_ATTRIBUTES 3

WORKFLOW_TASK_FAILED_CAUSE_BAD_START_TIMER_ATTRIBUTES 4

WORKFLOW_TASK_FAILED_CAUSE_BAD_CANCEL_TIMER_ATTRIBUTES 5

WORKFLOW_TASK_FAILED_CAUSE_BAD_RECORD_MARKER_ATTRIBUTES 6

WORKFLOW_TASK_FAILED_CAUSE_BAD_COMPLETE_WORKFLOW_EXECUTION_ATTRIBUTES 7

WORKFLOW_TASK_FAILED_CAUSE_BAD_FAIL_WORKFLOW_EXECUTION_ATTRIBUTES 8

WORKFLOW_TASK_FAILED_CAUSE_BAD_CANCEL_WORKFLOW_EXECUTION_ATTRIBUTES 9

WORKFLOW_TASK_FAILED_CAUSE_BAD_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_ATTRIBUTES 10

WORKFLOW_TASK_FAILED_CAUSE_BAD_CONTINUE_AS_NEW_ATTRIBUTES 11

WORKFLOW_TASK_FAILED_CAUSE_START_TIMER_DUPLICATE_ID 12

WORKFLOW_TASK_FAILED_CAUSE_RESET_STICKY_TASK_QUEUE 13

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

WORKFLOW_TASK_FAILED_CAUSE_WORKFLOW_WORKER_UNHANDLED_FAILURE 14

WORKFLOW_TASK_FAILED_CAUSE_BAD_SIGNAL_WORKFLOW_EXECUTION_ATTRIBUTES 15

WORKFLOW_TASK_FAILED_CAUSE_BAD_START_CHILD_EXECUTION_ATTRIBUTES 16

WORKFLOW_TASK_FAILED_CAUSE_FORCE_CLOSE_COMMAND 17

WORKFLOW_TASK_FAILED_CAUSE_FAILOVER_CLOSE_COMMAND 18

WORKFLOW_TASK_FAILED_CAUSE_BAD_SIGNAL_INPUT_SIZE 19

WORKFLOW_TASK_FAILED_CAUSE_RESET_WORKFLOW 20

WORKFLOW_TASK_FAILED_CAUSE_BAD_BINARY 21

WORKFLOW_TASK_FAILED_CAUSE_SCHEDULE_ACTIVITY_DUPLICATE_ID 22

WORKFLOW_TASK_FAILED_CAUSE_BAD_SEARCH_ATTRIBUTES 23

WORKFLOW_TASK_FAILED_CAUSE_NON_DETERMINISTIC_ERROR 24

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

WORKFLOW_TASK_FAILED_CAUSE_BAD_MODIFY_WORKFLOW_PROPERTIES_ATTRIBUTES 25

temporal/api/enums/v1/reset.proto

Top

ResetReapplyType

Reset reapplay(replay) options

* RESET_REAPPLY_TYPE_SIGNAL (default) - Signals are reapplied when workflow is reset

* RESET_REAPPLY_TYPE_NONE - nothing is reapplied

NameNumberDescription
RESET_REAPPLY_TYPE_UNSPECIFIED 0

RESET_REAPPLY_TYPE_SIGNAL 1

RESET_REAPPLY_TYPE_NONE 2

temporal/api/enums/v1/command_type.proto

Top

CommandType

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

NameNumberDescription
COMMAND_TYPE_UNSPECIFIED 0

COMMAND_TYPE_SCHEDULE_ACTIVITY_TASK 1

COMMAND_TYPE_REQUEST_CANCEL_ACTIVITY_TASK 2

COMMAND_TYPE_START_TIMER 3

COMMAND_TYPE_COMPLETE_WORKFLOW_EXECUTION 4

COMMAND_TYPE_FAIL_WORKFLOW_EXECUTION 5

COMMAND_TYPE_CANCEL_TIMER 6

COMMAND_TYPE_CANCEL_WORKFLOW_EXECUTION 7

COMMAND_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION 8

COMMAND_TYPE_RECORD_MARKER 9

COMMAND_TYPE_CONTINUE_AS_NEW_WORKFLOW_EXECUTION 10

COMMAND_TYPE_START_CHILD_WORKFLOW_EXECUTION 11

COMMAND_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION 12

COMMAND_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES 13

COMMAND_TYPE_ACCEPT_WORKFLOW_UPDATE 14

Indicates that an update has been accepted for processing workflow code

COMMAND_TYPE_COMPLETE_WORKFLOW_UPDATE 15

Indicates that an update has completed and carries either the success or failure outcome of said update.

COMMAND_TYPE_MODIFY_WORKFLOW_PROPERTIES 16

COMMAND_TYPE_REJECT_WORKFLOW_UPDATE 17

temporal/api/enums/v1/common.proto

Top

EncodingType

NameNumberDescription
ENCODING_TYPE_UNSPECIFIED 0

ENCODING_TYPE_PROTO3 1

ENCODING_TYPE_JSON 2

IndexedValueType

NameNumberDescription
INDEXED_VALUE_TYPE_UNSPECIFIED 0

INDEXED_VALUE_TYPE_TEXT 1

INDEXED_VALUE_TYPE_KEYWORD 2

INDEXED_VALUE_TYPE_INT 3

INDEXED_VALUE_TYPE_DOUBLE 4

INDEXED_VALUE_TYPE_BOOL 5

INDEXED_VALUE_TYPE_DATETIME 6

INDEXED_VALUE_TYPE_KEYWORD_LIST 7

Severity

NameNumberDescription
SEVERITY_UNSPECIFIED 0

SEVERITY_HIGH 1

SEVERITY_MEDIUM 2

SEVERITY_LOW 3

temporal/api/enums/v1/batch_operation.proto

Top

BatchOperationState

NameNumberDescription
BATCH_OPERATION_STATE_UNSPECIFIED 0

BATCH_OPERATION_STATE_RUNNING 1

BATCH_OPERATION_STATE_COMPLETED 2

BATCH_OPERATION_STATE_FAILED 3

BatchOperationType

NameNumberDescription
BATCH_OPERATION_TYPE_UNSPECIFIED 0

BATCH_OPERATION_TYPE_TERMINATE 1

BATCH_OPERATION_TYPE_CANCEL 2

BATCH_OPERATION_TYPE_SIGNAL 3

BATCH_OPERATION_TYPE_DELETE 4

temporal/api/enums/v1/event_type.proto

Top

EventType

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

NameNumberDescription
EVENT_TYPE_UNSPECIFIED 0

Place holder and should never appear in a Workflow execution history

EVENT_TYPE_WORKFLOW_EXECUTION_STARTED 1

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

EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED 2

Workflow execution has successfully completed and contains Workflow execution results

EVENT_TYPE_WORKFLOW_EXECUTION_FAILED 3

Workflow execution has unsuccessfully completed and contains the Workflow execution error

EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT 4

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

EVENT_TYPE_WORKFLOW_TASK_SCHEDULED 5

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

EVENT_TYPE_WORKFLOW_TASK_STARTED 6

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

EVENT_TYPE_WORKFLOW_TASK_COMPLETED 7

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

EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT 8

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

EVENT_TYPE_WORKFLOW_TASK_FAILED 9

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

EVENT_TYPE_ACTIVITY_TASK_SCHEDULED 10

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

EVENT_TYPE_ACTIVITY_TASK_STARTED 11

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

EVENT_TYPE_ACTIVITY_TASK_COMPLETED 12

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

EVENT_TYPE_ACTIVITY_TASK_FAILED 13

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

EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT 14

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

EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED 15

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

EVENT_TYPE_ACTIVITY_TASK_CANCELED 16

Activity has been cancelled

EVENT_TYPE_TIMER_STARTED 17

A timer has started

EVENT_TYPE_TIMER_FIRED 18

A timer has fired

EVENT_TYPE_TIMER_CANCELED 19

A time has been cancelled

EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED 20

A request has been made to cancel the Workflow execution

EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED 21

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

EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED 22

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

EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED 23

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

EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_CANCEL_REQUESTED 24

Temporal Server has successfully requested the cancellation of the target Workflow

EVENT_TYPE_MARKER_RECORDED 25

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

EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED 26

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

EVENT_TYPE_WORKFLOW_EXECUTION_TERMINATED 27

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

EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW 28

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

EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED 29

Temporal Server will try to start a child Workflow

EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_FAILED 30

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

EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED 31

Child Workflow execution has successfully started/triggered

EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_COMPLETED 32

Child Workflow execution has successfully completed

EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_FAILED 33

Child Workflow execution has unsuccessfully completed

EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_CANCELED 34

Child Workflow execution has been cancelled

EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TIMED_OUT 35

Child Workflow execution has timed out by the Temporal Server

EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TERMINATED 36

Child Workflow execution has been terminated

EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED 37

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

EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED 38

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

EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED 39

Temporal Server has successfully Signaled the targeted Workflow

EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES 40

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

EVENT_TYPE_WORKFLOW_UPDATE_REJECTED 41

Workflow update request has been received

EVENT_TYPE_WORKFLOW_UPDATE_ACCEPTED 42

Workflow update request has been accepted by user workflow code

EVENT_TYPE_WORKFLOW_UPDATE_COMPLETED 43

Workflow update has been 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

temporal/api/enums/v1/task_queue.proto

Top

TaskQueueKind

NameNumberDescription
TASK_QUEUE_KIND_UNSPECIFIED 0

TASK_QUEUE_KIND_NORMAL 1

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

TASK_QUEUE_KIND_STICKY 2

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

TaskQueueType

NameNumberDescription
TASK_QUEUE_TYPE_UNSPECIFIED 0

TASK_QUEUE_TYPE_WORKFLOW 1

Workflow type of task queue.

TASK_QUEUE_TYPE_ACTIVITY 2

Activity type of task queue.

temporal/api/enums/v1/update.proto

Top

WorkflowUpdateResultAccessStyle

NameNumberDescription
WORKFLOW_UPDATE_RESULT_ACCESS_STYLE_UNSPECIFIED 0

WORKFLOW_UPDATE_RESULT_ACCESS_STYLE_REQUIRE_INLINE 1

Indicates that the update response _must_ be included as part of the gRPC response body

temporal/api/enums/v1/namespace.proto

Top

ArchivalState

NameNumberDescription
ARCHIVAL_STATE_UNSPECIFIED 0

ARCHIVAL_STATE_DISABLED 1

ARCHIVAL_STATE_ENABLED 2

NamespaceState

NameNumberDescription
NAMESPACE_STATE_UNSPECIFIED 0

NAMESPACE_STATE_REGISTERED 1

NAMESPACE_STATE_DEPRECATED 2

NAMESPACE_STATE_DELETED 3

ReplicationState

NameNumberDescription
REPLICATION_STATE_UNSPECIFIED 0

REPLICATION_STATE_NORMAL 1

REPLICATION_STATE_HANDOVER 2

temporal/api/enums/v1/query.proto

Top

QueryRejectCondition

NameNumberDescription
QUERY_REJECT_CONDITION_UNSPECIFIED 0

QUERY_REJECT_CONDITION_NONE 1

None indicates that query should not be rejected.

QUERY_REJECT_CONDITION_NOT_OPEN 2

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

QUERY_REJECT_CONDITION_NOT_COMPLETED_CLEANLY 3

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

QueryResultType

NameNumberDescription
QUERY_RESULT_TYPE_UNSPECIFIED 0

QUERY_RESULT_TYPE_ANSWERED 1

QUERY_RESULT_TYPE_FAILED 2

temporal/api/enums/v1/workflow.proto

Top

ContinueAsNewInitiator

NameNumberDescription
CONTINUE_AS_NEW_INITIATOR_UNSPECIFIED 0

CONTINUE_AS_NEW_INITIATOR_WORKFLOW 1

The workflow itself requested to continue as new

CONTINUE_AS_NEW_INITIATOR_RETRY 2

The workflow continued as new because it is retrying

CONTINUE_AS_NEW_INITIATOR_CRON_SCHEDULE 3

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

HistoryEventFilterType

NameNumberDescription
HISTORY_EVENT_FILTER_TYPE_UNSPECIFIED 0

HISTORY_EVENT_FILTER_TYPE_ALL_EVENT 1

HISTORY_EVENT_FILTER_TYPE_CLOSE_EVENT 2

ParentClosePolicy

Defines how child workflows will react to their parent completing

NameNumberDescription
PARENT_CLOSE_POLICY_UNSPECIFIED 0

PARENT_CLOSE_POLICY_TERMINATE 1

The child workflow will also terminate

PARENT_CLOSE_POLICY_ABANDON 2

The child workflow will do nothing

PARENT_CLOSE_POLICY_REQUEST_CANCEL 3

Cancellation will be requested of the child workflow

PendingActivityState

NameNumberDescription
PENDING_ACTIVITY_STATE_UNSPECIFIED 0

PENDING_ACTIVITY_STATE_SCHEDULED 1

PENDING_ACTIVITY_STATE_STARTED 2

PENDING_ACTIVITY_STATE_CANCEL_REQUESTED 3

PendingWorkflowTaskState

NameNumberDescription
PENDING_WORKFLOW_TASK_STATE_UNSPECIFIED 0

PENDING_WORKFLOW_TASK_STATE_SCHEDULED 1

PENDING_WORKFLOW_TASK_STATE_STARTED 2

RetryState

NameNumberDescription
RETRY_STATE_UNSPECIFIED 0

RETRY_STATE_IN_PROGRESS 1

RETRY_STATE_NON_RETRYABLE_FAILURE 2

RETRY_STATE_TIMEOUT 3

RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED 4

RETRY_STATE_RETRY_POLICY_NOT_SET 5

RETRY_STATE_INTERNAL_SERVER_ERROR 6

RETRY_STATE_CANCEL_REQUESTED 7

TimeoutType

NameNumberDescription
TIMEOUT_TYPE_UNSPECIFIED 0

TIMEOUT_TYPE_START_TO_CLOSE 1

TIMEOUT_TYPE_SCHEDULE_TO_START 2

TIMEOUT_TYPE_SCHEDULE_TO_CLOSE 3

TIMEOUT_TYPE_HEARTBEAT 4

WorkflowExecutionStatus

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

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

NameNumberDescription
WORKFLOW_EXECUTION_STATUS_UNSPECIFIED 0

WORKFLOW_EXECUTION_STATUS_RUNNING 1

Value 1 is hardcoded in SQL persistence.

WORKFLOW_EXECUTION_STATUS_COMPLETED 2

WORKFLOW_EXECUTION_STATUS_FAILED 3

WORKFLOW_EXECUTION_STATUS_CANCELED 4

WORKFLOW_EXECUTION_STATUS_TERMINATED 5

WORKFLOW_EXECUTION_STATUS_CONTINUED_AS_NEW 6

WORKFLOW_EXECUTION_STATUS_TIMED_OUT 7

WorkflowIdReusePolicy

Defines how new runs of a workflow with a particular ID may or may not be allowed. Note that

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

NameNumberDescription
WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED 0

WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE 1

Allow starting a workflow execution using the same workflow id.

WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY 2

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

WORKFLOW_ID_REUSE_POLICY_REJECT_DUPLICATE 3

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

WORKFLOW_ID_REUSE_POLICY_TERMINATE_IF_RUNNING 4

If a workflow is running using the same workflow ID, terminate it and start a new one. If no running workflow, then the behavior is the same as ALLOW_DUPLICATE

temporal/api/taskqueue/v1/message.proto

Top

PollerInfo

FieldTypeLabelDescription
last_access_time google.protobuf.Timestamp

Unix Nano

identity string

rate_per_second double

worker_versioning_id VersionId

If a worker has specified an ID for use with the worker versioning feature while polling, that id must appear here.

StickyExecutionAttributes

FieldTypeLabelDescription
worker_task_queue TaskQueue

schedule_to_start_timeout google.protobuf.Duration

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

TaskIdBlock

FieldTypeLabelDescription
start_id int64

end_id int64

TaskQueue

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

FieldTypeLabelDescription
name string

kind temporal.api.enums.v1.TaskQueueKind

Default: TASK_QUEUE_KIND_NORMAL.

TaskQueueMetadata

Only applies to activity task queues

FieldTypeLabelDescription
max_tasks_per_second google.protobuf.DoubleValue

Allows throttling dispatch of tasks from this queue

TaskQueuePartitionMetadata

FieldTypeLabelDescription
key string

owner_host_name string

TaskQueueStatus

FieldTypeLabelDescription
backlog_count_hint int64

read_level int64

ack_level int64

rate_per_second double

task_id_block TaskIdBlock

VersionId

Used by the worker versioning APIs, represents a specific version of something

Currently, that's just a whole-worker id. In the future, if we support

WASM workflow bundle based versioning, for example, then the inside of this

message may become a oneof of different version types.

FieldTypeLabelDescription
worker_build_id string

An opaque whole-worker identifier

VersionIdNode

Used by the worker versioning APIs, represents a node in the version graph for a particular

task queue

FieldTypeLabelDescription
version VersionId

previous_compatible VersionIdNode

A pointer to the previous version this version is considered to be compatible with

previous_incompatible VersionIdNode

A pointer to the last incompatible version (previous major version)

temporal/api/workflowservice/v1/service.proto

Top

WorkflowService

WorkflowService API defines how Temporal SDKs and other clients interact with the Temporal server

to create and interact with workflows and activities.

Users are expected to call `StartWorkflowExecution` to create a new workflow execution.

To drive workflows, a worker using a Temporal SDK must exist which regularly polls for workflow

and activity tasks from the service. For each workflow task, the sdk must process the

(incremental or complete) event history and respond back with any newly generated commands.

For each activity task, the worker is expected to execute the user's code which implements that

activity, responding with completion or failure.

Method NameRequest TypeResponse TypeDescription
RegisterNamespace RegisterNamespaceRequest RegisterNamespaceResponse

RegisterNamespace creates a new namespace which can be used as a container for all resources. A Namespace is a top level entity within Temporal, and is used as a container for resources like workflow executions, task queues, etc. A Namespace acts as a sandbox and provides isolation for all resources within the namespace. All resources belongs to exactly one namespace.

DescribeNamespace DescribeNamespaceRequest DescribeNamespaceResponse

DescribeNamespace returns the information and configuration for a registered namespace.

ListNamespaces ListNamespacesRequest ListNamespacesResponse

ListNamespaces returns the information and configuration for all namespaces.

UpdateNamespace UpdateNamespaceRequest UpdateNamespaceResponse

UpdateNamespace is used to update the information and configuration of a registered namespace. (-- api-linter: core::0134::method-signature=disabled aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --) (-- api-linter: core::0134::response-message-name=disabled aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --)

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.

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.

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

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.

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.

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::0135::method-signature=disabled aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --) (-- api-linter: core::0135::response-message-name=disabled aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --)

ListOpenWorkflowExecutions ListOpenWorkflowExecutionsRequest ListOpenWorkflowExecutionsResponse

ListOpenWorkflowExecutions is a visibility API to list the open executions in a specific namespace.

ListClosedWorkflowExecutions ListClosedWorkflowExecutionsRequest ListClosedWorkflowExecutionsResponse

ListClosedWorkflowExecutions is a visibility API to list the closed executions in a specific namespace.

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.

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

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.

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

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

CreateSchedule CreateScheduleRequest CreateScheduleResponse

Creates a new schedule. (-- api-linter: core::0133::method-signature=disabled aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --) (-- api-linter: core::0133::response-message-name=disabled aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --) (-- api-linter: core::0133::http-uri-parent=disabled aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --)

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. (-- api-linter: core::0134::response-message-name=disabled aip.dev/not-precedent: UpdateSchedule RPC doesn't follow Google API format. --) (-- api-linter: core::0134::method-signature=disabled aip.dev/not-precedent: UpdateSchedule RPC doesn't follow Google API format. --)

PatchSchedule PatchScheduleRequest PatchScheduleResponse

Makes a specific change to a schedule or triggers an immediate action. (-- api-linter: core::0134::synonyms=disabled aip.dev/not-precedent: we have both patch and update. --)

ListScheduleMatchingTimes ListScheduleMatchingTimesRequest ListScheduleMatchingTimesResponse

Lists matching times within a range.

DeleteSchedule DeleteScheduleRequest DeleteScheduleResponse

Deletes a schedule, removing it from the system. (-- api-linter: core::0135::method-signature=disabled aip.dev/not-precedent: DeleteSchedule doesn't follow Google API format --) (-- api-linter: core::0135::response-message-name=disabled aip.dev/not-precedent: DeleteSchedule doesn't follow Google API format --)

ListSchedules ListSchedulesRequest ListSchedulesResponse

List all schedules in a namespace.

UpdateWorkerBuildIdOrdering UpdateWorkerBuildIdOrderingRequest UpdateWorkerBuildIdOrderingResponse

Allows users to specify a graph of worker build id based versions on a per task queue basis. Versions are ordered, and may be either compatible with some extant version, or a new incompatible version. (-- api-linter: core::0134::response-message-name=disabled aip.dev/not-precedent: UpdateWorkerBuildIdOrdering RPC doesn't follow Google API format. --) (-- api-linter: core::0134::method-signature=disabled aip.dev/not-precedent: UpdateWorkerBuildIdOrdering RPC doesn't follow Google API format. --)

GetWorkerBuildIdOrdering GetWorkerBuildIdOrderingRequest GetWorkerBuildIdOrderingResponse

Fetches the worker build id versioning graph for some task queue.

UpdateWorkflow UpdateWorkflowRequest UpdateWorkflowResponse

Invokes the specified update function on user workflow code. (-- api-linter: core::0134=disabled aip.dev/not-precedent: UpdateWorkflow doesn't follow Google API format --)

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

temporal/api/workflowservice/v1/request_response.proto

Top

CountWorkflowExecutionsRequest

FieldTypeLabelDescription
namespace string

query string

CountWorkflowExecutionsResponse

FieldTypeLabelDescription
count int64

CreateScheduleRequest

(-- api-linter: core::0133::request-parent-required=disabled

aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --)

(-- api-linter: core::0133::request-unknown-fields=disabled

aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --)

(-- api-linter: core::0133::request-resource-behavior=disabled

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

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

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

FieldTypeLabelDescription
namespace string

The namespace the schedule should be created in.

schedule_id string

The id of the new schedule.

schedule temporal.api.schedule.v1.Schedule

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

initial_patch temporal.api.schedule.v1.SchedulePatch

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

identity string

The identity of the client who initiated this request.

request_id string

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

memo temporal.api.common.v1.Memo

Memo and search attributes to attach to the schedule itself.

search_attributes temporal.api.common.v1.SearchAttributes

CreateScheduleResponse

FieldTypeLabelDescription
conflict_token bytes

DeleteScheduleRequest

(-- api-linter: core::0135::request-name-required=disabled

aip.dev/not-precedent: DeleteSchedule doesn't follow Google API format --)

(-- api-linter: core::0135::request-unknown-fields=disabled

aip.dev/not-precedent: DeleteSchedule doesn't follow Google API format --)

FieldTypeLabelDescription
namespace string

The namespace of the schedule to delete.

schedule_id string

The id of the schedule to delete.

identity string

The identity of the client who initiated this request.

DeleteScheduleResponse

DeleteWorkflowExecutionRequest

(-- api-linter: core::0135::request-unknown-fields=disabled

aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --)

(-- api-linter: core::0135::request-name-required=disabled

aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --)

FieldTypeLabelDescription
namespace string

workflow_execution temporal.api.common.v1.WorkflowExecution

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

DeleteWorkflowExecutionResponse

DeprecateNamespaceRequest

Deprecated.

FieldTypeLabelDescription
namespace string

security_token string

DeprecateNamespaceResponse

Deprecated.

DescribeBatchOperationRequest

FieldTypeLabelDescription
namespace string

Namespace that contains the batch operation

job_id string

Batch job id

DescribeBatchOperationResponse

FieldTypeLabelDescription
operation_type temporal.api.enums.v1.BatchOperationType

Batch operation type

job_id string

Batch job ID

state temporal.api.enums.v1.BatchOperationState

Batch operation state

start_time google.protobuf.Timestamp

Batch operation start time

close_time google.protobuf.Timestamp

Batch operation close time

total_operation_count int64

Total operation count

complete_operation_count int64

Complete operation count

failure_operation_count int64

Failure operation count

identity string

Identity indicates the operator identity

reason string

Reason indicates the reason to stop a operation

DescribeNamespaceRequest

FieldTypeLabelDescription
namespace string

id string

DescribeNamespaceResponse

FieldTypeLabelDescription
namespace_info temporal.api.namespace.v1.NamespaceInfo

config temporal.api.namespace.v1.NamespaceConfig

replication_config temporal.api.replication.v1.NamespaceReplicationConfig

failover_version int64

is_global_namespace bool

failover_history temporal.api.replication.v1.FailoverStatus repeated

Contains the historical state of failover_versions for the cluster, truncated to contain only the last N states to ensure that the list does not grow unbounded.

DescribeScheduleRequest

FieldTypeLabelDescription
namespace string

The namespace of the schedule to describe.

schedule_id string

The id of the schedule to describe.

DescribeScheduleResponse

FieldTypeLabelDescription
schedule temporal.api.schedule.v1.Schedule

The complete current schedule details. This may not match the schedule as created because: - some types of schedule specs may get compiled into others (e.g. CronString into StructuredCalendarSpec) - some unspecified fields may be replaced by defaults - some fields in the state are modified automatically - the schedule may have been modified by UpdateSchedule or PatchSchedule

info temporal.api.schedule.v1.ScheduleInfo

Extra schedule state info.

memo temporal.api.common.v1.Memo

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

search_attributes temporal.api.common.v1.SearchAttributes

conflict_token bytes

This value can be passed back to UpdateSchedule to ensure that the schedule was not modified between a Describe and an Update, which could lead to lost updates and other confusion.

DescribeTaskQueueRequest

FieldTypeLabelDescription
namespace string

task_queue temporal.api.taskqueue.v1.TaskQueue

task_queue_type temporal.api.enums.v1.TaskQueueType

include_task_queue_status bool

DescribeTaskQueueResponse

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

task_queue_status temporal.api.taskqueue.v1.TaskQueueStatus

DescribeWorkflowExecutionRequest

FieldTypeLabelDescription
namespace string

execution temporal.api.common.v1.WorkflowExecution

DescribeWorkflowExecutionResponse

FieldTypeLabelDescription
execution_config temporal.api.workflow.v1.WorkflowExecutionConfig

workflow_execution_info temporal.api.workflow.v1.WorkflowExecutionInfo

pending_activities temporal.api.workflow.v1.PendingActivityInfo repeated

pending_children temporal.api.workflow.v1.PendingChildExecutionInfo repeated

pending_workflow_task temporal.api.workflow.v1.PendingWorkflowTaskInfo

GetClusterInfoRequest

GetClusterInfoResponse

GetClusterInfoResponse contains information about Temporal cluster.

FieldTypeLabelDescription
supported_clients GetClusterInfoResponse.SupportedClientsEntry repeated

Key is client name i.e "temporal-go", "temporal-java", or "temporal-cli". Value is ranges of supported versions of this client i.e ">1.1.1 <=1.4.0 || ^5.0.0".

server_version string

cluster_id string

version_info temporal.api.version.v1.VersionInfo

cluster_name string

history_shard_count int32

persistence_store string

visibility_store string

GetClusterInfoResponse.SupportedClientsEntry

FieldTypeLabelDescription
key string

value string

GetSearchAttributesRequest

GetSearchAttributesResponse

FieldTypeLabelDescription
keys GetSearchAttributesResponse.KeysEntry repeated

GetSearchAttributesResponse.KeysEntry

FieldTypeLabelDescription
key string

value temporal.api.enums.v1.IndexedValueType

GetSystemInfoRequest

GetSystemInfoResponse

FieldTypeLabelDescription
server_version string

Version of the server.

capabilities GetSystemInfoResponse.Capabilities

All capabilities the system supports.

GetSystemInfoResponse.Capabilities

System capability details.

FieldTypeLabelDescription
signal_and_query_header bool

True if signal and query headers are supported.

internal_error_differentiation bool

True if internal errors are differentiated from other types of errors for purposes of retrying non-internal errors. When unset/false, clients retry all failures. When true, clients should only retry non-internal errors.

activity_failure_include_heartbeat bool

True if RespondActivityTaskFailed API supports including heartbeat details

supports_schedules bool

Supports scheduled workflow features.

encoded_failure_attributes bool

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

build_id_based_versioning bool

True if server supports dispatching Workflow and Activity tasks based on a worker's build_id (see: https://github.com/temporalio/proposals/blob/a123af3b559f43db16ea6dd31870bfb754c4dc5e/versioning/worker-versions.md)

upsert_memo bool

True if server supports upserting workflow memo

GetWorkerBuildIdOrderingRequest

(-- api-linter: core::0134::request-resource-required=disabled

aip.dev/not-precedent: GetWorkerBuildIdOrderingRequest RPC doesn't follow Google API format. --)

FieldTypeLabelDescription
namespace string

task_queue string

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

max_depth int32

Limits how deep the returned DAG will go. 1 will return only the default build id. A default/0 value will return the entire graph.

GetWorkerBuildIdOrderingResponse

FieldTypeLabelDescription
current_default temporal.api.taskqueue.v1.VersionIdNode

The currently established default version

compatible_leaves temporal.api.taskqueue.v1.VersionIdNode repeated

Other current latest-compatible versions who are not the overall default. These are the versions that will be used when generating new tasks by following the graph from the version of the last task out to a leaf.

GetWorkflowExecutionHistoryRequest

FieldTypeLabelDescription
namespace string

execution temporal.api.common.v1.WorkflowExecution

maximum_page_size int32

next_page_token bytes

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

wait_new_event bool

If set to true, the RPC call will not resolve until there is a new event which matches the `history_event_filter_type`, or a timeout is hit.

history_event_filter_type temporal.api.enums.v1.HistoryEventFilterType

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

skip_archival bool

GetWorkflowExecutionHistoryResponse

FieldTypeLabelDescription
history temporal.api.history.v1.History

raw_history temporal.api.common.v1.DataBlob repeated

Raw history is an alternate representation of history that may be returned if configured on the frontend. This is not supported by all SDKs. Either this or `history` will be set.

next_page_token bytes

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

archived bool

GetWorkflowExecutionHistoryReverseRequest

FieldTypeLabelDescription
namespace string

execution temporal.api.common.v1.WorkflowExecution

maximum_page_size int32

next_page_token bytes

GetWorkflowExecutionHistoryReverseResponse

FieldTypeLabelDescription
history temporal.api.history.v1.History

next_page_token bytes

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

ListArchivedWorkflowExecutionsRequest

FieldTypeLabelDescription
namespace string

page_size int32

next_page_token bytes

query string

ListArchivedWorkflowExecutionsResponse

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

next_page_token bytes

ListBatchOperationsRequest

FieldTypeLabelDescription
namespace string

Namespace that contains the batch operation

page_size int32

List page size

next_page_token bytes

Next page token

ListBatchOperationsResponse

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

BatchOperationInfo contains the basic info about batch operation

next_page_token bytes

ListClosedWorkflowExecutionsRequest

FieldTypeLabelDescription
namespace string

maximum_page_size int32

next_page_token bytes

start_time_filter temporal.api.filter.v1.StartTimeFilter

execution_filter temporal.api.filter.v1.WorkflowExecutionFilter

type_filter temporal.api.filter.v1.WorkflowTypeFilter

status_filter temporal.api.filter.v1.StatusFilter

ListClosedWorkflowExecutionsResponse

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

next_page_token bytes

ListNamespacesRequest

FieldTypeLabelDescription
page_size int32

next_page_token bytes

namespace_filter temporal.api.namespace.v1.NamespaceFilter

ListNamespacesResponse

FieldTypeLabelDescription
namespaces DescribeNamespaceResponse repeated

next_page_token bytes

ListOpenWorkflowExecutionsRequest

FieldTypeLabelDescription
namespace string

maximum_page_size int32

next_page_token bytes

start_time_filter temporal.api.filter.v1.StartTimeFilter

execution_filter temporal.api.filter.v1.WorkflowExecutionFilter

type_filter temporal.api.filter.v1.WorkflowTypeFilter

ListOpenWorkflowExecutionsResponse

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

next_page_token bytes

ListScheduleMatchingTimesRequest

FieldTypeLabelDescription
namespace string

The namespace of the schedule to query.

schedule_id string

The id of the schedule to query.

start_time google.protobuf.Timestamp

Time range to query.

end_time google.protobuf.Timestamp

ListScheduleMatchingTimesResponse

FieldTypeLabelDescription
start_time google.protobuf.Timestamp repeated

ListSchedulesRequest

FieldTypeLabelDescription
namespace string

The namespace to list schedules in.

maximum_page_size int32

How many to return at once.

next_page_token bytes

Token to get the next page of results.

ListSchedulesResponse

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

next_page_token bytes

ListTaskQueuePartitionsRequest

FieldTypeLabelDescription
namespace string

task_queue temporal.api.taskqueue.v1.TaskQueue

ListTaskQueuePartitionsResponse

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

workflow_task_queue_partitions temporal.api.taskqueue.v1.TaskQueuePartitionMetadata repeated

ListWorkflowExecutionsRequest

FieldTypeLabelDescription
namespace string

page_size int32

next_page_token bytes

query string

ListWorkflowExecutionsResponse

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

next_page_token bytes

PatchScheduleRequest

FieldTypeLabelDescription
namespace string

The namespace of the schedule to patch.

schedule_id string

The id of the schedule to patch.

patch temporal.api.schedule.v1.SchedulePatch

identity string

The identity of the client who initiated this request.

request_id string

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

PatchScheduleResponse

PollActivityTaskQueueRequest

FieldTypeLabelDescription
namespace string

task_queue temporal.api.taskqueue.v1.TaskQueue

identity string

The identity of the worker/client

task_queue_metadata temporal.api.taskqueue.v1.TaskQueueMetadata

worker_versioning_id temporal.api.taskqueue.v1.VersionId

If set, the worker is opting in to build-id based versioning and wishes to only receive tasks that are considered compatible with the version provided. Doing so only makes sense in conjunction with the `UpdateWorkerBuildIdOrdering` API.

PollActivityTaskQueueResponse

FieldTypeLabelDescription
task_token bytes

A unique identifier for this task

workflow_namespace string

The namespace the workflow which requested this activity lives in

workflow_type temporal.api.common.v1.WorkflowType

Type of the requesting workflow

workflow_execution temporal.api.common.v1.WorkflowExecution

Execution info of the requesting workflow

activity_type temporal.api.common.v1.ActivityType

activity_id string

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

header temporal.api.common.v1.Header

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

input temporal.api.common.v1.Payloads

Arguments to the activity invocation

heartbeat_details temporal.api.common.v1.Payloads

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

scheduled_time google.protobuf.Timestamp

When was this task first scheduled

current_attempt_scheduled_time google.protobuf.Timestamp

When was this task attempt scheduled

started_time google.protobuf.Timestamp

When was this task started (this attempt)

attempt int32

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

schedule_to_close_timeout google.protobuf.Duration

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

start_to_close_timeout google.protobuf.Duration

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

heartbeat_timeout google.protobuf.Duration

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

retry_policy temporal.api.common.v1.RetryPolicy

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

PollWorkflowTaskQueueRequest

FieldTypeLabelDescription
namespace string

task_queue temporal.api.taskqueue.v1.TaskQueue

identity string

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

binary_checksum string

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_versioning_id temporal.api.taskqueue.v1.VersionId

If set, the worker is opting in to build-id based versioning and wishes to only receive tasks that are considered compatible with the version provided. Doing so only makes sense in conjunction with the `UpdateWorkerBuildIdOrdering` API. When `worker_versioning_id` has a `worker_build_id`, and `binary_checksum` is not set, that value should also be considered as the `binary_checksum`.

PollWorkflowTaskQueueResponse

FieldTypeLabelDescription
task_token bytes

A unique identifier for this task

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

previous_started_event_id int64

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

started_event_id int64

The id of the most recent workflow task started event, which will have been generated as a result of this poll request being served.

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`

interactions temporal.api.interaction.v1.Invocation repeated

PollWorkflowTaskQueueResponse.QueriesEntry

FieldTypeLabelDescription
key string

value temporal.api.query.v1.WorkflowQuery

QueryWorkflowRequest

FieldTypeLabelDescription
namespace string

execution temporal.api.common.v1.WorkflowExecution

query temporal.api.query.v1.WorkflowQuery

query_reject_condition temporal.api.enums.v1.QueryRejectCondition

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

QueryWorkflowResponse

FieldTypeLabelDescription
query_result temporal.api.common.v1.Payloads

query_rejected temporal.api.query.v1.QueryRejected

RecordActivityTaskHeartbeatByIdRequest

FieldTypeLabelDescription
namespace string

Namespace of the workflow which scheduled this activity

workflow_id string

Id of the workflow which scheduled this activity

run_id string

Run Id of the workflow which scheduled this activity

activity_id string

Id of the activity we're heartbeating

details temporal.api.common.v1.Payloads

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

identity string

The identity of the worker/client

RecordActivityTaskHeartbeatByIdResponse

FieldTypeLabelDescription
cancel_requested bool

Will be set to true if the activity has been asked to cancel itself. The SDK should then notify the activity of cancellation if it is still running.

RecordActivityTaskHeartbeatRequest

FieldTypeLabelDescription
task_token bytes

The task token as received in `PollActivityTaskQueueResponse`

details temporal.api.common.v1.Payloads

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

identity string

The identity of the worker/client

namespace string

RecordActivityTaskHeartbeatResponse

FieldTypeLabelDescription
cancel_requested bool

Will be set to true if the activity has been asked to cancel itself. The SDK should then notify the activity of cancellation if it is still running.

RegisterNamespaceRequest

FieldTypeLabelDescription
namespace string

description string

owner_email string

workflow_execution_retention_period google.protobuf.Duration

clusters temporal.api.replication.v1.ClusterReplicationConfig repeated

active_cluster_name string

data RegisterNamespaceRequest.DataEntry repeated

A key-value map for any customized purpose.

security_token string

is_global_namespace bool

history_archival_state temporal.api.enums.v1.ArchivalState

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

history_archival_uri string

visibility_archival_state temporal.api.enums.v1.ArchivalState

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

visibility_archival_uri string

RegisterNamespaceRequest.DataEntry

FieldTypeLabelDescription
key string

value string

RegisterNamespaceResponse

RequestCancelWorkflowExecutionRequest

FieldTypeLabelDescription
namespace string

workflow_execution temporal.api.common.v1.WorkflowExecution

identity string

The identity of the worker/client

request_id string

Used to de-dupe cancellation requests

first_execution_run_id string

If set, this call will error if the most recent (if no run id is set on `workflow_execution`), or specified (if it is) workflow execution is not part of the same execution chain as this id.

reason string

Reason for requesting the cancellation

RequestCancelWorkflowExecutionResponse

ResetStickyTaskQueueRequest

FieldTypeLabelDescription
namespace string

execution temporal.api.common.v1.WorkflowExecution

ResetStickyTaskQueueResponse

ResetWorkflowExecutionRequest

FieldTypeLabelDescription
namespace string

workflow_execution temporal.api.common.v1.WorkflowExecution

reason string

workflow_task_finish_event_id int64

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

request_id string

Used to de-dupe reset requests

reset_reapply_type temporal.api.enums.v1.ResetReapplyType

Reset reapplay(replay) options.

ResetWorkflowExecutionResponse

FieldTypeLabelDescription
run_id string

RespondActivityTaskCanceledByIdRequest

FieldTypeLabelDescription
namespace string

Namespace of the workflow which scheduled this activity

workflow_id string

Id of the workflow which scheduled this activity

run_id string

Run Id of the workflow which scheduled this activity

activity_id string

Id of the activity to confirm is cancelled

details temporal.api.common.v1.Payloads

Serialized additional information to attach to the cancellation

identity string

The identity of the worker/client

RespondActivityTaskCanceledByIdResponse

RespondActivityTaskCanceledRequest

FieldTypeLabelDescription
task_token bytes

The task token as received in `PollActivityTaskQueueResponse`

details temporal.api.common.v1.Payloads

Serialized additional information to attach to the cancellation

identity string

The identity of the worker/client

namespace string

RespondActivityTaskCanceledResponse

RespondActivityTaskCompletedByIdRequest

FieldTypeLabelDescription
namespace string

Namespace of the workflow which scheduled this activity

workflow_id string

Id of the workflow which scheduled this activity

run_id string

Run Id of the workflow which scheduled this activity

activity_id string

Id of the activity to complete

result temporal.api.common.v1.Payloads

The serialized result of activity execution

identity string

The identity of the worker/client

RespondActivityTaskCompletedByIdResponse

RespondActivityTaskCompletedRequest

FieldTypeLabelDescription
task_token bytes

The task token as received in `PollActivityTaskQueueResponse`

result temporal.api.common.v1.Payloads

The result of successfully executing the activity

identity string

The identity of the worker/client

namespace string

RespondActivityTaskCompletedResponse

RespondActivityTaskFailedByIdRequest

FieldTypeLabelDescription
namespace string

Namespace of the workflow which scheduled this activity

workflow_id string

Id of the workflow which scheduled this activity

run_id string

Run Id of the workflow which scheduled this activity

activity_id string

Id of the activity to fail

failure temporal.api.failure.v1.Failure

Detailed failure information

identity string

The identity of the worker/client

last_heartbeat_details temporal.api.common.v1.Payloads

Additional details to be stored as last activity heartbeat

RespondActivityTaskFailedByIdResponse

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

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

RespondActivityTaskFailedRequest

FieldTypeLabelDescription
task_token bytes

The task token as received in `PollActivityTaskQueueResponse`

failure temporal.api.failure.v1.Failure

Detailed failure information

identity string

The identity of the worker/client

namespace string

last_heartbeat_details temporal.api.common.v1.Payloads

Additional details to be stored as last activity heartbeat

RespondActivityTaskFailedResponse

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

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

RespondQueryTaskCompletedRequest

FieldTypeLabelDescription
task_token bytes

completed_type temporal.api.enums.v1.QueryResultType

query_result temporal.api.common.v1.Payloads

error_message string

namespace string

RespondQueryTaskCompletedResponse

RespondWorkflowTaskCompletedRequest

FieldTypeLabelDescription
task_token bytes

The task token as received in `PollWorkflowTaskQueueResponse`

commands temporal.api.command.v1.Command repeated

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

identity string

The identity of the worker/client

sticky_attributes temporal.api.taskqueue.v1.StickyExecutionAttributes

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

return_new_workflow_task bool

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

force_create_new_workflow_task bool

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

binary_checksum string

Worker process' unique binary id

query_results RespondWorkflowTaskCompletedRequest.QueryResultsEntry repeated

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

namespace string

worker_versioning_id temporal.api.taskqueue.v1.VersionId

If using versioning, worker should send the same id here that it used to poll for the workflow task. When `worker_versioning_id` has a `worker_build_id`, and `binary_checksum` is not set, that value should also be considered as the `binary_checksum`.

RespondWorkflowTaskCompletedRequest.QueryResultsEntry

FieldTypeLabelDescription
key string

value temporal.api.query.v1.WorkflowQueryResult

RespondWorkflowTaskCompletedResponse

FieldTypeLabelDescription
workflow_task PollWorkflowTaskQueueResponse

See `RespondWorkflowTaskCompletedResponse::return_new_workflow_task`

activity_tasks PollActivityTaskQueueResponse repeated

See `ScheduleActivityTaskCommandAttributes::request_start`

reset_history_event_id int64

RespondWorkflowTaskFailedRequest

FieldTypeLabelDescription
task_token bytes

The task token as received in `PollWorkflowTaskQueueResponse`

cause temporal.api.enums.v1.WorkflowTaskFailedCause

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

failure temporal.api.failure.v1.Failure

Failure details

identity string

The identity of the worker/client

binary_checksum string

Worker process' unique binary id

namespace string

RespondWorkflowTaskFailedResponse

ScanWorkflowExecutionsRequest

FieldTypeLabelDescription
namespace string

page_size int32

next_page_token bytes

query string

ScanWorkflowExecutionsResponse

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

next_page_token bytes

SignalWithStartWorkflowExecutionRequest

FieldTypeLabelDescription
namespace string

workflow_id string

workflow_type temporal.api.common.v1.WorkflowType

task_queue temporal.api.taskqueue.v1.TaskQueue

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

input temporal.api.common.v1.Payloads

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

workflow_execution_timeout google.protobuf.Duration

Total workflow execution timeout including retries and continue as new

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task

identity string

The identity of the worker/client

request_id string

Used to de-dupe signal w/ start requests

workflow_id_reuse_policy temporal.api.enums.v1.WorkflowIdReusePolicy

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 Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.

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

SignalWithStartWorkflowExecutionResponse

FieldTypeLabelDescription
run_id string

SignalWorkflowExecutionRequest

FieldTypeLabelDescription
namespace string

workflow_execution temporal.api.common.v1.WorkflowExecution

signal_name string

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

input temporal.api.common.v1.Payloads

Serialized value(s) to provide with the signal

identity string

The identity of the worker/client

request_id string

Used to de-dupe sent signals

control string

Deprecated

header temporal.api.common.v1.Header

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

SignalWorkflowExecutionResponse

StartBatchOperationRequest

FieldTypeLabelDescription
namespace string

Namespace that contains the batch operation

visibility_query string

Visibility query defines the the group of workflow to do batch operation

job_id string

Job ID defines the unique ID for the batch job

reason string

Reason to perform the batch operation

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

StartBatchOperationResponse

StartWorkflowExecutionRequest

FieldTypeLabelDescription
namespace string

workflow_id string

workflow_type temporal.api.common.v1.WorkflowType

task_queue temporal.api.taskqueue.v1.TaskQueue

input temporal.api.common.v1.Payloads

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

workflow_execution_timeout google.protobuf.Duration

Total workflow execution timeout including retries and continue as new.

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run.

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task.

identity string

The identity of the client who initiated this request

request_id string

A unique identifier for this start request. Typically UUIDv4.

workflow_id_reuse_policy temporal.api.enums.v1.WorkflowIdReusePolicy

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

StartWorkflowExecutionResponse

FieldTypeLabelDescription
run_id string

StopBatchOperationRequest

FieldTypeLabelDescription
namespace string

Namespace that contains the batch operation

job_id string

Batch job id

reason string

Reason to stop a batch operation

identity string

Identity of the operator

StopBatchOperationResponse

TerminateWorkflowExecutionRequest

FieldTypeLabelDescription
namespace string

workflow_execution temporal.api.common.v1.WorkflowExecution

reason string

details temporal.api.common.v1.Payloads

Serialized additional information to attach to the termination event

identity string

The identity of the worker/client

first_execution_run_id string

If set, this call will error if the most recent (if no run id is set on `workflow_execution`), or specified (if it is) workflow execution is not part of the same execution chain as this id.

TerminateWorkflowExecutionResponse

UpdateNamespaceRequest

(-- api-linter: core::0134::request-mask-required=disabled

aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --)

(-- api-linter: core::0134::request-resource-required=disabled

aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --)

FieldTypeLabelDescription
namespace string

update_info temporal.api.namespace.v1.UpdateNamespaceInfo

config temporal.api.namespace.v1.NamespaceConfig

replication_config temporal.api.replication.v1.NamespaceReplicationConfig

security_token string

delete_bad_binary string

promote_namespace bool

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

UpdateNamespaceResponse

FieldTypeLabelDescription
namespace_info temporal.api.namespace.v1.NamespaceInfo

config temporal.api.namespace.v1.NamespaceConfig

replication_config temporal.api.replication.v1.NamespaceReplicationConfig

failover_version int64

is_global_namespace bool

UpdateScheduleRequest

(-- api-linter: core::0134::request-mask-required=disabled

aip.dev/not-precedent: UpdateSchedule doesn't follow Google API format --)

FieldTypeLabelDescription
namespace string

The namespace of the schedule to update.

schedule_id string

The id of the schedule to update.

schedule temporal.api.schedule.v1.Schedule

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

conflict_token bytes

This can be the value of conflict_token from a DescribeScheduleResponse, which will cause this request to fail if the schedule has been modified between the Describe and this Update. If missing, the schedule will be updated unconditionally.

identity string

The identity of the client who initiated this request.

request_id string

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

UpdateScheduleResponse

UpdateWorkerBuildIdOrderingRequest

(-- api-linter: core::0134::request-mask-required=disabled

aip.dev/not-precedent: UpdateWorkerBuildIdOrderingRequest doesn't follow Google API format --)

(-- api-linter: core::0134::request-resource-required=disabled

aip.dev/not-precedent: UpdateWorkerBuildIdOrderingRequest RPC doesn't follow Google API format. --)

FieldTypeLabelDescription
namespace string

task_queue string

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

version_id temporal.api.taskqueue.v1.VersionId

The version id we are targeting.

previous_compatible temporal.api.taskqueue.v1.VersionId

When set, indicates that the `version_id` in this message is compatible with the one specified in this field. Because compatability should form a DAG, any build id can only be the "next compatible" version for one other ID of a certain type at a time, and any setting which would create a cycle is invalid.

become_default bool

When set, establishes the specified `version_id` as the default of it's type for the queue. Workers matching it will begin processing new workflow executions. The existing default will be marked as a previous incompatible version to this one, assuming it is not also in `is_compatible_with`.

UpdateWorkerBuildIdOrderingResponse

UpdateWorkflowRequest

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

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

FieldTypeLabelDescription
request_id string

A unique ID for this logical request

result_access_style temporal.api.enums.v1.WorkflowUpdateResultAccessStyle

The manner in which the update result will be accessed. This field requires a non-default value; the default value of the enum will result in an error.

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.

identity string

A string identifying the agent that requested this interaction.

input temporal.api.interaction.v1.Input

The name under which the workflow update function is registered and the arguments to pass to said function.

UpdateWorkflowResponse

FieldTypeLabelDescription
update_token bytes

An opaque token that can be used to retrieve the update result via polling if it is not returned as part of the gRPC response

output temporal.api.interaction.v1.Output

The success or failure status of the update

temporal/api/errordetails/v1/message.proto

Top

CancellationAlreadyRequestedFailure

ClientVersionNotSupportedFailure

FieldTypeLabelDescription
client_version string

client_name string

supported_versions string

NamespaceAlreadyExistsFailure

NamespaceInvalidStateFailure

FieldTypeLabelDescription
namespace string

state temporal.api.enums.v1.NamespaceState

Current state of the requested namespace.

allowed_states temporal.api.enums.v1.NamespaceState repeated

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

NamespaceNotActiveFailure

FieldTypeLabelDescription
namespace string

current_cluster string

active_cluster string

NamespaceNotFoundFailure

FieldTypeLabelDescription
namespace string

NotFoundFailure

FieldTypeLabelDescription
current_cluster string

active_cluster string

PermissionDeniedFailure

FieldTypeLabelDescription
reason string

QueryFailedFailure

ResourceExhaustedFailure

FieldTypeLabelDescription
cause temporal.api.enums.v1.ResourceExhaustedCause

ServerVersionNotSupportedFailure

FieldTypeLabelDescription
server_version string

client_supported_server_versions string

SystemWorkflowFailure

FieldTypeLabelDescription
workflow_execution temporal.api.common.v1.WorkflowExecution

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

workflow_error string

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

WorkflowExecutionAlreadyStartedFailure

FieldTypeLabelDescription
start_request_id string

run_id string

WorkflowNotReadyFailure

temporal/api/interaction/v1/message.proto

Top

Input

Input carries interaction input that comes from the caller.

FieldTypeLabelDescription
header temporal.api.common.v1.Header

Headers that are passed with the interaction to and from the processing workflow. 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.

Invocation

FieldTypeLabelDescription
meta Meta

input Input

Meta

Meta carries metadata about an interaction for use by the system (i.e. not

generall user-visible)

FieldTypeLabelDescription
id string

An ID with workflow-scoped uniqueness for this interaction

event_id int64

The event ID after which this interaction can execute. The effects of history up to and including this event ID should be visible to the interaction when it executes.

interaction_type temporal.api.enums.v1.InteractionType

The type of this interaction.

identity string

A string identifying the agent that requested this interaction.

request_id string

Output

Output carries the output data from an interaction.

FieldTypeLabelDescription
header temporal.api.common.v1.Header

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

success temporal.api.common.v1.Payloads

failure temporal.api.failure.v1.Failure

temporal/api/failure/v1/message.proto

Top

ActivityFailureInfo

FieldTypeLabelDescription
scheduled_event_id int64

started_event_id int64

identity string

activity_type temporal.api.common.v1.ActivityType

activity_id string

retry_state temporal.api.enums.v1.RetryState

ApplicationFailureInfo

FieldTypeLabelDescription
type string

non_retryable bool

details temporal.api.common.v1.Payloads

CanceledFailureInfo

FieldTypeLabelDescription
details temporal.api.common.v1.Payloads

ChildWorkflowExecutionFailureInfo

FieldTypeLabelDescription
namespace string

workflow_execution temporal.api.common.v1.WorkflowExecution

workflow_type temporal.api.common.v1.WorkflowType

initiated_event_id int64

started_event_id int64

retry_state temporal.api.enums.v1.RetryState

Failure

FieldTypeLabelDescription
message string

source string

The source this Failure originated in, e.g. TypeScriptSDK / JavaSDK In some SDKs this is used to rehydrate the stack trace into an exception object.

stack_trace string

encoded_attributes temporal.api.common.v1.Payload

Alternative way to supply `message` and `stack_trace` and possibly other attributes, used for encryption of errors originating in user code which might contain sensitive information. The `encoded_attributes` Payload could represent any serializable object, e.g. JSON object or a `Failure` proto message. SDK authors: - The SDK should provide a default `encodeFailureAttributes` and `decodeFailureAttributes` implementation that: - Uses a JSON object to represent `{ message, stack_trace }`. - Overwrites the original message with "Encoded failure" to indicate that more information could be extracted. - Overwrites the original stack_trace with an empty string. - The resulting JSON object is converted to Payload using the default PayloadConverter and should be processed by the user-provided PayloadCodec - If there's demand, we could allow overriding the default SDK implementation to encode other opaque Failure attributes. (-- api-linter: core::0203::optional=disabled --)

cause Failure

application_failure_info ApplicationFailureInfo

timeout_failure_info TimeoutFailureInfo

canceled_failure_info CanceledFailureInfo

terminated_failure_info TerminatedFailureInfo

server_failure_info ServerFailureInfo

reset_workflow_failure_info ResetWorkflowFailureInfo

activity_failure_info ActivityFailureInfo

child_workflow_execution_failure_info ChildWorkflowExecutionFailureInfo

ResetWorkflowFailureInfo

FieldTypeLabelDescription
last_heartbeat_details temporal.api.common.v1.Payloads

ServerFailureInfo

FieldTypeLabelDescription
non_retryable bool

TerminatedFailureInfo

TimeoutFailureInfo

FieldTypeLabelDescription
timeout_type temporal.api.enums.v1.TimeoutType

last_heartbeat_details temporal.api.common.v1.Payloads

temporal/api/batch/v1/message.proto

Top

BatchOperationCancellation

BatchOperationCancellation sends cancel requests to batch workflows.

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

Ignore first_execution_run_id because this is used for single workflow operation.

FieldTypeLabelDescription
identity string

The identity of the worker/client

BatchOperationDeletion

BatchOperationDeletion sends deletion requests to batch workflows.

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

FieldTypeLabelDescription
identity string

The identity of the worker/client

BatchOperationInfo

FieldTypeLabelDescription
job_id string

Batch job ID

state temporal.api.enums.v1.BatchOperationState

Batch operation state

start_time google.protobuf.Timestamp

Batch operation start time

close_time google.protobuf.Timestamp

Batch operation close time

BatchOperationSignal

BatchOperationSignal sends signals to batch workflows.

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

FieldTypeLabelDescription
signal string

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

input temporal.api.common.v1.Payloads

Serialized value(s) to provide with the signal

header temporal.api.common.v1.Header

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

identity string

The identity of the worker/client

BatchOperationTermination

BatchOperationTermination sends terminate requests to batch workflows.

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

Ignore first_execution_run_id because this is used for single workflow operation.

FieldTypeLabelDescription
details temporal.api.common.v1.Payloads

Serialized value(s) to provide to the termination event

identity string

The identity of the worker/client

temporal/api/query/v1/message.proto

Top

QueryRejected

FieldTypeLabelDescription
status temporal.api.enums.v1.WorkflowExecutionStatus

WorkflowQuery

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

FieldTypeLabelDescription
query_type string

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

query_args temporal.api.common.v1.Payloads

Serialized arguments that will be provided to the query handler.

header temporal.api.common.v1.Header

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

WorkflowQueryResult

Answer to a `WorkflowQuery`

FieldTypeLabelDescription
result_type temporal.api.enums.v1.QueryResultType

Did the query succeed or fail?

answer temporal.api.common.v1.Payloads

Set when the query succeeds with the results

error_message string

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

temporal/api/workflow/v1/message.proto

Top

NewWorkflowExecutionInfo

NewWorkflowExecutionInfo is a shared message that encapsulates all the

required arguments to starting a workflow in different contexts.

FieldTypeLabelDescription
workflow_id string

workflow_type temporal.api.common.v1.WorkflowType

task_queue temporal.api.taskqueue.v1.TaskQueue

input temporal.api.common.v1.Payloads

Serialized arguments to the workflow.

workflow_execution_timeout google.protobuf.Duration

Total workflow execution timeout including retries and continue as new.

workflow_run_timeout google.protobuf.Duration

Timeout of a single workflow run.

workflow_task_timeout google.protobuf.Duration

Timeout of a single workflow task.

workflow_id_reuse_policy temporal.api.enums.v1.WorkflowIdReusePolicy

Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.

retry_policy temporal.api.common.v1.RetryPolicy

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

cron_schedule string

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

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

header temporal.api.common.v1.Header

PendingActivityInfo

FieldTypeLabelDescription
activity_id string

activity_type temporal.api.common.v1.ActivityType

state temporal.api.enums.v1.PendingActivityState

heartbeat_details temporal.api.common.v1.Payloads

last_heartbeat_time google.protobuf.Timestamp

last_started_time google.protobuf.Timestamp

attempt int32

maximum_attempts int32

scheduled_time google.protobuf.Timestamp

expiration_time google.protobuf.Timestamp

last_failure temporal.api.failure.v1.Failure

last_worker_identity string

PendingChildExecutionInfo

FieldTypeLabelDescription
workflow_id string

run_id string

workflow_type_name string

initiated_id int64

parent_close_policy temporal.api.enums.v1.ParentClosePolicy

Default: PARENT_CLOSE_POLICY_TERMINATE.

PendingWorkflowTaskInfo

FieldTypeLabelDescription
state temporal.api.enums.v1.PendingWorkflowTaskState

scheduled_time google.protobuf.Timestamp

original_scheduled_time google.protobuf.Timestamp

original_scheduled_time is the scheduled time of the first workflow task during workflow task heartbeat. Heartbeat workflow task is done by RespondWorkflowTaskComplete with ForceCreateNewWorkflowTask == true and no command In this case, OriginalScheduledTime won't change. Then when current time - original_scheduled_time exceeds some threshold, the workflow task will be forced timeout.

started_time google.protobuf.Timestamp

attempt int32

ResetPointInfo

FieldTypeLabelDescription
binary_checksum string

run_id string

first_workflow_task_completed_id int64

create_time google.protobuf.Timestamp

expire_time google.protobuf.Timestamp

(-- api-linter: core::0214::resource-expiry=disabled aip.dev/not-precedent: TTL is not defined for ResetPointInfo. --) The time that the run is deleted due to retention.

resettable bool

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

ResetPoints

FieldTypeLabelDescription
points ResetPointInfo repeated

WorkflowExecutionConfig

FieldTypeLabelDescription
task_queue temporal.api.taskqueue.v1.TaskQueue

workflow_execution_timeout google.protobuf.Duration

workflow_run_timeout google.protobuf.Duration

default_workflow_task_timeout google.protobuf.Duration

WorkflowExecutionInfo

FieldTypeLabelDescription
execution temporal.api.common.v1.WorkflowExecution

type temporal.api.common.v1.WorkflowType

start_time google.protobuf.Timestamp

close_time google.protobuf.Timestamp

status temporal.api.enums.v1.WorkflowExecutionStatus

history_length int64

parent_namespace_id string

parent_execution temporal.api.common.v1.WorkflowExecution

execution_time google.protobuf.Timestamp

memo temporal.api.common.v1.Memo

search_attributes temporal.api.common.v1.SearchAttributes

auto_reset_points ResetPoints

task_queue string

state_transition_count int64

history_size_bytes int64

Scalar Value Types

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