> ## Documentation Index
> Fetch the complete documentation index at: https://docs.domino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Indicates a WorkflowExecutionEvent has occurred.

> Create a workflow execution event recording a phase transition.



## OpenAPI

````yaml /api-specs/6.3/flyte-native-api.json post /api/v1/events/workflows
openapi: 3.0.3
info:
  description: >-
    Reference for the upstream Flyte control plane API, which backs Domino
    Flows.
  title: Flyte native API
  version: version not set
servers:
  - description: >-
      Replace 'mycluster.domino.tech' with your Domino cluster hostname. For
      Domino Cloud customers, that is `your-subdomain`.domino.tech (e.g.,
      acme.domino.tech). For self-hosted deployments, it is the hostname you
      reach the Domino UI at.
    url: https://mycluster.domino.tech/flows
security: []
tags:
  - name: Children
  - name: Data
  - name: Description entities
  - name: Domains
  - name: Events
  - name: Executions
  - name: Launch plans
  - name: Matchable attributes
  - name: Metrics
  - name: Named entities
  - name: Node executions
  - name: Project attributes
  - name: Project domain attributes
  - name: Projects
  - name: Task executions
  - name: Tasks
  - name: Version
  - name: Workflow attributes
  - name: Workflows
paths:
  /api/v1/events/workflows:
    post:
      tags:
        - Events
      summary: Indicates a WorkflowExecutionEvent has occurred.
      description: Create a workflow execution event recording a phase transition.
      operationId: AdminService_CreateWorkflowEvent
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/adminWorkflowExecutionEventRequest'
        description: >-
          Request to send a notification that a workflow execution event has
          occurred.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/adminWorkflowExecutionEventResponse'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
components:
  schemas:
    adminWorkflowExecutionEventRequest:
      description: >-
        Request to send a notification that a workflow execution event has
        occurred.
      properties:
        event:
          $ref: '#/components/schemas/eventWorkflowExecutionEvent'
        request_id:
          title: Unique ID for this request that can be traced between services
          type: string
      type: object
    adminWorkflowExecutionEventResponse:
      description: Purposefully empty, may be populated in the future.
      type: object
    googlerpcStatus:
      properties:
        code:
          format: int32
          type: integer
        details:
          items:
            $ref: '#/components/schemas/protobufAny'
          type: array
        message:
          type: string
      type: object
    eventWorkflowExecutionEvent:
      properties:
        error:
          $ref: '#/components/schemas/coreExecutionError'
        execution_id:
          $ref: '#/components/schemas/coreWorkflowExecutionIdentifier'
        occurred_at:
          description: >-
            This timestamp represents when the original event occurred, it is
            generated

            by the executor of the workflow.
          format: date-time
          type: string
        output_data:
          $ref: '#/components/schemas/coreLiteralMap'
        output_uri:
          description: |-
            URL to the output of the execution, it encodes all the information
            including Cloud source provider. ie., s3://...
          type: string
        phase:
          $ref: '#/components/schemas/coreWorkflowExecutionPhase'
        producer_id:
          title: the id of the originator (Propeller) of the event
          type: string
      type: object
    protobufAny:
      additionalProperties: {}
      description: >-
        `Any` contains an arbitrary serialized protocol buffer message along
        with a

        URL that describes the type of the serialized message.


        Protobuf library provides support to pack/unpack Any values in the form

        of utility functions or additional generated methods of the Any type.


        Example 1: Pack and unpack a message in C++.

            Foo foo = ...;
            Any any;
            any.PackFrom(foo);
            ...
            if (any.UnpackTo(&foo)) {
              ...
            }

        Example 2: Pack and unpack a message in Java.

            Foo foo = ...;
            Any any = Any.pack(foo);
            ...
            if (any.is(Foo.class)) {
              foo = any.unpack(Foo.class);
            }
            // or ...
            if (any.isSameTypeAs(Foo.getDefaultInstance())) {
              foo = any.unpack(Foo.getDefaultInstance());
            }

         Example 3: Pack and unpack a message in Python.

            foo = Foo(...)
            any = Any()
            any.Pack(foo)
            ...
            if any.Is(Foo.DESCRIPTOR):
              any.Unpack(foo)
              ...

         Example 4: Pack and unpack a message in Go

             foo := &pb.Foo{...}
             any, err := anypb.New(foo)
             if err != nil {
               ...
             }
             ...
             foo := &pb.Foo{}
             if err := any.UnmarshalTo(foo); err != nil {
               ...
             }

        The pack methods provided by protobuf library will by default use

        'type.googleapis.com/full.type.name' as the type URL and the unpack

        methods only use the fully qualified type name after the last '/'

        in the type URL, for example "foo.bar.com/x/y.z" will yield type

        name "y.z".


        JSON

        ====

        The JSON representation of an `Any` value uses the regular

        representation of the deserialized, embedded message, with an

        additional field `@type` which contains the type URL. Example:

            package google.profile;
            message Person {
              string first_name = 1;
              string last_name = 2;
            }

            {
              "@type": "type.googleapis.com/google.profile.Person",
              "firstName": <string>,
              "lastName": <string>
            }

        If the embedded message type is well-known and has a custom JSON

        representation, that representation will be embedded adding a field

        `value` which holds the custom JSON in addition to the `@type`

        field. Example (for message [google.protobuf.Duration][]):

            {
              "@type": "type.googleapis.com/google.protobuf.Duration",
              "value": "1.212s"
            }
      properties:
        '@type':
          description: >-
            A URL/resource name that uniquely identifies the type of the
            serialized

            protocol buffer message. This string must contain at least

            one "/" character. The last segment of the URL's path must represent

            the fully qualified name of the type (as in

            `path/google.protobuf.Duration`). The name should be in a canonical
            form

            (e.g., leading "." is not accepted).


            In practice, teams usually precompile into the binary all types that
            they

            expect it to use in the context of Any. However, for URLs which use
            the

            scheme `http`, `https`, or no scheme, one can optionally set up a
            type

            server that maps type URLs to message definitions as follows:


            * If no scheme is provided, `https` is assumed.

            * An HTTP GET on the URL must yield a [google.protobuf.Type][]
              value in binary format, or produce an error.
            * Applications are allowed to cache lookup results based on the
              URL, or have them precompiled into a binary to avoid any
              lookup. Therefore, binary compatibility needs to be preserved
              on changes to types. (Use versioned type names to manage
              breaking changes.)

            Note: this functionality is not currently available in the official

            protobuf release, and it is not used for type URLs beginning with

            type.googleapis.com. As of May 2023, there are no widely used type
            server

            implementations and no plans to implement one.


            Schemes other than `http`, `https` (or the empty scheme) might be

            used with implementation specific semantics.
          type: string
      type: object
    coreExecutionError:
      description: Represents the error message from the execution.
      properties:
        code:
          title: |-
            Error code indicates a grouping of a type of error.
            More Info: <Link>
          type: string
        error_uri:
          title: Full error contents accessible via a URI
          type: string
        kind:
          $ref: '#/components/schemas/ExecutionErrorErrorKind'
        message:
          description: Detailed description of the error - including stack trace.
          type: string
        timestamp:
          format: date-time
          title: Timestamp of the error
          type: string
        worker:
          title: Worker that generated the error
          type: string
      type: object
    coreWorkflowExecutionIdentifier:
      properties:
        domain:
          description: |-
            Name of the domain the resource belongs to.
            A domain can be considered as a subset within a specific project.
          type: string
        name:
          description: User or system provided value for the resource.
          type: string
        org:
          description: Optional, org key applied to the resource.
          type: string
        project:
          description: Name of the project the resource belongs to.
          type: string
      title: >-
        Encapsulation of fields that uniquely identifies a Flyte workflow
        execution
      type: object
    coreLiteralMap:
      description: >-
        A map of literals. This is a workaround since oneofs in proto messages
        cannot contain a repeated field.
      properties:
        literals:
          additionalProperties:
            $ref: '#/components/schemas/coreLiteral'
          type: object
      type: object
    coreWorkflowExecutionPhase:
      default: UNDEFINED
      enum:
        - UNDEFINED
        - QUEUED
        - RUNNING
        - SUCCEEDING
        - SUCCEEDED
        - FAILING
        - FAILED
        - ABORTED
        - TIMED_OUT
        - ABORTING
      type: string
    ExecutionErrorErrorKind:
      default: UNKNOWN
      enum:
        - UNKNOWN
        - USER
        - SYSTEM
      title: 'Error type: System or User'
      type: string
    coreLiteral:
      description: >-
        A simple value. This supports any level of nesting (e.g. array of array
        of array of Blobs) as well as simple primitives.
      properties:
        collection:
          $ref: '#/components/schemas/coreLiteralCollection'
        hash:
          title: >-
            A hash representing this literal.

            This is used for caching purposes. For more details refer to RFC
            1893

            (https://github.com/flyteorg/flyte/blob/master/rfc/system/1893-caching-of-offloaded-objects.md)
          type: string
        map:
          $ref: '#/components/schemas/coreLiteralMap'
        metadata:
          additionalProperties:
            type: string
          description: Additional metadata for literals.
          type: object
        offloaded_metadata:
          $ref: '#/components/schemas/coreLiteralOffloadedMetadata'
        scalar:
          $ref: '#/components/schemas/coreScalar'
      type: object
    coreLiteralCollection:
      description: >-
        A collection of literals. This is a workaround since oneofs in proto
        messages cannot contain a repeated field.
      properties:
        literals:
          items:
            $ref: '#/components/schemas/coreLiteral'
          type: array
      type: object
    coreLiteralOffloadedMetadata:
      description: A message that contains the metadata of the offloaded data.
      properties:
        inferred_type:
          $ref: '#/components/schemas/coreLiteralType'
        size_bytes:
          description: The size of the offloaded data.
          format: uint64
          type: string
        uri:
          description: The location of the offloaded core.Literal.
          type: string
      type: object
    coreScalar:
      properties:
        binary:
          $ref: '#/components/schemas/coreBinary'
        blob:
          $ref: '#/components/schemas/coreBlob'
        error:
          $ref: '#/components/schemas/coreError'
        generic:
          type: object
        none_type:
          $ref: '#/components/schemas/coreVoid'
        primitive:
          $ref: '#/components/schemas/corePrimitive'
        schema:
          $ref: '#/components/schemas/flyteidlcoreSchema'
        structured_dataset:
          $ref: '#/components/schemas/coreStructuredDataset'
        union:
          $ref: '#/components/schemas/coreUnion'
      type: object
    coreLiteralType:
      description: Defines a strong type to allow type checking between interfaces.
      properties:
        annotation:
          $ref: '#/components/schemas/coreTypeAnnotation'
        blob:
          $ref: '#/components/schemas/coreBlobType'
        collection_type:
          $ref: '#/components/schemas/coreLiteralType'
        enum_type:
          $ref: '#/components/schemas/flyteidlcoreEnumType'
        map_value_type:
          $ref: '#/components/schemas/coreLiteralType'
        metadata:
          description: >-
            This field contains type metadata that is descriptive of the type,
            but is NOT considered in type-checking.  This might be used by

            consumers to identify special behavior or display extended
            information for the type.
          type: object
        schema:
          $ref: '#/components/schemas/coreSchemaType'
        simple:
          $ref: '#/components/schemas/coreSimpleType'
        structure:
          $ref: '#/components/schemas/coreTypeStructure'
        structured_dataset_type:
          $ref: '#/components/schemas/coreStructuredDatasetType'
        union_type:
          $ref: '#/components/schemas/coreUnionType'
      type: object
    coreBinary:
      description: >-
        A simple byte array with a tag to help different parts of the system
        communicate about what is in the byte array.

        It's strongly advisable that consumers of this type define a unique tag
        and validate the tag before parsing the data.
      properties:
        tag:
          description: >-
            The serialization format identifier (e.g., MessagePack). Consumers
            must define unique tags and validate them before deserialization.
          type: string
        value:
          description: >-
            Serialized data (MessagePack) for supported types like Dataclass,
            Pydantic BaseModel, and untyped dict.
          format: byte
          type: string
      type: object
    coreBlob:
      description: >-
        Refers to an offloaded set of files. It encapsulates the type of the
        store and a unique uri for where the data is.

        There are no restrictions on how the uri is formatted since it will
        depend on how to interact with the store.
      properties:
        metadata:
          $ref: '#/components/schemas/coreBlobMetadata'
        uri:
          type: string
      type: object
    coreError:
      description: Represents an error thrown from a node.
      properties:
        failed_node_id:
          description: The node id that threw the error.
          type: string
        message:
          description: Error message thrown.
          type: string
      type: object
    coreVoid:
      description: >-
        Used to denote a nil/null/None assignment to a scalar value. The
        underlying LiteralType for Void is intentionally

        undefined since it can be assigned to a scalar of any LiteralType.
      type: object
    corePrimitive:
      properties:
        boolean:
          type: boolean
        datetime:
          format: date-time
          type: string
        duration:
          type: string
        float_value:
          format: double
          type: number
        integer:
          format: int64
          type: string
        string_value:
          type: string
      title: Primitive Types
      type: object
    flyteidlcoreSchema:
      description: >-
        A strongly typed schema that defines the interface of data retrieved
        from the underlying storage medium.
      properties:
        type:
          $ref: '#/components/schemas/coreSchemaType'
        uri:
          type: string
      type: object
    coreStructuredDataset:
      properties:
        metadata:
          $ref: '#/components/schemas/coreStructuredDatasetMetadata'
        uri:
          title: >-
            String location uniquely identifying where the data is.

            Should start with the storage location (e.g. s3://, gs://, bq://,
            etc.)
          type: string
      type: object
    coreUnion:
      description: >-
        The runtime representation of a tagged union value. See `UnionType` for
        more details.
      properties:
        type:
          $ref: '#/components/schemas/coreLiteralType'
        value:
          $ref: '#/components/schemas/coreLiteral'
      type: object
    coreTypeAnnotation:
      description: >-
        TypeAnnotation encapsulates registration time information about a type.
        This can be used for various control-plane operations. TypeAnnotation
        will not be available at runtime when a task runs.
      properties:
        annotations:
          description: A arbitrary JSON payload to describe a type.
          type: object
      type: object
    coreBlobType:
      properties:
        dimensionality:
          $ref: '#/components/schemas/BlobTypeBlobDimensionality'
        format:
          title: |-
            Format can be a free form string understood by SDK/UI etc like
            csv, parquet etc
          type: string
      title: Defines type behavior for blob objects
      type: object
    flyteidlcoreEnumType:
      description: >-
        Enables declaring enum types, with predefined string values

        For len(values) > 0, the first value in the ordered list is regarded as
        the default value. If you wish

        To provide no defaults, make the first value as undefined.
      properties:
        values:
          description: Predefined set of enum values.
          items:
            type: string
          type: array
      type: object
    coreSchemaType:
      description: >-
        Defines schema columns and types to strongly type-validate schemas
        interoperability.
      properties:
        columns:
          description: A list of ordered columns this schema comprises of.
          items:
            $ref: '#/components/schemas/SchemaTypeSchemaColumn'
          type: array
      type: object
    coreSimpleType:
      default: NONE
      description: Define a set of simple types.
      enum:
        - NONE
        - INTEGER
        - FLOAT
        - STRING
        - BOOLEAN
        - DATETIME
        - DURATION
        - BINARY
        - ERROR
        - STRUCT
      type: string
    coreTypeStructure:
      description: |-
        Hints to improve type matching
        e.g. allows distinguishing output from custom type transformers
        even if the underlying IDL serialization matches.
      properties:
        dataclass_type:
          additionalProperties:
            $ref: '#/components/schemas/coreLiteralType'
          title: >-
            dataclass_type only exists for dataclasses.

            This is used to resolve the type of the fields of dataclass

            The key is the field name, and the value is the literal type of the
            field

            e.g. For dataclass Foo, with fields a, and a is a string

            Foo.a will be resolved as a literal type of string from
            dataclass_type
          type: object
        tag:
          title: Must exactly match for types to be castable
          type: string
      type: object
    coreStructuredDatasetType:
      properties:
        columns:
          description: A list of ordered columns this schema comprises of.
          items:
            $ref: '#/components/schemas/StructuredDatasetTypeDatasetColumn'
          type: array
        external_schema_bytes:
          description: |-
            The serialized bytes of a third-party schema library like Arrow.
            This is an optional field that will not be used for type checking.
          format: byte
          type: string
        external_schema_type:
          description: >-
            This is a string representing the type that the bytes in
            external_schema_bytes are formatted in.

            This is an optional field that will not be used for type checking.
          type: string
        format:
          description: >-
            This is the storage format, the format of the bits at rest

            parquet, feather, csv, etc.

            For two types to be compatible, the format will need to be an exact
            match.
          type: string
      type: object
    coreUnionType:
      description: >-
        Defines a tagged union type, also known as a variant (and formally as
        the sum type).


        A sum type S is defined by a sequence of types (A, B, C, ...), each
        tagged by a string tag

        A value of type S is constructed from a value of any of the variant
        types. The specific choice of type is recorded by

        storing the varaint's tag with the literal value and can be examined in
        runtime.


        Type S is typically written as

        S := Apple A | Banana B | Cantaloupe C | ...


        Notably, a nullable (optional) type is a sum type between some type X
        and the singleton type representing a null-value:

        Optional X := X | Null


        See also: https://en.wikipedia.org/wiki/Tagged_union
      properties:
        variants:
          description: Predefined set of variants in union.
          items:
            $ref: '#/components/schemas/coreLiteralType'
          type: array
      type: object
    coreBlobMetadata:
      properties:
        type:
          $ref: '#/components/schemas/coreBlobType'
      type: object
    coreStructuredDatasetMetadata:
      properties:
        structured_dataset_type:
          $ref: '#/components/schemas/coreStructuredDatasetType'
      type: object
    BlobTypeBlobDimensionality:
      default: SINGLE
      enum:
        - SINGLE
        - MULTIPART
      type: string
    SchemaTypeSchemaColumn:
      properties:
        name:
          title: A unique name -within the schema type- for the column
          type: string
        type:
          $ref: '#/components/schemas/SchemaColumnSchemaColumnType'
      type: object
    StructuredDatasetTypeDatasetColumn:
      properties:
        literal_type:
          $ref: '#/components/schemas/coreLiteralType'
        name:
          description: A unique name within the schema type for the column.
          type: string
      type: object
    SchemaColumnSchemaColumnType:
      default: INTEGER
      enum:
        - INTEGER
        - FLOAT
        - STRING
        - BOOLEAN
        - DATETIME
        - DURATION
      type: string

````

## Related topics

- [Indicates a NodeExecutionEvent has occurred.](/6.3/api-reference/events/indicates-a-nodeexecutionevent-has-occurred.md)
- [Indicates a TaskExecutionEvent has occurred.](/6.3/api-reference/events/indicates-a-taskexecutionevent-has-occurred.md)
- [Fetches a TaskExecution.](/6.3/api-reference/task-executions/fetches-a-taskexecution.md)
- [Fetch a list of NodeExecution.](/6.3/api-reference/node-executions/fetch-a-list-of-nodeexecution.md)
