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

# Fetch a list of Task definitions (by name)

> Fetch existing task definitions matching input filters.



## OpenAPI

````yaml /api-specs/cloud/flyte-native-api.json get /api/v1/tasks/{id.project}/{id.domain}/{id.name}
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/tasks/{id.project}/{id.domain}/{id.name}:
    get:
      tags:
        - Tasks
      summary: Fetch a list of Task definitions (by name)
      description: Fetch existing task definitions matching input filters.
      operationId: AdminService_ListTasks
      parameters:
        - description: Name of the project the resource belongs to.
          in: path
          name: id.project
          required: true
          schema:
            type: string
        - description: |-
            Name of the domain the resource belongs to.
            A domain can be considered as a subset within a specific project.
          in: path
          name: id.domain
          required: true
          schema:
            type: string
        - description: >-
            User provided value for the resource.

            The combination of project + domain + name uniquely identifies the
            resource.

            +optional - in certain contexts - like 'List API', 'Launch plans'
          in: path
          name: id.name
          required: true
          schema:
            type: string
        - description: Optional, org key applied to the resource.
          in: query
          name: id.org
          required: false
          schema:
            type: string
        - description: |-
            Indicates the number of resources to be returned.
            +required
          in: query
          name: limit
          required: false
          schema:
            format: int64
            type: integer
        - description: >-
            In the case of multiple pages of results, this server-provided token
            can be used to fetch the next page

            in a query.

            +optional
          in: query
          name: token
          required: false
          schema:
            type: string
        - description: |-
            Indicates a list of filters passed as string.
            More info on constructing filters : <Link>
            +optional
          in: query
          name: filters
          required: false
          schema:
            type: string
        - description: |-
            Indicates an attribute to sort the response values.
            +required
          in: query
          name: sort_by.key
          required: false
          schema:
            type: string
        - description: |-
            Indicates the direction to apply sort key for response values.
            +optional

             - DESCENDING: By default, fields are sorted in descending order.
          in: query
          name: sort_by.direction
          required: false
          schema:
            default: DESCENDING
            enum:
              - DESCENDING
              - ASCENDING
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/adminTaskList'
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
          description: An unexpected error response.
components:
  schemas:
    adminTaskList:
      properties:
        tasks:
          description: A list of tasks returned based on the request.
          items:
            $ref: '#/components/schemas/adminTask'
          type: array
        token:
          description: >-
            In the case of multiple pages of results, the server-provided token
            can be used to fetch the next page

            in a query. If there are no more results, this value will be empty.
          type: string
      title: |-
        Represents a list of tasks returned from the admin.
        See Task for more details
      type: object
    googlerpcStatus:
      properties:
        code:
          format: int32
          type: integer
        details:
          items:
            $ref: '#/components/schemas/protobufAny'
          type: array
        message:
          type: string
      type: object
    adminTask:
      description: >-
        Flyte workflows are composed of many ordered tasks. That is small,
        reusable, self-contained logical blocks

        arranged to process workflow inputs and produce a deterministic set of
        outputs.

        Tasks can come in many varieties tuned for specialized behavior.
      properties:
        closure:
          $ref: '#/components/schemas/adminTaskClosure'
        id:
          $ref: '#/components/schemas/coreIdentifier'
        short_description:
          description: One-liner overview of the entity.
          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
    adminTaskClosure:
      description: >-
        Compute task attributes which include values derived from the TaskSpec,
        as well as plugin-specific data

        and task metadata.
      properties:
        compiled_task:
          $ref: '#/components/schemas/coreCompiledTask'
        created_at:
          description: Time at which the task was created.
          format: date-time
          type: string
      type: object
    coreIdentifier:
      description: Encapsulation of fields that uniquely identifies a Flyte resource.
      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 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
        resource_type:
          $ref: '#/components/schemas/coreResourceType'
        version:
          description: Specific version of the resource.
          type: string
      type: object
    coreCompiledTask:
      properties:
        template:
          $ref: '#/components/schemas/coreTaskTemplate'
      title: >-
        Output of the Compilation step. This object represent one Task. We store
        more metadata at this layer
      type: object
    coreResourceType:
      default: UNSPECIFIED
      description: >-
        Indicates a resource type within Flyte.

         - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects.
        Eventually all Catalog objects should be modeled similar to Flyte
        Objects. The Dataset entities makes it possible for the UI  and CLI to
        act on the objects 

        in a similar manner to other Flyte objects
      enum:
        - UNSPECIFIED
        - TASK
        - WORKFLOW
        - LAUNCH_PLAN
        - DATASET
      type: string
    coreTaskTemplate:
      description: |-
        A Task structure that uniquely identifies a task in the system
        Tasks are registered as a first step in the system.
      properties:
        config:
          additionalProperties:
            type: string
          title: >-
            Metadata about the custom defined for this task. This is extensible
            to allow various plugins in the system

            to use as required.

            reserve the field numbers 1 through 15 for very frequently occurring
            message elements
          type: object
        container:
          $ref: '#/components/schemas/coreContainer'
        custom:
          description: >-
            Custom data about the task. This is extensible to allow various
            plugins in the system.
          type: object
        extended_resources:
          $ref: '#/components/schemas/coreExtendedResources'
        id:
          $ref: '#/components/schemas/coreIdentifier'
        interface:
          $ref: '#/components/schemas/coreTypedInterface'
        k8s_pod:
          $ref: '#/components/schemas/coreK8sPod'
        metadata:
          $ref: '#/components/schemas/coreTaskMetadata'
        security_context:
          $ref: '#/components/schemas/coreSecurityContext'
        sql:
          $ref: '#/components/schemas/coreSql'
        task_type_version:
          description: >-
            This can be used to customize task handling at execution time for
            the same task type.
          format: int32
          type: integer
        type:
          description: >-
            A predefined yet extensible Task type identifier. This can be used
            to customize any of the components. If no

            extensions are provided in the system, Flyte will resolve the this
            task to its TaskCategory and default the

            implementation registered for the TaskCategory.
          type: string
      type: object
    coreContainer:
      properties:
        architecture:
          $ref: '#/components/schemas/ContainerArchitecture'
        args:
          description: >-
            These will default to Flyte given paths. If provided, the system
            will not append known paths. If the task still

            needs flyte's inputs and outputs path, add $(FLYTE_INPUT_FILE),
            $(FLYTE_OUTPUT_FILE) wherever makes sense and the

            system will populate these before executing the container.
          items:
            type: string
          type: array
        command:
          description: >-
            Command to be executed, if not provided, the default entrypoint in
            the container image will be used.
          items:
            type: string
          type: array
        config:
          description: |-
            Allows extra configs to be available for the container.
            TODO: elaborate on how configs will become available.
            Deprecated, please use TaskTemplate.config instead.
          items:
            $ref: '#/components/schemas/flyteidlcoreKeyValuePair'
          type: array
        data_config:
          $ref: '#/components/schemas/coreDataLoadingConfig'
        env:
          description: Environment variables will be set as the container is starting up.
          items:
            $ref: '#/components/schemas/flyteidlcoreKeyValuePair'
          type: array
        image:
          title: 'Container image url. Eg: docker/redis:latest'
          type: string
        ports:
          items:
            $ref: '#/components/schemas/coreContainerPort'
          title: >-
            Ports to open in the container. This feature is not supported by all
            execution engines. (e.g. supported on K8s but

            not supported on AWS Batch)

            Only K8s
          type: array
        resources:
          $ref: '#/components/schemas/coreResources'
      type: object
    coreExtendedResources:
      description: >-
        Encapsulates all non-standard resources, not captured by
        v1.ResourceRequirements, to

        allocate to a task.
      properties:
        gpu_accelerator:
          $ref: '#/components/schemas/coreGPUAccelerator'
        shared_memory:
          $ref: '#/components/schemas/coreSharedMemory'
      type: object
    coreTypedInterface:
      description: Defines strongly typed inputs and outputs.
      properties:
        inputs:
          $ref: '#/components/schemas/coreVariableMap'
        outputs:
          $ref: '#/components/schemas/coreVariableMap'
      type: object
    coreK8sPod:
      description: >-
        Defines a pod spec and additional pod metadata that is created when a
        task is executed.
      properties:
        data_config:
          $ref: '#/components/schemas/coreDataLoadingConfig'
        metadata:
          $ref: '#/components/schemas/coreK8sObjectMetadata'
        pod_spec:
          title: >-
            Defines the primary pod spec created when a task is executed.

            This should be a JSON-marshalled pod spec, which can be defined in

            - go, using:
            https://github.com/kubernetes/api/blob/release-1.21/core/v1/types.go#L2936

            - python: using
            https://github.com/kubernetes-client/python/blob/release-19.0/kubernetes/client/models/v1_pod_spec.py
          type: object
        primary_container_name:
          description: >-
            Defines the primary container name when pod template override is
            executed.
          type: string
      type: object
    coreTaskMetadata:
      properties:
        cache_ignore_input_vars:
          description: >-
            cache_ignore_input_vars is the input variables that should not be
            included when calculating hash for cache.
          items:
            type: string
          type: array
        cache_serializable:
          title: >-
            Indicates whether the system should attempt to execute discoverable
            instances in serial to avoid duplicate work
          type: boolean
        deprecated_error_message:
          description: >-
            If set, this indicates that this task is deprecated.  This will
            enable owners of tasks to notify consumers

            of the ending of support for a given task.
          type: string
        discoverable:
          description: >-
            Indicates whether the system should attempt to lookup this task's
            output to avoid duplication of work.
          type: boolean
        discovery_version:
          description: >-
            Indicates a logical version to apply to this task for the purpose of
            discovery.
          type: string
        generates_deck:
          description: >-
            Indicates whether the task will generate a deck when it finishes
            executing.

            The BoolValue can have three states:

            - nil: The value is not set.

            - true: The task will generate a deck.

            - false: The task will not generate a deck.
          type: boolean
        interruptible:
          type: boolean
        is_eager:
          description: |-
            is_eager indicates whether the task is eager or not.
            This would be used by CreateTask endpoint.
          type: boolean
        metadata:
          $ref: '#/components/schemas/coreK8sObjectMetadata'
        pod_template_name:
          description: >-
            pod_template_name is the unique name of a PodTemplate k8s resource
            to be used as the base configuration if this

            task creates a k8s Pod. If this value is set, the specified
            PodTemplate will be used instead of, but applied

            identically as, the default PodTemplate configured in
            FlytePropeller.
          type: string
        retries:
          $ref: '#/components/schemas/coreRetryStrategy'
        runtime:
          $ref: '#/components/schemas/coreRuntimeMetadata'
        tags:
          additionalProperties:
            type: string
          title: >-
            Arbitrary tags that allow users and the platform to store small but
            arbitrary labels
          type: object
        timeout:
          description: The overall timeout of a task including user-triggered retries.
          type: string
      title: Task Metadata
      type: object
    coreSecurityContext:
      description: SecurityContext holds security attributes that apply to tasks.
      properties:
        run_as:
          $ref: '#/components/schemas/coreIdentity'
        secrets:
          description: >-
            secrets indicate the list of secrets the task needs in order to
            proceed. Secrets will be mounted/passed to the

            pod as it starts. If the plugin responsible for kicking of the task
            will not run it on a flyte cluster (e.g. AWS

            Batch), it's the responsibility of the plugin to fetch the secret
            (which means propeller identity will need access

            to the secret) and to pass it to the remote execution engine.
          items:
            $ref: '#/components/schemas/coreSecret'
          type: array
        tokens:
          description: >-
            tokens indicate the list of token requests the task needs in order
            to proceed. Tokens will be mounted/passed to the

            pod as it starts. If the plugin responsible for kicking of the task
            will not run it on a flyte cluster (e.g. AWS

            Batch), it's the responsibility of the plugin to fetch the secret
            (which means propeller identity will need access

            to the secret) and to pass it to the remote execution engine.
          items:
            $ref: '#/components/schemas/coreOAuth2TokenRequest'
          type: array
      type: object
    coreSql:
      description: Sql represents a generic sql workload with a statement and dialect.
      properties:
        dialect:
          $ref: '#/components/schemas/SqlDialect'
        statement:
          title: >-
            The actual query to run, the query can have templated parameters.

            We use Flyte's Golang templating format for Query templating.

            For example,

            insert overwrite directory '{{ .rawOutputDataPrefix }}' stored as
            parquet

            select *

            from my_table

            where ds = '{{ .Inputs.ds }}'
          type: string
      type: object
    ContainerArchitecture:
      default: UNKNOWN
      description: Architecture-type the container image supports.
      enum:
        - UNKNOWN
        - AMD64
        - ARM64
        - ARM_V6
        - ARM_V7
      type: string
    flyteidlcoreKeyValuePair:
      description: A generic key value pair.
      properties:
        key:
          description: required.
          type: string
        value:
          description: +optional.
          type: string
      type: object
    coreDataLoadingConfig:
      description: >-
        This configuration allows executing raw containers in Flyte using the
        Flyte CoPilot system.

        Flyte CoPilot, eliminates the needs of flytekit or sdk inside the
        container. Any inputs required by the users container are side-loaded in
        the input_path

        Any outputs generated by the user container - within output_path are
        automatically uploaded.
      properties:
        enabled:
          title: >-
            Flag enables DataLoading Config. If this is not set, data loading
            will not be used!
          type: boolean
        format:
          $ref: '#/components/schemas/DataLoadingConfigLiteralMapFormat'
        input_path:
          title: >-
            File system path (start at root). This folder will contain all the
            inputs exploded to a separate file.

            Example, if the input interface needs (x: int, y: blob, z:
            multipart_blob) and the input path is '/var/flyte/inputs', then the
            file system will look like

            /var/flyte/inputs/inputs.<metadata format dependent -> .pb .json
            .yaml> -> Format as defined previously. The Blob and Multipart blob
            will reference local filesystem instead of remote locations

            /var/flyte/inputs/x -> X is a file that contains the value of x
            (integer) in string format

            /var/flyte/inputs/y -> Y is a file in Binary format

            /var/flyte/inputs/z/... -> Note Z itself is a directory

            More information about the protocol - refer to docs #TODO reference
            docs here
          type: string
        io_strategy:
          $ref: '#/components/schemas/coreIOStrategy'
        output_path:
          title: >-
            File system path (start at root). This folder should contain all the
            outputs for the task as individual files and/or an error text file
          type: string
      type: object
    coreContainerPort:
      description: Defines port properties for a container.
      properties:
        container_port:
          description: |-
            Number of port to expose on the pod's IP address.
            This must be a valid port number, 0 < x < 65536.
          format: int64
          type: integer
        name:
          description: Name of the port to expose on the pod's IP address.
          type: string
      type: object
    coreResources:
      description: >-
        A customizable interface to convey resources requested for a container.
        This can be interpreted differently for different

        container engines.
      properties:
        limits:
          description: >-
            Defines a set of bounds (e.g. min/max) within which the task can
            reliably run. ResourceNames must be unique

            within the list.
          items:
            $ref: '#/components/schemas/ResourcesResourceEntry'
          type: array
        requests:
          description: >-
            The desired set of resources requested. ResourceNames must be unique
            within the list.
          items:
            $ref: '#/components/schemas/ResourcesResourceEntry'
          type: array
      type: object
    coreGPUAccelerator:
      description: >-
        Metadata associated with the GPU accelerator to allocate to a task.
        Contains

        information about device type, and for multi-instance GPUs, the
        partition size to

        use.
      properties:
        device:
          description: >-
            This can be any arbitrary string, and should be informed by the
            labels or taints

            associated with the nodes in question. Default cloud provider labels
            typically

            use the following values: `nvidia-tesla-t4`, `nvidia-tesla-a100`,
            etc.
          type: string
        partition_size:
          description: >-
            Like `device`, this can be any arbitrary string, and should be
            informed by

            the labels or taints associated with the nodes in question. Default
            cloud

            provider labels typically use the following values: `1g.5gb`,
            `2g.10gb`, etc.
          type: string
        unpartitioned:
          type: boolean
      type: object
    coreSharedMemory:
      description: Metadata associated with configuring a shared memory volume for a task.
      properties:
        mount_name:
          title: Name for volume
          type: string
        mount_path:
          title: Mount path to place in container
          type: string
        size_limit:
          title: >-
            Size limit for shared memory. If not set, then the shared memory is
            equal

            to the allocated memory.

            +optional
          type: string
      type: object
    coreVariableMap:
      properties:
        variables:
          additionalProperties:
            $ref: '#/components/schemas/coreVariable'
          description: Defines a map of variable names to variables.
          type: object
      title: A map of Variables
      type: object
    coreK8sObjectMetadata:
      description: Metadata for building a kubernetes object when a task is executed.
      properties:
        annotations:
          additionalProperties:
            type: string
          description: Optional annotations to add to the pod definition.
          type: object
        labels:
          additionalProperties:
            type: string
          description: Optional labels to add to the pod definition.
          type: object
      type: object
    coreRetryStrategy:
      description: Retry strategy associated with an executable unit.
      properties:
        retries:
          description: >-
            Number of retries. Retries will be consumed when the job fails with
            a recoverable error.

            The number of retries must be less than or equals to 10.
          format: int64
          type: integer
      type: object
    coreRuntimeMetadata:
      description: Runtime information. This is loosely defined to allow for extensibility.
      properties:
        flavor:
          description: >-
            +optional It can be used to provide extra information about the
            runtime (e.g. python, golang... etc.).
          type: string
        type:
          $ref: '#/components/schemas/RuntimeMetadataRuntimeType'
        version:
          description: >-
            Version of the runtime. All versions should be backward compatible.
            However, certain cases call for version

            checks to ensure tighter validation or setting expectations.
          type: string
      type: object
    coreIdentity:
      description: >-
        Identity encapsulates the various security identities a task can run as.
        It's up to the underlying plugin to pick the

        right identity for the execution environment.
      properties:
        execution_identity:
          title: execution_identity references the subject who makes the execution
          type: string
        iam_role:
          description: >-
            iam_role references the fully qualified name of Identity & Access
            Management role to impersonate.
          type: string
        k8s_service_account:
          description: >-
            k8s_service_account references a kubernetes service account to
            impersonate.
          type: string
        oauth2_client:
          $ref: '#/components/schemas/coreOAuth2Client'
      type: object
    coreSecret:
      description: >-
        Secret encapsulates information about the secret a task needs to
        proceed. An environment variable

        FLYTE_SECRETS_ENV_PREFIX will be passed to indicate the prefix of the
        environment variables that will be present if

        secrets are passed through environment variables.

        FLYTE_SECRETS_DEFAULT_DIR will be passed to indicate the prefix of the
        path where secrets will be mounted if secrets

        are passed through file mounts.
      properties:
        env_var:
          title: >-
            env_var is optional. Custom environment variable to set the value of
            the secret. If mount_requirement is ENV_VAR,

            then the value is the secret itself. If mount_requirement is FILE,
            then the value is the path to the secret file.

            +optional
          type: string
        group:
          title: >-
            The name of the secret group where to find the key referenced below.
            For K8s secrets, this should be the name of

            the v1/secret object. For Confidant, this should be the Credential
            name. For Vault, this should be the secret name.

            For AWS Secret Manager, this should be the name of the secret.

            +required
          type: string
        group_version:
          title: >-
            The group version to fetch. This is not supported in all secret
            management systems. It'll be ignored for the ones

            that do not support it.

            +optional
          type: string
        key:
          title: >-
            The name of the secret to mount. This has to match an existing
            secret in the system. It's up to the implementation

            of the secret management system to require case sensitivity. For K8s
            secrets, Confidant and Vault, this should

            match one of the keys inside the secret. For AWS Secret Manager,
            it's ignored.

            +optional
          type: string
        mount_requirement:
          $ref: '#/components/schemas/SecretMountType'
      type: object
    coreOAuth2TokenRequest:
      description: >-
        OAuth2TokenRequest encapsulates information needed to request an OAuth2
        token.

        FLYTE_TOKENS_ENV_PREFIX will be passed to indicate the prefix of the
        environment variables that will be present if

        tokens are passed through environment variables.

        FLYTE_TOKENS_PATH_PREFIX will be passed to indicate the prefix of the
        path where secrets will be mounted if tokens

        are passed through file mounts.
      properties:
        client:
          $ref: '#/components/schemas/coreOAuth2Client'
        idp_discovery_endpoint:
          title: >-
            idp_discovery_endpoint references the discovery endpoint used to
            retrieve token endpoint and other related

            information.

            +optional
          type: string
        name:
          title: >-
            name indicates a unique id for the token request within this task
            token requests. It'll be used as a suffix for

            environment variables and as a filename for mounting tokens as
            files.

            +required
          type: string
        token_endpoint:
          title: >-
            token_endpoint references the token issuance endpoint. If
            idp_discovery_endpoint is not provided, this parameter is

            mandatory.

            +optional
          type: string
        type:
          $ref: '#/components/schemas/coreOAuth2TokenRequestType'
      type: object
    SqlDialect:
      default: UNDEFINED
      description: >-
        The dialect of the SQL statement. This is used to validate and parse SQL
        statements at compilation time to avoid

        expensive runtime operations. If set to an unsupported dialect, no
        validation will be done on the statement.

        We support the following dialect: ansi, hive.
      enum:
        - UNDEFINED
        - ANSI
        - HIVE
        - OTHER
      type: string
    DataLoadingConfigLiteralMapFormat:
      default: JSON
      description: >-
        - JSON: JSON / YAML for the metadata (which contains inlined primitive
        values). The representation is inline with the standard json
        specification as specified - https://www.json.org/json-en.html
         - PROTO: Proto is a serialized binary of `core.LiteralMap` defined in flyteidl/core
      enum:
        - JSON
        - YAML
        - PROTO
      title: >-
        LiteralMapFormat decides the encoding format in which the input metadata
        should be made available to the containers.

        If the user has access to the protocol buffer definitions, it is
        recommended to use the PROTO format.

        JSON and YAML do not need any protobuf definitions to read it

        All remote references in core.LiteralMap are replaced with local
        filesystem references (the data is downloaded to local filesystem)
      type: string
    coreIOStrategy:
      properties:
        download_mode:
          $ref: '#/components/schemas/IOStrategyDownloadMode'
        upload_mode:
          $ref: '#/components/schemas/IOStrategyUploadMode'
      title: >-
        Strategy to use when dealing with Blob, Schema, or multipart blob data
        (large datasets)
      type: object
    ResourcesResourceEntry:
      description: Encapsulates a resource name and value.
      properties:
        name:
          $ref: '#/components/schemas/ResourcesResourceName'
        value:
          title: >-
            Value must be a valid k8s quantity. See

            https://github.com/kubernetes/apimachinery/blob/master/pkg/api/resource/quantity.go#L30-L80
          type: string
      type: object
    coreVariable:
      description: Defines a strongly typed variable.
      properties:
        artifact_partial_id:
          $ref: '#/components/schemas/coreArtifactID'
        artifact_tag:
          $ref: '#/components/schemas/coreArtifactTag'
        description:
          title: +optional string describing input variable
          type: string
        type:
          $ref: '#/components/schemas/coreLiteralType'
      type: object
    RuntimeMetadataRuntimeType:
      default: OTHER
      enum:
        - OTHER
        - FLYTE_SDK
      type: string
    coreOAuth2Client:
      description: >-
        OAuth2Client encapsulates OAuth2 Client Credentials to be used when
        making calls on behalf of that task.
      properties:
        client_id:
          title: >-
            client_id is the public id for the client to use. The system will
            not perform any pre-auth validation that the

            secret requested matches the client_id indicated here.

            +required
          type: string
        client_secret:
          $ref: '#/components/schemas/coreSecret'
      type: object
    SecretMountType:
      default: ANY
      description: |2-
         - ANY: Default case, indicates the client can tolerate either mounting options.
         - ENV_VAR: ENV_VAR indicates the secret needs to be mounted as an environment variable.
         - FILE: FILE indicates the secret needs to be mounted as a file.
      enum:
        - ANY
        - ENV_VAR
        - FILE
      type: string
    coreOAuth2TokenRequestType:
      default: CLIENT_CREDENTIALS
      description: |-
        Type of the token requested.

         - CLIENT_CREDENTIALS: CLIENT_CREDENTIALS indicates a 2-legged OAuth token requested using client credentials.
      enum:
        - CLIENT_CREDENTIALS
      type: string
    IOStrategyDownloadMode:
      default: DOWNLOAD_EAGER
      description: >-
        - DOWNLOAD_EAGER: All data will be downloaded before the main container
        is executed
         - DOWNLOAD_STREAM: Data will be downloaded as a stream and an End-Of-Stream marker will be written to indicate all data has been downloaded. Refer to protocol for details
         - DO_NOT_DOWNLOAD: Large objects (offloaded) will not be downloaded
      enum:
        - DOWNLOAD_EAGER
        - DOWNLOAD_STREAM
        - DO_NOT_DOWNLOAD
      title: Mode to use for downloading
      type: string
    IOStrategyUploadMode:
      default: UPLOAD_ON_EXIT
      description: >-
        - UPLOAD_ON_EXIT: All data will be uploaded after the main container
        exits
         - UPLOAD_EAGER: Data will be uploaded as it appears. Refer to protocol specification for details
         - DO_NOT_UPLOAD: Data will not be uploaded, only references will be written
      enum:
        - UPLOAD_ON_EXIT
        - UPLOAD_EAGER
        - DO_NOT_UPLOAD
      title: Mode to use for uploading
      type: string
    ResourcesResourceName:
      default: UNKNOWN
      description: |-
        Known resource names.

         - EPHEMERAL_STORAGE: For Kubernetes-based deployments, pods use ephemeral local storage for scratch space, caching, and for logs.
      enum:
        - UNKNOWN
        - CPU
        - GPU
        - MEMORY
        - STORAGE
        - EPHEMERAL_STORAGE
      type: string
    coreArtifactID:
      properties:
        artifact_key:
          $ref: '#/components/schemas/coreArtifactKey'
        partitions:
          $ref: '#/components/schemas/corePartitions'
        time_partition:
          $ref: '#/components/schemas/coreTimePartition'
        version:
          type: string
      type: object
    coreArtifactTag:
      properties:
        artifact_key:
          $ref: '#/components/schemas/coreArtifactKey'
        value:
          $ref: '#/components/schemas/coreLabelValue'
      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
    coreArtifactKey:
      properties:
        domain:
          type: string
        name:
          type: string
        org:
          type: string
        project:
          description: >-
            Project and domain and suffix needs to be unique across a given
            artifact store.
          type: string
      type: object
    corePartitions:
      properties:
        value:
          additionalProperties:
            $ref: '#/components/schemas/coreLabelValue'
          type: object
      type: object
    coreTimePartition:
      properties:
        granularity:
          $ref: '#/components/schemas/coreGranularity'
        value:
          $ref: '#/components/schemas/coreLabelValue'
      type: object
    coreLabelValue:
      properties:
        input_binding:
          $ref: '#/components/schemas/coreInputBindingData'
        runtime_binding:
          $ref: '#/components/schemas/coreRuntimeBinding'
        static_value:
          title: The string static value is for use in the Partitions object
          type: string
        time_value:
          format: date-time
          title: The time value is for use in the TimePartition case
          type: string
        triggered_binding:
          $ref: '#/components/schemas/coreArtifactBindingData'
      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
    coreGranularity:
      default: UNSET
      enum:
        - UNSET
        - MINUTE
        - HOUR
        - DAY
        - MONTH
      title: '- DAY: default'
      type: string
    coreInputBindingData:
      properties:
        var:
          type: string
      type: object
    coreRuntimeBinding:
      type: object
    coreArtifactBindingData:
      properties:
        bind_to_time_partition:
          type: boolean
        partition_key:
          type: string
        time_transform:
          $ref: '#/components/schemas/coreTimeTransform'
      title: Only valid for triggers
      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
    coreTimeTransform:
      properties:
        op:
          $ref: '#/components/schemas/flyteidlcoreOperator'
        transform:
          type: string
      type: object
    SchemaColumnSchemaColumnType:
      default: INTEGER
      enum:
        - INTEGER
        - FLOAT
        - STRING
        - BOOLEAN
        - DATETIME
        - DURATION
      type: string
    flyteidlcoreOperator:
      default: MINUS
      enum:
        - MINUS
        - PLUS
      type: string

````

## Related topics

- [Fetch a list of Task definitions.](/api-reference/tasks/fetch-a-list-of-task-definitions.md)
- [Fetch a Task definition.](/api-reference/tasks/fetch-a-task-definition.md)
- [Fetch a list of NamedEntityIdentifier of task objects.](/api-reference/tasks/fetch-a-list-of-namedentityidentifier-of-task-objects.md)
- [Fetch a list of Workflow definitions (by name)](/api-reference/workflows/fetch-a-list-of-workflow-definitions-by-name.md)
