# Get

Launch stage: GA

`GET /api/2.0/pipelines/{pipeline_id}`

Get a pipeline.

API scopes: pipelines

## Path parameters

- `pipeline_id` (string, optional)

## Returns

- `pipeline_id` (string, optional)
  The ID of the pipeline.
- `spec` (object, optional)
  The pipeline specification. This field is not returned when called by `ListPipelines`.
  - `id` (string, optional)
    Unique identifier for this pipeline.
  - `name` (string, optional)
    Friendly identifier for this pipeline.
  - `storage` (string, optional)
    DBFS root directory for storing checkpoints and tables.
  - `configuration` (object, optional)
    String-String configuration for this pipeline execution.
  - `clusters` (array of object, optional)
    Cluster settings for this pipeline deployment.
    - `label` (string, optional)
      A label for the cluster specification, either `default` to configure the default cluster, or `maintenance` to configure the maintenance cluster. This field is optional. The default value is `default`.
    - `apply_policy_default_values` (boolean, optional)
      Note: This field won't be persisted. Only API users will check this field.
    - `spark_conf` (object, optional)
      An object containing a set of optional, user-specified Spark configuration key-value pairs.
       See :method:clusters/create for more details.
    - `aws_attributes` (object, optional)
      Attributes related to clusters running on Amazon Web Services.
       If not specified at cluster creation, a set of default values will be used.
      - `first_on_demand` (int32, optional)
        The first ``first_on_demand`` nodes of the cluster will be placed on on-demand instances.
         If this value is greater than 0, the cluster driver node in particular will be placed on an
         on-demand instance. If this value is greater than or equal to the current cluster size, all
         nodes will be placed on on-demand instances. If this value is less than the current cluster
         size, ``first_on_demand`` nodes will be placed on on-demand instances and the remainder will
         be placed on ``availability`` instances. Note that this value does not affect
         cluster size and cannot currently be mutated over the lifetime of a cluster.
      - `availability` (string, optional)
        Availability type used for all subsequent nodes past the ``first_on_demand`` ones.
         Note: If ``first_on_demand`` is zero, this availability type will be used for the entire cluster.
        Possible values: `SPOT`, `ON_DEMAND`, `SPOT_WITH_FALLBACK`
      - `zone_id` (string, optional)
        Identifier for the availability zone/datacenter in which the cluster resides.
         This string will be of a form like "us-west-2a". The provided availability
         zone must be in the same region as the <Databricks> deployment. For example, "us-west-2a"
         is not a valid zone id if the <Databricks> deployment resides in the "us-east-1" region.
         This is an optional field at cluster creation, and if not specified, a default zone will be used.
         If the zone specified is "auto", will try to place cluster in a zone with high availability,
         and will retry placement in a different AZ if there is not enough capacity.
         See [[AutoAZHelper.scala]] for more details.
         The list of available zones as well as the default value can be found by using the
         `List Zones`_ method.
      - `instance_profile_arn` (string, optional)
        Nodes for this cluster will only be placed on AWS instances with this instance profile. If
         omitted, nodes will be placed on instances without an IAM instance profile. The instance
         profile must have previously been added to the <Databricks> environment by an account
         administrator.
        
         This feature may only be available to certain customer plans.
        
         ***internal
         If this field is ommitted, we will pull in the default from the conf if it exists.
      - `spot_bid_price_percent` (int32, optional)
        The bid price for AWS spot instances, as a percentage of the corresponding instance type's
         on-demand price.
         For example, if this field is set to 50, and the cluster needs a new ``r3.xlarge`` spot
         instance, then the bid price is half of the price of
         on-demand ``r3.xlarge`` instances. Similarly, if this field is set to 200, the bid price is twice
         the price of on-demand ``r3.xlarge`` instances. If not specified, the default value is 100.
         When spot instances are requested for this cluster, only spot instances whose bid price
         percentage matches this field will be considered.
         Note that, for safety, we enforce this field to be no more than 10000.
        
         ***internal
         The default value and documentation here should be kept consistent with
         CommonConf.defaultSpotBidPricePercent and CommonConf.maxSpotBidPricePercent.
      - `ebs_volume_type` (string, optional)
        The type of EBS volumes that will be launched with this cluster.
        Possible values: `GENERAL_PURPOSE_SSD`, `THROUGHPUT_OPTIMIZED_HDD`
      - `ebs_volume_count` (int32, optional)
        The number of volumes launched for each instance. Users can choose up to 10 volumes.
         This feature is only enabled for supported node types. Legacy node types cannot specify
         custom EBS volumes.
         For node types with no instance store, at least one EBS volume needs to be specified;
         otherwise, cluster creation will fail.
        
         These EBS volumes will be mounted at ``/ebs0``, ``/ebs1``, and etc.
         Instance store volumes will be mounted at ``/local_disk0``, ``/local_disk1``, and etc.
        
         If EBS volumes are attached, <Databricks> will configure Spark to use only the EBS volumes for
         scratch storage because heterogeneously sized scratch devices can lead to inefficient disk
         utilization. If no EBS volumes are attached, <Databricks> will configure Spark to use instance
         store volumes.
        
         Please note that if EBS volumes are specified, then the Spark configuration ``spark.local.dir``
         will be overridden.
      - `ebs_volume_size` (int32, optional)
        The size of each EBS volume (in GiB) launched for each instance. For general purpose
         SSD, this value must be within the range 100 - 4096. For throughput optimized HDD,
         this value must be within the range 500 - 4096.
      - `ebs_volume_iops` (int32, optional)
      - `ebs_volume_throughput` (int32, optional)
    - `azure_attributes` (object, optional)
      Attributes related to clusters running on Microsoft Azure.
       If not specified at cluster creation, a set of default values will be used.
      - `first_on_demand` (int32, optional)
        The first ``first_on_demand`` nodes of the cluster will be placed on on-demand instances.
         This value should be greater than 0, to make sure the cluster driver node is placed on an
         on-demand instance. If this value is greater than or equal to the current cluster size, all
         nodes will be placed on on-demand instances. If this value is less than the current cluster
         size, ``first_on_demand`` nodes will be placed on on-demand instances and the remainder will
         be placed on ``availability`` instances. Note that this value does not affect
         cluster size and cannot currently be mutated over the lifetime of a cluster.
      - `availability` (string, optional)
        Availability type used for all subsequent nodes past the ``first_on_demand`` ones.
         Note: If ``first_on_demand`` is zero (which only happens on pool clusters), this availability
         type will be used for the entire cluster.
        Possible values: `SPOT_AZURE`, `ON_DEMAND_AZURE`, `SPOT_WITH_FALLBACK_AZURE`
      - `spot_bid_max_price` (double, optional)
        The max bid price to be used for Azure spot instances.
         The Max price for the bid cannot be higher than the on-demand price of the instance.
         If not specified, the default value is -1, which specifies that the instance cannot be evicted
         on the basis of price, and only on the basis of availability. Further, the value should > 0 or -1.
    - `gcp_attributes` (object, optional)
      Attributes related to clusters running on Google Cloud Platform.
       If not specified at cluster creation, a set of default values will be used.
      - `google_service_account` (string, optional)
        If provided, the cluster will impersonate the google service account when accessing
         gcloud services (like GCS). The google service account
         must have previously been added to the <Databricks> environment by an account
         administrator.
      - `boot_disk_size` (int32, optional)
        boot disk size in GB
      - `availability` (string, optional)
        This field determines whether the spark executors will be scheduled to run on preemptible
         VMs, on-demand VMs, or preemptible VMs with a fallback to on-demand VMs if the former is unavailable.
        Possible values: `PREEMPTIBLE_GCP`, `ON_DEMAND_GCP`, `PREEMPTIBLE_WITH_FALLBACK_GCP`
      - `zone_id` (string, optional)
        Identifier for the availability zone in which the cluster resides.
         This can be one of the following:
         - "HA" => High availability, spread nodes across availability zones for a
            <Databricks> deployment region [default].
         - "AUTO" => <Databricks> picks an availability zone to schedule the cluster on.
         - A GCP availability zone => Pick One of the available zones for (machine type + region) from
           https://cloud.google.com/compute/docs/regions-zones.
      - `local_ssd_count` (int32, optional)
        The number of local SSDs to attach to each worker and driver for this cluster. If left unspecified,
         the default number of local SSDs for the node type will be used.
        
         NOTE: Each instance type can only support a certain number of attached local SSDs. The value
         specified in local_ssd_count must be valid for BOTH the driver and worker instance type. See
         GCP docs here:
         https://cloud.google.com/compute/docs/disks#local_ssd_machine_type_restrictions
        
         Validation is performed at the RPC layer and the RPC will be rejected if the specified
         local_ssd_count is invalid.
    - `node_type_id` (string, optional)
      This field encodes, through a single value, the resources available to each of
       the Spark nodes in this cluster. For example, the Spark nodes can be provisioned
       and optimized for memory or compute intensive workloads. A list of available node
       types can be retrieved by using the :method:clusters/listNodeTypes API call.
    - `driver_node_type_id` (string, optional)
      The node type of the Spark driver.
       Note that this field is optional; if unset, the driver node type will be set as the same value
       as `node_type_id` defined above.
    - `ssh_public_keys` (array of string, optional)
      SSH public key contents that will be added to each Spark node in this cluster. The
       corresponding private keys can be used to login with the user name `ubuntu` on port `2200`.
       Up to 10 keys can be specified.
    - `custom_tags` (object, optional)
      Additional tags for cluster resources. <Databricks> will tag all cluster resources (e.g., AWS
       instances and EBS volumes) with these tags in addition to `default_tags`. Notes:
      
       - Currently, <Databricks> allows at most 45 custom tags
      
       - Clusters can only reuse cloud resources if the resources' tags are a subset of the cluster tags
    - `cluster_log_conf` (object, optional)
      The configuration for delivering spark logs to a long-term storage destination.
       Only dbfs destinations are supported. Only one destination can be specified
       for one cluster. If the conf is given, the logs will be delivered to the destination every
       `5 mins`. The destination of driver logs is `$destination/$clusterId/driver`, while
       the destination of executor logs is `$destination/$clusterId/executor`.
      - `dbfs` (object, required)
        destination needs to be provided. e.g.
         ``{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }``
    - `spark_env_vars` (object, optional)
      An object containing a set of optional, user-specified environment variable key-value pairs.
       Please note that key-value pair of the form (X,Y) will be exported as is (i.e.,
       `export X='Y'`) while launching the driver and workers.
      
       In order to specify an additional set of `SPARK_DAEMON_JAVA_OPTS`, we recommend appending
       them to `$SPARK_DAEMON_JAVA_OPTS` as shown in the example below. This ensures that all
       default databricks managed environmental variables are included as well.
      
       Example Spark environment variables:
       `{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"}` or
       `{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}`
    - `init_scripts` (array of object, optional)
      The configuration for storing init scripts. Any number of destinations can be specified. The scripts are executed sequentially in the order provided. If `cluster_log_conf` is specified, init script logs are sent to `<destination>/<cluster-ID>/init_scripts`.
      - `dbfs` (object, required)
        destination needs to be provided. e.g.
         ``{ "dbfs" : { "destination" : "dbfs:/init-scripts/my_script.sh" } }``
      - `s3` (object, required)
        destination and either region or endpoint should also be provided. e.g.
         ``{ "s3": { "destination" : "s3://init-scripts/my_script.sh", "region" : "us-west-2" } }``
         Cluster iam role is used to access s3, please make sure the cluster iam role in
         ``instance_profile_arn`` has permission to write data to the s3 destination.
    - `instance_pool_id` (string, optional)
      The optional ID of the instance pool to which the cluster belongs.
    - `policy_id` (string, optional)
      The ID of the cluster policy used to create the cluster if applicable.
    - `enable_local_disk_encryption` (boolean, optional)
      Whether to enable local disk encryption for the cluster.
    - `driver_instance_pool_id` (string, optional)
      The optional ID of the instance pool for the driver of the cluster belongs.
       The pool cluster uses the instance pool with id (instance_pool_id) if the driver pool is not
       assigned.
    - `num_workers` (int32, required)
      Number of worker nodes that this cluster should have. A cluster has one Spark Driver
       and `num_workers` Executors for a total of `num_workers` + 1 Spark nodes.
      
       Note: When reading the properties of a cluster, this field reflects the desired number
       of workers rather than the actual current number of workers. For instance, if a cluster
       is resized from 5 to 10 workers, this field will immediately be updated to reflect
       the target size of 10 workers, whereas the workers listed in `spark_info` will gradually
       increase from 5 to 10 as the new nodes are provisioned.
    - `autoscale` (object, required)
      Parameters needed in order to automatically scale clusters up and down based on load.
       Note: autoscaling works best with DB runtime versions 3.0 or later.
      - `min_workers` (int32, optional)
        The minimum number of workers the cluster can scale down to when underutilized.
         It is also the initial number of workers the cluster will have after creation.
      - `max_workers` (int32, optional)
        The maximum number of workers to which the cluster can scale up when overloaded. `max_workers` must be strictly greater than `min_workers`.
      - `mode` (string, optional)
        Databricks Enhanced Autoscaling optimizes cluster utilization by automatically
         allocating cluster resources based on workload volume, with minimal impact to
         the data processing latency of your pipelines. Enhanced Autoscaling is available
         for `updates` clusters only. The legacy autoscaling feature is used for `maintenance`
         clusters.
  - `libraries` (array of object, optional)
    Libraries or code needed by this deployment.
    - `whl` (string, required)
      URI of the whl to be installed.
    - `notebook` (object, required)
      The path to a notebook that defines a pipeline and is stored in the <Databricks> workspace.
      - `path` (string, optional)
        The absolute path of the source code.
    - `file` (object, required)
      The path to a file that defines a pipeline and is stored in the Databricks Repos.
      - `path` (string, optional)
        The absolute path of the source code.
    - `glob` (object, required, Public Preview)
      The unified field to include source codes.
       Each entry can be a notebook path, a file path, or a folder path that ends `/**`.
       This field cannot be used together with `notebook` or `file`.
      - `include` (string, optional, Public Preview)
        The source code to include for pipelines
        Example: `/Workspace/Users/user.name/pipeline-folder/my-file.py` : use glob to include a file
        Example: `/Workspace/Users/user.name/pipeline-folder/**` : use glob to include a folder
        Example: `/Workspace/Users/user.name/pipeline-folder/my-notebook` : use glob to include a notebook
  - `ingestion_definition` (object, optional, Public Preview)
    The configuration for a managed ingestion pipeline. These settings cannot be used with the 'libraries', 'schema', 'target', or 'catalog' settings.
    - `connection_name` (string, required, Public Preview)
      The Unity Catalog connection that this ingestion pipeline uses to communicate with the source. This is used with
       both connectors for applications like Salesforce, Workday, and so on, and also database connectors like Oracle,
       (connector_type = QUERY_BASED OR connector_type = CDC).
       If connection name corresponds to database connectors like Oracle, and connector_type is not provided then
       connector_type defaults to QUERY_BASED. If connector_type is passed as CDC we use Combined Cdc Managed Ingestion
       pipeline.
       Under certain conditions, this can be replaced with ingestion_gateway_id to change the connector to Cdc Managed
       Ingestion Pipeline with Gateway pipeline.
    - `ingestion_gateway_id` (string, required, Public Preview)
      Identifier for the gateway that is used by this ingestion pipeline to communicate with the source database.
       This is used with CDC connectors to databases like SQL Server using a gateway pipeline (connector_type = CDC).
       Under certain conditions, this can be replaced with connection_name to change the connector to Combined Cdc
       Managed Ingestion Pipeline.
    - `ingest_from_uc_foreign_catalog` (boolean, required, Public Preview)
      Immutable. If set to true, the pipeline will ingest tables from the
       UC foreign catalogs directly without the need to specify a UC connection or ingestion gateway.
       The `source_catalog` fields in objects of IngestionConfig are interpreted as
       the UC foreign catalogs to ingest from.
      Default: `false`
    - `objects` (array of object, optional, Public Preview)
      Required. Settings specifying tables to replicate and the destination for the replicated tables.
      - `schema` (object, required, Public Preview)
        Select all tables from a specific source schema.
      - `table` (object, required, Public Preview)
        Select a specific source table.
      - `report` (object, required, Public Preview)
        Select a specific source report.
    - `source_type` (string, optional, Public Preview)
      The type of the foreign source.
       The source type will be inferred from the source connection or ingestion gateway.
       This field is output only and will be ignored if provided.
      Possible values: `INGESTION_SOURCE_TYPE_UNSPECIFIED`, `MYSQL`, `POSTGRESQL`, `SQLSERVER`, `SALESFORCE`, `BIGQUERY`, `NETSUITE`, `WORKDAY_RAAS`, `GA4_RAW_DATA`, `SERVICENOW`, `MANAGED_POSTGRESQL`, `ORACLE`, `TERADATA`, `SHAREPOINT`, `DYNAMICS365`, `JIRA`, `CONFLUENCE`, `META_MARKETING`, `ZENDESK`
    - `table_configuration` (object, optional, Public Preview)
      Configuration settings to control the ingestion of tables. These settings are applied to all tables in the pipeline.
      - `scd_type` (string, optional, Public Preview)
        Possible values: `SCD_TYPE_UNSPECIFIED`, `SCD_TYPE_1`, `SCD_TYPE_2`, `APPEND_ONLY`
        Default: `SCD_TYPE_1`
      - `primary_keys` (array of string, optional, Public Preview)
        The primary key of the table used to apply changes.
      - `sequence_by` (array of string, optional, Public Preview)
        The column names specifying the logical order of events in the source data. Spark Declarative Pipelines uses this sequencing to handle change events that arrive out of order.
      - `include_columns` (array of string, optional, Public Preview)
        A list of column names to be included for the ingestion.
         When not specified, all columns except ones in exclude_columns will be included. Future
         columns will be automatically included.
         When specified, all other future columns will be automatically excluded from ingestion.
         This field in mutually exclusive with `exclude_columns`.
      - `exclude_columns` (array of string, optional, Public Preview)
        A list of column names to be excluded for the ingestion.
         When not specified, include_columns fully controls what columns to be ingested.
         When specified, all other columns including future ones will be automatically included for ingestion.
         This field in mutually exclusive with `include_columns`.
      - `row_filter` (string, optional, Public Preview)
        (Optional, Immutable) The row filter condition to be applied to the table.
         It must not contain the WHERE keyword, only the actual filter condition.
         It must be in DBSQL format.
      - `query_based_connector_config` (object, optional, Public Preview)
      - `auto_full_refresh_policy` (object, optional, Public Preview)
        (Optional, Mutable) Policy for auto full refresh, if enabled pipeline will automatically try
         to fix issues by doing a full refresh on the table in the retry run. auto_full_refresh_policy
         in table configuration will override the above level auto_full_refresh_policy.
         For example,
         {
            "auto_full_refresh_policy": {
              "enabled": true,
              "min_interval_hours": 23,
            }
         }
         If unspecified, auto full refresh is disabled.
      - `table_properties` (object, optional, Beta)
        Table properties to set on the destination table.
         These are key-value pairs that configure various Delta table behaviors or any user defined properties.
         Example: {"delta.feature.variantType": "supported", "delta.enableTypeWidening": "true"}
         Note: table_properties in table specific configuration will override the table_properties of the pipeline definition.
      - `enable_auto_clustering` (boolean, optional, Beta)
        Whether to enable auto clustering on the destination table.
         When enabled, Delta will automatically optimize the data layout
         based on the clustering columns for improved query performance.
         Note: enable_auto_clustering in table specific configuration will override the pipeline definition.
         Note: we can only provide enable_auto_clustering or clustering_columns,
         added as separate fields as we cannot have repeated field in oneof.
        Default: `false`
      - `clustering_columns` (array of string, optional, Beta)
        List of column names to use for clustering the destination table.
         When specified, the destination Delta table will be clustered by these columns.
         This can improve query performance when filtering on these columns.
         Note: clustering_columns in table specific configuration will override the pipeline definition.
         Note: we can only provide enable_auto_clustering or clustering_columns,
         added as separate fields as we cannot have repeated field in oneof.
      - `source_metadata_column` (string, optional, Beta)
        (Optional) Name of the struct column added to each ingested record to hold per row source
         metadata.
    - `source_configurations` (array of object, optional, Public Preview)
      Top-level source configurations
      - `catalog` (object, optional, Public Preview)
        Catalog-level source configuration parameters
    - `full_refresh_window` (object, optional, Public Preview)
      (Optional) A window that specifies a set of time ranges for snapshot queries in CDC.
      - `start_hour` (int32, optional, Public Preview)
        An integer between 0 and 23 denoting the start hour for the window in the 24-hour day.
      - `days_of_week` (array of string, optional, Public Preview)
        Days of week in which the window is allowed to happen
         If not specified all days of the week will be used.
        Possible values: `DAY_OF_WEEK_UNSPECIFIED`, `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`, `SUNDAY`
      - `time_zone_id` (string, optional, Public Preview)
        Time zone id of window. See https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html for details.
         If not specified, UTC will be used.
    - `connector_type` (string, optional, Public Preview)
      (Optional) Connector Type for sources. Ex: CDC, Query Based.
      Possible values: `CONNECTOR_TYPE_UNSPECIFIED`, `CDC`, `QUERY_BASED`
    - `data_staging_options` (object, optional, Public Preview)
      (Optional) Location of staged data storage. This is required for migration from Cdc Managed Ingestion Pipeline
       with Gateway pipeline to Combined Cdc Managed Ingestion Pipeline.
       If not specified, the volume for staged data will be created in catalog and schema/target specified in the
       top level pipeline definition.
      - `catalog_name` (string, optional, Public Preview)
        (Required, Immutable) The name of the catalog for the connector's staging storage location.
      - `schema_name` (string, optional, Public Preview)
        (Required, Immutable) The name of the schema for the connector's staging storage location.
      - `volume_name` (string, optional, Public Preview)
        (Optional) The Unity Catalog-compatible name for the storage location.
         This is the volume to use for the data that is extracted by the connector.
         Spark Declarative Pipelines system will automatically create the volume under the catalog and schema.
         For Combined Cdc Managed Ingestion pipelines default name for the volume would be :
         __databricks_ingestion_gateway_staging_data-$pipelineId
  - `trigger` (object, optional)
    Which pipeline trigger to use. Deprecated: Use `continuous` instead.
    - `manual` (object, required)
    - `cron` (object, required)
      - `quartz_cron_schedule` (string, optional)
      - `timezone_id` (string, optional)
  - `target` (string, optional)
    Target schema (database) to add tables in this pipeline to. Exactly one of `schema` or `target` must be specified. To publish to Unity Catalog, also specify `catalog`. This legacy field is deprecated for pipeline creation in favor of the `schema` field.
  - `schema` (string, optional)
    The default schema (database) where tables are read from or published to.
  - `filters` (object, optional)
    Filters on which Pipeline packages to include in the deployed graph.
    - `include` (array of string, optional)
      Paths to include.
    - `exclude` (array of string, optional)
      Paths to exclude.
  - `continuous` (boolean, optional)
    Whether the pipeline is continuous or triggered. This replaces `trigger`.
    
     Deprecated: wrap the pipeline in a continuous job instead, which also lets you take advantage
     of job-level settings such as performance mode. When the pipeline is started by a continuous
     job, the job's setting takes precedence and this field is ignored.
  - `development` (boolean, optional)
    Whether the pipeline is in Development mode. Defaults to false.
  - `photon` (boolean, optional)
    Whether Photon is enabled for this pipeline.
  - `edition` (string, optional)
    Pipeline product edition.
  - `channel` (string, optional)
    SDP Release Channel that specifies which version to use.
  - `catalog` (string, optional)
    A catalog in Unity Catalog to publish data from this pipeline to. If `target` is specified, tables in this pipeline are published to a `target` schema inside `catalog` (for example, `catalog`.`target`.`table`). If `target` is not specified, no data is published to Unity Catalog.
  - `notifications` (array of object, optional)
    List of notification settings for this pipeline.
    - `email_recipients` (array of string, optional)
      A list of email addresses notified when a configured alert is triggered.
    - `alerts` (array of string, optional)
      A list of alerts that trigger the sending of notifications to the configured
       destinations. The supported alerts are:
      
       * `on-update-success`: A pipeline update completes successfully.
       * `on-update-failure`: Each time a pipeline update fails.
       * `on-update-fatal-failure`: A pipeline update fails with a non-retryable (fatal) error.
       * `on-flow-failure`: A single data flow fails.
  - `serverless` (boolean, optional)
    Whether serverless compute is enabled for this pipeline.
  - `deployment` (object, optional)
    Deployment type of this pipeline.
    - `kind` (string, optional)
      The deployment method that manages the pipeline.
      Possible values: `BUNDLE`
    - `metadata_file_path` (string, optional)
      The path to the file containing metadata about the deployment.
  - `budget_policy_id` (string, optional, Public Preview)
    Budget policy of this pipeline.
  - `tags` (object, optional)
    A map of tags associated with the pipeline.
     These are forwarded to the cluster as cluster tags, and are therefore subject to the same limitations.
     A maximum of 25 tags can be added to the pipeline.
  - `event_log` (object, optional)
    Event log configuration for this pipeline
    - `name` (string, optional)
      The name the event log is published to in UC.
    - `schema` (string, optional)
      The UC schema the event log is published under.
    - `catalog` (string, optional)
      The UC catalog the event log is published under.
  - `root_path` (string, optional, Public Preview)
    Root path for this pipeline.
     This is used as the root directory when editing the pipeline in the <Databricks> user interface and it is
     added to sys.path when executing Python sources during pipeline execution.
    Example: `/Workspace/Users/user.name/my-pipeline`
  - `environment` (object, optional, Public Preview)
    Environment specification for this pipeline used to install dependencies.
    - `dependencies` (array of string, optional, Public Preview)
      List of pip dependencies, as supported by the version of pip in this environment.
       Each dependency is a pip requirement file line https://pip.pypa.io/en/stable/reference/requirements-file-format/
       Allowed dependency could be <requirement specifier>, <archive url/path>, <local project path>(WSFS or Volumes in <Databricks>), <vcs project url>
    - `environment_version` (string, optional, Beta)
      The environment version of the serverless Python environment used to execute
       customer Python code. Each environment version includes a specific Python
       version and a curated set of pre-installed libraries with defined versions,
       providing a stable and reproducible execution environment.
      
       <Databricks> supports a three-year lifecycle for each environment version.
       For available versions and their included packages, see
       https://docs.databricks.com/aws/en/release-notes/serverless/environment-version/
      
       The value should be a string representing the environment version number, for example: `"4"`.
- `state` (string, optional)
  The pipeline state.
  Possible values: `DEPLOYING`, `STARTING`, `RUNNING`, `STOPPING`, `DELETED`, `RECOVERING`, `FAILED`, `RESETTING`, `IDLE`
- `cause` (string, optional)
  An optional message detailing the cause of the pipeline state.
- `cluster_id` (string, optional)
  The ID of the cluster that the pipeline is running on.
- `name` (string, optional)
  A human friendly identifier for the pipeline, taken from the `spec`.
- `health` (string, optional)
  The health of a pipeline.
  Possible values: `HEALTHY`, `UNHEALTHY`
- `creator_user_name` (string, optional)
  The username of the pipeline creator.
- `latest_updates` (array of object, optional)
  Status of the latest updates for the pipeline. Ordered with the newest update first.
  - `update_id` (string, optional)
  - `state` (string, optional)
    Possible values: `QUEUED`, `CREATED`, `WAITING_FOR_RESOURCES`, `INITIALIZING`, `RESETTING`, `SETTING_UP_TABLES`, `RUNNING`, `STOPPING`, `COMPLETED`, `FAILED`, `CANCELED`
  - `creation_time` (string, optional)
- `last_modified` (int64, optional)
  The last time the pipeline settings were modified or created.
- `run_as_user_name` (string, optional)
  Username of the user that the pipeline will run on behalf of.
- `effective_publishing_mode` (string, optional)
  Publishing mode of the pipeline
  Possible values: `PUBLISHING_MODE_UNSPECIFIED`, `LEGACY_PUBLISHING_MODE`, `DEFAULT_PUBLISHING_MODE`
- `run_as` (object, optional)
  The user or service principal that the pipeline runs as, if specified in the request.
   This field indicates the explicit configuration of `run_as` for the pipeline.
   To find the value in all cases, explicit or implicit, use `run_as_user_name`.
  - `user_name` (string, required)
    The email of an active workspace user. Users can only set this field to their own email.
    Example: `user@databricks.com`
  - `service_principal_name` (string, required)
    Application ID of an active service principal. Setting this field requires the `servicePrincipal/user` role.
    Example: `692bc6d0-ffa3-11ed-be56-0242ac120002`
- `parameters` (object, optional, Beta)
  Key/value map of default parameters to use for pipeline execution.
   Maximum total size: 10k characters (JSON format)
- `effective_serverless_compute_id` (string, optional, Beta)
  Serverless compute ID resolved for the pipeline.

## Response

```json
{
  "cluster_id": "1234-567891-abcde123",
  "creator_user_name": "username",
  "latest_updates": [
    {
      "creation_time": "2021-08-13T00:37:30.279Z",
      "state": "COMPLETED",
      "update_id": "8a0b6d02-fbd0-11eb-9a03-0242ac130003"
    },
    {
      "creation_time": "2021-08-13T00:35:51.902Z",
      "state": "CANCELED",
      "update_id": "a72c08ba-fbd0-11eb-9a03-0242ac130003"
    },
    {
      "creation_time": "2021-08-13T00:33:38.565Z",
      "state": "FAILED",
      "update_id": "ac37d924-fbd0-11eb-9a03-0242ac130003"
    }
  ],
  "name": "Wikipedia pipeline (SQL)",
  "pipeline_id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
  "run_as_user_name": "username",
  "spec": {
    "clusters": [
      {
        "autoscale": {
          "max_workers": 5,
          "min_workers": 1,
          "mode": "ENHANCED"
        },
        "label": "default"
      }
    ],
    "continuous": false,
    "deployment": {
      "kind": "BUNDLE",
      "metadata_file_path": "/Users/username/my_project/databricks.yml"
    },
    "id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
    "libraries": [
      {
        "notebook": {
          "path": "/Users/username/SDP Notebooks/Spark Declarative Pipelines quickstart (SQL)"
        }
      }
    ],
    "name": "Wikipedia pipeline (SQL)",
    "storage": "/Users/username/data",
    "target": "wikipedia_quickstart_data"
  },
  "state": "IDLE"
}
```

