Manage Pipelines

Pipeline provides a set of methods for pipeline management, including listing, updating, and deleting pipelines.

Manage Pipelines via API

Explore Public Pipelines

This endpoint returns a paginated list of pipelines that are visible to the requester.

export INSTILL_API_TOKEN=********

curl -X GET 'http://localhost:8080/v1beta/pipelines' \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $INSTILL_API_TOKEN"
from instill.clients import init_pipeline_client

pipeline = init_pipeline_client(api_token="INSTILL_API_TOKEN", url="http://localhost:8080")
pipeline.list_public_pipelines()
pipeline.close()

List Pipelines

This endpoint returns a paginated list of pipelines associated with a specific namespace.

export INSTILL_API_TOKEN=********

curl -X GET 'http://localhost:8080/v1beta/namespaces/NAMESPACE_ID/pipelines' \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $INSTILL_API_TOKEN"
from instill.clients import init_pipeline_client

pipeline = init_pipeline_client(api_token="INSTILL_API_TOKEN", url="http://localhost:8080")
pipeline.list_pipelines(namespace_id="NAMESPACE_ID")
pipeline.close()

Get Pipeline

This endpoint allows for getting a pipeline.

export INSTILL_API_TOKEN=********

curl -X GET 'http://localhost:8080/v1beta/namespaces/NAMESPACE_ID/pipelines/PIPELINE_ID' \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $INSTILL_API_TOKEN"
from instill.clients import init_pipeline_client

pipeline = init_pipeline_client(api_token="INSTILL_API_TOKEN", url="http://localhost:8080")
pipeline.get_pipeline(namespace_id="NAMESPACE_ID", pipeline_id="PIPELINE_ID")
pipeline.close()

Update Pipeline

This endpoint allows for updating a pipeline with a new recipe.

export INSTILL_API_TOKEN=********

curl -X PATCH 'http://localhost:8080/v1beta/namespaces/NAMESPACE_ID/pipelines/PIPELINE_ID' \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $INSTILL_API_TOKEN" \
--data '{ "description": "A brief description of your pipeline", "rawRecipe":
"The YAML recipe of your pipeline" }'
from instill.clients import init_pipeline_client

pipeline = init_pipeline_client(api_token="INSTILL_API_TOKEN", url="http://localhost:8080")
pipeline.update_pipeline(
namespace_id="NAMESPACE_ID",
pipeline_id="PIPELINE_ID",
description="A brief description of your pipeline",
raw_recipe="The YAML recipe of your pipeline",
)
pipeline.close()

Delete Pipeline

This endpoint enables the deletion of a specified pipeline.

 export INSTILL_API_TOKEN=********

curl -X DELETE 'http://localhost:8080/v1beta/namespaces/NAMESPACE_ID/pipelines/PIPELINE_ID' \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $INSTILL_API_TOKEN"
from instill.clients import init_pipeline_client

pipeline = init_pipeline_client(api_token="INSTILL_API_TOKEN", url="http://localhost:8080")
pipeline.delete_pipeline(namespace_id="NAMESPACE_ID", pipeline_id="PIPELINE_ID")
pipeline.close()

Manage Pipelines via Console

List Pipelines

  1. Navigate to the Pipelines page via the navigation bar.
  2. Console will list all pipelines within the selected namespace.

Update Pipeline

The Console features an auto-save capability, eliminating the need for manual saving of pipelines.

Delete Pipeline

  1. On the Pipeline list page, right-click the "More Options" button.
  2. Select Delete to remove the pipeline.