Pipeline

post
Authorizations
authorizationstringRequired

JWT Authorization header using the Bearer scheme. Example: 'Bearer {token}'

Body
siteIdinteger · uint64Optional
deployPipelinebooleanOptional
Responses
chevron-right
200

A successful response.

application/json
post
/gateway/v1/deserialize-pipeline

Given a list of node IDs, this function returns a map that associates each node ID with a list of pipeline IDs it is connected to. If no results are found, an empty map is returned. If the pipeline status field is empty in the request, all pipeline statuses will be considered by default. Similarly, if the pipeline type field is empty in the request, all pipeline types will be considered by default. Please note that node IDs are required for this function to work properly.

get

Fetch mapping of nodes to pipeline IDs.

Authorizations
authorizationstringRequired

JWT Authorization header using the Bearer scheme. Example: 'Bearer {token}'

Query parameters
nodeIdsinteger · uint64[]Optional
Responses
chevron-right
200

A successful response.

application/json
get
/gateway/v1/node-pipelineids

Add a new pipeline with the given site_id, display_name and description. This returns the pipeline object with fields like id, status, created_at, updated_at.

post

Create a new pipeline.

Authorizations
authorizationstringRequired

JWT Authorization header using the Bearer scheme. Example: 'Bearer {token}'

Body
Responses
chevron-right
200

A successful response.

application/json
post
/gateway/v1/pipeline

Update the pipeline for the given id with the provided site_id, display_name, description and status. If any change has happened on the object in between, this call should fail. previous_update_time must be set to the last available site's update time. This ensures that the object hasn't updated in between.

patch

Create a new pipeline.

Authorizations
authorizationstringRequired

JWT Authorization header using the Bearer scheme. Example: 'Bearer {token}'

Body
lastUpdatedstring · date-timeOptional
Responses
chevron-right
200

A successful response.

application/json
patch
/gateway/v1/pipeline

Replace pipeline graph for the given pipeline_id with the given edges. A new graph is created on every update request and linked to the pipeline with it's the next_graph_version field. It returns the graph object. If no version exists in the request, a new graph is created.

put

Upload or replace a pipeline graph.

Authorizations
authorizationstringRequired

JWT Authorization header using the Bearer scheme. Example: 'Bearer {token}'

Body
pipelineIdinteger · uint64Optional
lastUpdatedstring · date-timeOptional
disableAnalyticsbooleanOptional

Disable analytics is a hack to prevent pipeline-graph creation API from dereferencing SSA / PE nodes that are under construction. SSA and PE nodes are created within a txn and RPC to create pipeline-subgraph and deploy it is issued midway thru the txn. Because we attach analytics subgraph in more complex topologies now such as on-the-sink-dummy (and not just on the source node) the augmentation algorithm needs to know the identity of nodes. With our current (broken) design with nodes and edges of the graph being managed by different services, we either need to abandon txn or use this hack so we prevent pipeline-service from trying to augment the analytics subgraph being made for source-analytics. Once we merge pipeline-manager and site-manager, we'll be ready to remove this hack. We use disable and not enable here because this helps contain the hack within pipeline and site-manager (which would eventually merge and allow removal of this hack). Making it enable would require UI to be aware of it and that would be worse.

Responses
chevron-right
200

A successful response.

application/json
put
/gateway/v1/pipeline-graph

List all pipeline ids and names for the given site(s).

get

List all pipeline names across sites.

Authorizations
authorizationstringRequired

JWT Authorization header using the Bearer scheme. Example: 'Bearer {token}'

Query parameters
siteIdsinteger · uint64[]Optional
Responses
chevron-right
200

A successful response.

application/json
get
/gateway/v1/pipeline-names

List all pipeline status types valid for given site(s). If no sites provided, all possible statuses are returned.

get

List all possible pipeline status types.

Authorizations
authorizationstringRequired

JWT Authorization header using the Bearer scheme. Example: 'Bearer {token}'

Query parameters
siteIdsinteger · uint64[]Optional
Responses
chevron-right
200

A successful response.

application/json
get
/gateway/v1/pipeline-status-types

PerformPipelineAction allows clients to perform actions on a pipeline.

patch

Perform actions on pipeline (pause, resume, etc).

Authorizations
authorizationstringRequired

JWT Authorization header using the Bearer scheme. Example: 'Bearer {token}'

Body
pipelineIdinteger · uint64Optional
graphVersioninteger · int64Optional

Graph version.

actionstring · enumOptional
  • NOP: No operation.
  • DEPLOY: Deploy the pipeline.
  • DELETE: Delete the pipeline.
  • PAUSE: Pause the pipeline.
  • BYPASS: Bypass the pipeline.
  • CANCEL: Cancel the pending action.
Default: NOPPossible values:
Responses
chevron-right
200

A successful response.

application/json
patch
/gateway/v1/pipeline/action

List all pipelines for the given sites. Can be filtered by pipeline_ids, source_ids and statuses. This is a paginated API with values from [offset, offset + page_size).

get

List all deployed pipelines.

Authorizations
authorizationstringRequired

JWT Authorization header using the Bearer scheme. Example: 'Bearer {token}'

Query parameters
siteIdsinteger · uint64[]Optional

Optional. Pipelines will be filtered on site_ids, if present else no filtering on this.

pipelineIdsinteger · uint64[]Optional

Optional. Pipelines will be filtered on ids, if present else no filtering on this.

sourceIdsinteger · uint64[]Optional
pagination.offsetinteger · int64Optional
pagination.limitinteger · int64Optional
pagination.totalCountinteger · int64Optional
pagination.ordering.fieldNamestringOptional
pagination.ordering.descendingbooleanOptional
sinkIdsinteger · uint64[]Optional

Optional. Sink ids of the pipelines, if present else no filtering on this.

namesstring[]Optional

Optional. Pipeline names of the pipelines, if present else no filtering on this.

Responses
chevron-right
200

A successful response.

application/json
get
/gateway/v1/pipelines
get

Download a serialized pipeline specification.

Authorizations
authorizationstringRequired

JWT Authorization header using the Bearer scheme. Example: 'Bearer {token}'

Query parameters
siteIdinteger · uint64Optional
pipelineIdinteger · uint64Optional

ID here represents the ID of the pipeline in DB.

pipelineVersioninteger · int64Optional

TODO: Default to latest pipeline if not specified

Responses
chevron-right
200

A successful response.

application/json
get
/gateway/v1/serialize-pipeline

Delete a pipeline by ID

delete

Deprecated: Use PerformPipelineAction instead.

Deletes the pipeline with the specified ID.

Authorizations
authorizationstringRequired

JWT Authorization header using the Bearer scheme. Example: 'Bearer {token}'

Path parameters
pipelineIdinteger · uint64Required

ID of the pipeline to delete

Responses
chevron-right
200

Pipeline deleted successfully

application/json
delete
/gateway/v1/pipeline/{pipelineId}

Last updated

Was this helpful?