---
title: "Create New Pipeline"
method: POST
path: "/v1/pipeline/create"
tags: ["Pipelines"]
---

# Create New Pipeline

`POST /v1/pipeline/create`

## Request body

- union
  - FileTriggerInputPipeline
    - `name` string, required
    - `description` string, nullable
    - `protocolSlug` string, nullable
    - `protocolVersion` string, nullable
    - `priority` integer
    - `retryBehavior` 'off' | 'oom_only' | 'linear' | 'constant' | 'exponential', nullable
    - `retryConfiguration` object
      - `baseDelaySeconds` integer
      - `maxRetries` integer
    - `standby` integer, nullable
    - `status` 'disabled', nullable
    - `taskScriptTimeoutMins` integer, nullable
    - `maxParallelWorkflows` integer
    - `createdAt` string
    - `pipelineConfig` PipelineConfig
    - `stepsConfig` object
    - `artifactType` 'protocol' | 'tetraflow'
    - `clusterId` string, nullable — DEPRECATED: Prefer clusterPolicyId for cost-effective ephemeral job clusters.
    - `clusterPolicyId` string, nullable — Databricks cluster policy ID for job clusters. Preferred over clusterId for cost-effective ephemeral compute. Takes precedence if both are provided.
    - `runOnDeleted` boolean
    - `masterScriptNamespace` string, nullable
    - `masterScriptVersion` string, nullable
    - `masterScriptSlug` string, nullable
    - `inlineArtifact` object, nullable
    - `id` string, uuid — ignored when provided in Query parameters
    - `orgSlug` string — ignored when provided in URL/Headers
    - `message` string
    - `updatedAt` string
    - `labels` PipelineNestedLabel[]
      - `name` string, required
      - `value` string, required
    - `triggerType` 'custom', required
    - `triggerCondition` union, required
      - object
      - TriggerConditionGroup
        - `groupLevel` integer, required
        - `groupOperator` 'AND' | 'OR', required
        - `groups` union[], required
          - union
            - TriggerConditionGroup — recursive
            - object
              - …
  - ScheduledTriggerInputPipeline
    - `name` string, required
    - `description` string, nullable
    - `protocolSlug` string, nullable
    - `protocolVersion` string, nullable
    - `priority` integer
    - `retryBehavior` 'off' | 'oom_only' | 'linear' | 'constant' | 'exponential', nullable
    - `retryConfiguration` object
      - `baseDelaySeconds` integer
      - `maxRetries` integer
    - `standby` integer, nullable
    - `status` 'disabled', nullable
    - `taskScriptTimeoutMins` integer, nullable
    - `maxParallelWorkflows` integer
    - `createdAt` string
    - `pipelineConfig` PipelineConfig
    - `stepsConfig` object
    - `artifactType` 'protocol' | 'tetraflow'
    - `clusterId` string, nullable — DEPRECATED: Prefer clusterPolicyId for cost-effective ephemeral job clusters.
    - `clusterPolicyId` string, nullable — Databricks cluster policy ID for job clusters. Preferred over clusterId for cost-effective ephemeral compute. Takes precedence if both are provided.
    - `runOnDeleted` boolean
    - `masterScriptNamespace` string, nullable
    - `masterScriptVersion` string, nullable
    - `masterScriptSlug` string, nullable
    - `inlineArtifact` object, nullable
    - `id` string, uuid — ignored when provided in Query parameters
    - `orgSlug` string — ignored when provided in URL/Headers
    - `message` string
    - `updatedAt` string
    - `labels` PipelineNestedLabel[]
      - `name` string, required
      - `value` string, required
    - `triggerType` 'sched', required
    - `triggerCondition` object, required
      - `cron` string, required
      - `tz` string, required

## Response `200`

Success

- union
  - FileTriggerOutputPipeline
    - `name` string, required
    - `description` string, nullable
    - `protocolSlug` string, nullable
    - `protocolVersion` string, nullable
    - `priority` integer
    - `retryBehavior` 'off' | 'oom_only' | 'linear' | 'constant' | 'exponential', nullable
    - `retryConfiguration` object
      - `baseDelaySeconds` integer
      - `maxRetries` integer
    - `standby` integer, nullable
    - `status` 'disabled', nullable
    - `taskScriptTimeoutMins` integer, nullable
    - `maxParallelWorkflows` integer
    - `createdAt` string
    - `pipelineConfig` PipelineConfig
    - `stepsConfig` object
    - `artifactType` 'protocol' | 'tetraflow'
    - `clusterId` string, nullable — DEPRECATED: Prefer clusterPolicyId for cost-effective ephemeral job clusters.
    - `clusterPolicyId` string, nullable — Databricks cluster policy ID for job clusters. Preferred over clusterId for cost-effective ephemeral compute. Takes precedence if both are provided.
    - `runOnDeleted` boolean
    - `masterScriptNamespace` string, nullable
    - `masterScriptVersion` string, nullable
    - `masterScriptSlug` string, nullable
    - `inlineArtifact` object, nullable
    - `id` string, uuid — ignored when provided in Query parameters
    - `orgSlug` string — ignored when provided in URL/Headers
    - `revision` number
    - `updatedAt` string
    - `protocolSchema` 'v2' | 'v3' | 'tfv1'
    - `labels` PipelineNestedLabel[]
      - `name` string, required
      - `value` string, required
    - `triggerType` 'custom', required
    - `triggerCondition` union, required
      - object
      - TriggerConditionGroup
        - `groupLevel` integer, required
        - `groupOperator` 'AND' | 'OR', required
        - `groups` union[], required
          - union
            - TriggerConditionGroup — recursive
            - object
              - …
  - ScheduledTriggerOutputPipeline
    - `name` string, required
    - `description` string, nullable
    - `protocolSlug` string, nullable
    - `protocolVersion` string, nullable
    - `priority` integer
    - `retryBehavior` 'off' | 'oom_only' | 'linear' | 'constant' | 'exponential', nullable
    - `retryConfiguration` object
      - `baseDelaySeconds` integer
      - `maxRetries` integer
    - `standby` integer, nullable
    - `status` 'disabled', nullable
    - `taskScriptTimeoutMins` integer, nullable
    - `maxParallelWorkflows` integer
    - `createdAt` string
    - `pipelineConfig` PipelineConfig
    - `stepsConfig` object
    - `artifactType` 'protocol' | 'tetraflow'
    - `clusterId` string, nullable — DEPRECATED: Prefer clusterPolicyId for cost-effective ephemeral job clusters.
    - `clusterPolicyId` string, nullable — Databricks cluster policy ID for job clusters. Preferred over clusterId for cost-effective ephemeral compute. Takes precedence if both are provided.
    - `runOnDeleted` boolean
    - `masterScriptNamespace` string, nullable
    - `masterScriptVersion` string, nullable
    - `masterScriptSlug` string, nullable
    - `inlineArtifact` object, nullable
    - `id` string, uuid — ignored when provided in Query parameters
    - `orgSlug` string — ignored when provided in URL/Headers
    - `revision` number
    - `updatedAt` string
    - `protocolSchema` 'v2' | 'v3' | 'tfv1'
    - `labels` PipelineNestedLabel[]
      - `name` string, required
      - `value` string, required
    - `triggerType` 'sched', required
    - `triggerCondition` object, required
      - `cron` string, required
      - `tz` string, required — Java Timezone https://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html

## Other responses

- `400` — Incorrect input provided

---

[API](https://skmtc.net/tetrascience/apis/tetra-data-lake.md) · [All operations](https://skmtc.net/tetrascience/apis/tetra-data-lake/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tetrascience/tetra-data-lake/versions/0205e2bace53/schema)
