openapi: 3.0.0
servers:
  - url: https://workflowexecutions.googleapis.com/
info:
  contact:
    name: Google
    url: https://google.com
    x-twitter: youtube
  description: Execute workflows created with Workflows API.
  license:
    name: Creative Commons Attribution 3.0
    url: http://creativecommons.org/licenses/by/3.0/
  termsOfService: https://developers.google.com/terms/
  title: Workflow Executions API
  version: v1
  x-apisguru-categories:
    - analytics
    - media
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_upload.wikimedia.org_wikipedia_commons_e_e1_YouTube_play_buttom_icon_%282013-2017%29.svg
  x-origin:
    - format: openapi
      url: https://workflowexecutions.googleapis.com/$discovery/rest?version=v1
      version: "3.0"
  x-preferred: false
  x-providerName: googleapis.com
  x-serviceName: workflowexecutions
externalDocs:
  url: https://cloud.google.com/workflows
tags:
  - name: projects
paths:
  "/v1/{name}":
    get:
      description: Returns an execution of the given name.
      operationId: workflowexecutions.projects.locations.workflows.executions.get
      parameters:
        - description: "Required. Name of the execution to be retrieved. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}"
          in: path
          name: name
          required: true
          schema:
            type: string
        - description: Optional. A view defining which fields should be filled in the returned execution. The API will default to the FULL view.
          in: query
          name: view
          schema:
            enum:
              - EXECUTION_VIEW_UNSPECIFIED
              - BASIC
              - FULL
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Execution"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - projects
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  "/v1/{name}:cancel":
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Cancels an execution of the given name.
      operationId: workflowexecutions.projects.locations.workflows.executions.cancel
      parameters:
        - description: "Required. Name of the execution to be cancelled. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}"
          in: path
          name: name
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CancelExecutionRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Execution"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - projects
  "/v1/{parent}/executions":
    get:
      description: Returns a list of executions which belong to the workflow with the given name. The method returns executions of all workflow revisions. Returned executions are ordered by their start time (newest first).
      operationId: workflowexecutions.projects.locations.workflows.executions.list
      parameters:
        - description: "Required. Name of the workflow for which the executions should be listed. Format: projects/{project}/locations/{location}/workflows/{workflow}"
          in: path
          name: parent
          required: true
          schema:
            type: string
        - description: "Optional. Filters applied to the [Executions.ListExecutions] results. The following fields are supported for filtering: executionID, state, startTime, endTime, duration, workflowRevisionID, stepName, and label."
          in: query
          name: filter
          schema:
            type: string
        - description: "Optional. The ordering applied to the [Executions.ListExecutions] results. By default the ordering is based on descending start time. The following fields are supported for order by: executionID, startTime, endTime, duration, state, and workflowRevisionID."
          in: query
          name: orderBy
          schema:
            type: string
        - description: "Maximum number of executions to return per call. Max supported value depends on the selected Execution view: it's 1000 for BASIC and 100 for FULL. The default value used if the field is not specified is 100, regardless of the selected view. Values greater than the max value will be coerced down to it."
          in: query
          name: pageSize
          schema:
            type: integer
        - description: A page token, received from a previous `ListExecutions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListExecutions` must match the call that provided the page token. Note that pagination is applied to dynamic data. The list of executions returned can change between page requests.
          in: query
          name: pageToken
          schema:
            type: string
        - description: Optional. A view defining which fields should be filled in the returned executions. The API will default to the BASIC view.
          in: query
          name: view
          schema:
            enum:
              - EXECUTION_VIEW_UNSPECIFIED
              - BASIC
              - FULL
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ListExecutionsResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - projects
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Creates a new execution using the latest revision of the given workflow.
      operationId: workflowexecutions.projects.locations.workflows.executions.create
      parameters:
        - description: "Required. Name of the workflow for which an execution should be created. Format: projects/{project}/locations/{location}/workflows/{workflow} The latest revision of the workflow will be used."
          in: path
          name: parent
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Execution"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Execution"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - projects
  "/v1/{workflow}:triggerPubsubExecution":
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Triggers a new execution using the latest revision of the given workflow by a Pub/Sub push notification.
      operationId: workflowexecutions.projects.locations.workflows.triggerPubsubExecution
      parameters:
        - description: "Required. Name of the workflow for which an execution should be created. Format: projects/{project}/locations/{location}/workflows/{workflow}"
          in: path
          name: workflow
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TriggerPubsubExecutionRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Execution"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/cloud-platform
          Oauth2c:
            - https://www.googleapis.com/auth/cloud-platform
      tags:
        - projects
components:
  parameters:
    _.xgafv:
      description: V1 error format.
      in: query
      name: $.xgafv
      schema:
        enum:
          - "1"
          - "2"
        type: string
    access_token:
      description: OAuth access token.
      in: query
      name: access_token
      schema:
        type: string
    alt:
      description: Data format for response.
      in: query
      name: alt
      schema:
        enum:
          - json
          - media
          - proto
        type: string
    callback:
      description: JSONP
      in: query
      name: callback
      schema:
        type: string
    fields:
      description: Selector specifying which fields to include in a partial response.
      in: query
      name: fields
      schema:
        type: string
    key:
      description: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
      in: query
      name: key
      schema:
        type: string
    oauth_token:
      description: OAuth 2.0 token for the current user.
      in: query
      name: oauth_token
      schema:
        type: string
    prettyPrint:
      description: Returns response with indentations and line breaks.
      in: query
      name: prettyPrint
      schema:
        type: boolean
    quotaUser:
      description: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
      in: query
      name: quotaUser
      schema:
        type: string
    uploadType:
      description: Legacy upload protocol for media (e.g. "media", "multipart").
      in: query
      name: uploadType
      schema:
        type: string
    upload_protocol:
      description: Upload protocol for media (e.g. "raw", "multipart").
      in: query
      name: upload_protocol
      schema:
        type: string
  schemas:
    CancelExecutionRequest:
      description: Request for the CancelExecution method.
      properties: {}
      type: object
    Error:
      description: Error describes why the execution was abnormally terminated.
      properties:
        context:
          description: Human-readable stack trace string.
          type: string
        payload:
          description: Error message and data returned represented as a JSON string.
          type: string
        stackTrace:
          $ref: "#/components/schemas/StackTrace"
          description: Stack trace with detailed information of where error was generated.
      type: object
    Execution:
      description: A running instance of a [Workflow](/workflows/docs/reference/rest/v1/projects.locations.workflows).
      properties:
        argument:
          description: "Input parameters of the execution represented as a JSON string. The size limit is 32KB. *Note*: If you are using the REST API directly to run your workflow, you must escape any JSON string value of `argument`. Example: `'{\"argument\":\"{\\\"firstName\\\":\\\"FIRST\\\",\\\"lastName\\\":\\\"LAST\\\"}\"}'`"
          type: string
        callLogLevel:
          description: The call logging level associated to this execution.
          enum:
            - CALL_LOG_LEVEL_UNSPECIFIED
            - LOG_ALL_CALLS
            - LOG_ERRORS_ONLY
            - LOG_NONE
          type: string
        duration:
          description: Output only. Measures the duration of the execution.
          format: google-duration
          readOnly: true
          type: string
        endTime:
          description: Output only. Marks the end of execution, successful or not.
          format: google-datetime
          readOnly: true
          type: string
        error:
          $ref: "#/components/schemas/Error"
          description: Output only. The error which caused the execution to finish prematurely. The value is only present if the execution's state is `FAILED` or `CANCELLED`.
          readOnly: true
        labels:
          additionalProperties:
            type: string
          description: Labels associated with this execution. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, and dashes. Label keys must start with a letter. International characters are allowed. By default, labels are inherited from the workflow but are overridden by any labels associated with the execution.
          type: object
        name:
          description: "Output only. The resource name of the execution. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}"
          readOnly: true
          type: string
        result:
          description: Output only. Output of the execution represented as a JSON string. The value can only be present if the execution's state is `SUCCEEDED`.
          readOnly: true
          type: string
        startTime:
          description: Output only. Marks the beginning of execution.
          format: google-datetime
          readOnly: true
          type: string
        state:
          description: Output only. Current state of the execution.
          enum:
            - STATE_UNSPECIFIED
            - ACTIVE
            - SUCCEEDED
            - FAILED
            - CANCELLED
            - UNAVAILABLE
          readOnly: true
          type: string
        stateError:
          $ref: "#/components/schemas/StateError"
          description: Output only. Error regarding the state of the Execution resource. For example, this field will have error details if the Execution data is unavailable due to revoked KMS key permissions.
          readOnly: true
        status:
          $ref: "#/components/schemas/Status"
          description: Output only. Status tracks the current steps and progress data of this execution.
          readOnly: true
        workflowRevisionId:
          description: Output only. Revision of the workflow this execution is using.
          readOnly: true
          type: string
      type: object
    ListExecutionsResponse:
      description: Response for the ListExecutions method.
      properties:
        executions:
          description: The executions which match the request.
          items:
            $ref: "#/components/schemas/Execution"
          type: array
        nextPageToken:
          description: A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
          type: string
      type: object
    Position:
      description: Position contains source position information about the stack trace element such as line number, column number and length of the code block in bytes.
      properties:
        column:
          description: The source code column position (of the line) the current instruction was generated from.
          format: int64
          type: string
        length:
          description: The number of bytes of source code making up this stack trace element.
          format: int64
          type: string
        line:
          description: The source code line number the current instruction was generated from.
          format: int64
          type: string
      type: object
    PubsubMessage:
      description: A message that is published by publishers and consumed by subscribers. The message must contain either a non-empty data field or at least one attribute. Note that client libraries represent this object differently depending on the language. See the corresponding [client library documentation](https://cloud.google.com/pubsub/docs/reference/libraries) for more information. See [quotas and limits] (https://cloud.google.com/pubsub/quotas) for more information about message limits.
      properties:
        attributes:
          additionalProperties:
            type: string
          description: Attributes for this message. If this field is empty, the message must contain non-empty data. This can be used to filter messages on the subscription.
          type: object
        data:
          description: The message data field. If this field is empty, the message must contain at least one attribute.
          format: byte
          type: string
        messageId:
          description: ID of this message, assigned by the server when the message is published. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a `PubsubMessage` via a `Pull` call or a push delivery. It must not be populated by the publisher in a `Publish` call.
          type: string
        orderingKey:
          description: If non-empty, identifies related messages for which publish order should be respected. If a `Subscription` has `enable_message_ordering` set to `true`, messages published with the same non-empty `ordering_key` value will be delivered to subscribers in the order in which they are received by the Pub/Sub system. All `PubsubMessage`s published in a given `PublishRequest` must specify the same `ordering_key` value. For more information, see [ordering messages](https://cloud.google.com/pubsub/docs/ordering).
          type: string
        publishTime:
          description: The time at which the message was published, populated by the server when it receives the `Publish` call. It must not be populated by the publisher in a `Publish` call.
          format: google-datetime
          type: string
      type: object
    StackTrace:
      description: A collection of stack elements (frames) where an error occurred.
      properties:
        elements:
          description: An array of stack elements.
          items:
            $ref: "#/components/schemas/StackTraceElement"
          type: array
      type: object
    StackTraceElement:
      description: A single stack element (frame) where an error occurred.
      properties:
        position:
          $ref: "#/components/schemas/Position"
          description: The source position information of the stack trace element.
        routine:
          description: The routine where the error occurred.
          type: string
        step:
          description: The step the error occurred at.
          type: string
      type: object
    StateError:
      description: Describes an error related to the current state of the Execution resource.
      properties:
        details:
          description: Provides specifics about the error.
          type: string
        type:
          description: The type of this state error.
          enum:
            - TYPE_UNSPECIFIED
            - KMS_ERROR
          type: string
      type: object
    Status:
      description: Represents the current status of this execution.
      properties:
        currentSteps:
          description: A list of currently executing or last executed step names for the workflow execution currently running. If the workflow has succeeded or failed, this is the last attempted or executed step. Presently, if the current step is inside a subworkflow, the list only includes that step. In the future, the list will contain items for each step in the call stack, starting with the outermost step in the `main` subworkflow, and ending with the most deeply nested step.
          items:
            $ref: "#/components/schemas/Step"
          type: array
      type: object
    Step:
      description: Represents a step of the workflow this execution is running.
      properties:
        routine:
          description: Name of a routine within the workflow.
          type: string
        step:
          description: Name of a step within the routine.
          type: string
      type: object
    TriggerPubsubExecutionRequest:
      description: Request for the TriggerPubsubExecution method.
      properties:
        GCPCloudEventsMode:
          description: "Required. LINT: LEGACY_NAMES The query parameter value for __GCP_CloudEventsMode, set by the Eventarc service when configuring triggers."
          type: string
        message:
          $ref: "#/components/schemas/PubsubMessage"
          description: Required. The message of the Pub/Sub push notification.
        subscription:
          description: "Required. The subscription of the Pub/Sub push notification. Format: projects/{project}/subscriptions/{sub}"
          type: string
      type: object
  securitySchemes:
    Oauth2:
      description: Oauth 2.0 implicit authentication
      flows:
        implicit:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          scopes:
            https://www.googleapis.com/auth/cloud-platform: See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
      type: oauth2
    Oauth2c:
      description: Oauth 2.0 authorizationCode authentication
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          scopes:
            https://www.googleapis.com/auth/cloud-platform: See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
          tokenUrl: https://accounts.google.com/o/oauth2/token
      type: oauth2
