Semogram Docs
Data PipelinesReference

Input methods and public interfaces

Use UI, assistant, HTTP API and MCP actions with their actual lifecycle behavior

Pipeline authoring has several entry points. The UI exposes graph inspectors and assisted authoring. An assistant can propose or call tools with authorized inputs. HTTP API calls use resource URLs and an API key. MCP calls use tools/call over an authenticated, initialized MCP session. They are different request formats.

You need a Semogram account or a workspace API key with the required permissions and project access. Current public mutations/run access require an accountable actor associated with the key. Do not use internal session-cookie UI routes as API-key endpoints.

Create a pipeline

Assistant prompt
Create a pipeline from our tested source endpoint to our dedicated destination endpoint. Show the actual targets and graph, validate the proposal, and keep creation separate from execution.

Open Pipeline Studio → New pipeline in the project. Describe the task, review the proposed graph and resolve dependencies. Inspect node fields, validate and save before launch.

Save the complete creation body as pipeline-create.json and replace its four illustrative resource UUIDs with the actual project/workspace/source/destination.

HTTP creation
curl --request POST "https://platform.semogram.com/api/v1/projects/<PROJECT_ID_UUID>/pipelines" \
  --header "Authorization: Bearer ${SEMOGRAM_API_KEY}" \
  --header "Idempotency-Key: pipeline-create-example-001" \
  --header "Content-Type: application/json" \
  --data-binary @pipeline-create.json

Requires pipelines:write. Returns a pipeline, initial version and draft; does not launch a run.

Call pipeline_create with the same full document, optional workspaceState/commitMessage, required idempotencyKey, and projectId on the workspace connection. First pipeline includes the complete MCP envelope and graph. On a project-bound connection, follow its discovered schema and omit redundant project selection.

Supported actions

All HTTP paths below begin with https://platform.semogram.com/api/v1/projects/<PROJECT_ID>. Use Authorization: Bearer ${SEMOGRAM_API_KEY}. JSON bodies use Content-Type: application/json. HTTP idempotency headers are not fields to copy blindly into unrelated bodies.

ActionHTTP method and pathBody / scopeMCP equivalent
ListGET /pipelinesPagination/name filter; pipelines:readpipeline_list
InspectGET /pipelines/<PIPELINE_ID>No body; pipelines:readpipeline_get
CreatePOST /pipelinesdocument, optional workspaceState/commitMessage; pipelines:write; Idempotency-Keypipeline_create
Read actor draftGET /pipelines/<PIPELINE_ID>/draftNo body; pipelines:readNo dedicated draft-get tool
Save actor draftPUT /pipelines/<PIPELINE_ID>/draftdocument, optional workspaceState; pipelines:writepipeline_draft_save
Validate actor draftPOST /pipelines/<PIPELINE_ID>/draft/validateNo body; pipelines:readpipeline_validate
Commit versionPOST /pipelines/<PIPELINE_ID>/versionsdocument, optional branchName/commitMessage; pipelines:write; Idempotency-KeyNo dedicated commit tool
Read versionsGET /pipelines/<PIPELINE_ID>/versionsOptional versionId query; pipelines:readNo dedicated history tool
Activate versionPOST /pipelines/<PIPELINE_ID>/versions/<VERSION_ID>/activateOptional matching versionId; pipelines:writeNo dedicated activation tool
Create branchPOST /pipelines/<PIPELINE_ID>/branchesname, optional sourceVersionId; pipelines:write; Idempotency-KeyNo dedicated branch tool
Replace document/versionPUT /pipelines/<PIPELINE_ID>document, optional branchName/commitMessage; pipelines:writeNo dedicated full-version replacement tool
Change settingsPATCH /pipelines/<PIPELINE_ID>name, description, optional tags; pipelines:writeNo dedicated settings tool
Delete pipelineDELETE /pipelines/<PIPELINE_ID>pipelines:write; permanent definition/version removalpipeline_delete with id, confirm and idempotencyKey
LaunchPOST /pipelines/<PIPELINE_ID>/executeNo body; pipelines:execute; Idempotency-Keypipeline_execute
Inspect runGET /runs/<RUN_ID>No body; runs:readjob_get
List runsGET /runsPagination/status/pipelineId filter; runs:readNo dedicated pipeline-run list tool
Cancel runNo public routeUse UI or MCPpipeline_run_cancel
Schedule actionsNo public routeUse UI or MCPpipeline_schedule_* tools exposed by discovery

HTTP POST /runs is an additional launch action with body containing pipelineId, pipelines:execute and an idempotency header. It is not the same as the no-body execute route. MCP pipeline_schedule_delete is a separate lifecycle tool requiring pipelineId, scheduleId, confirm: true and idempotencyKey (plus project selection on the workspace connection). Review the exact schedule before deleting; retained runs remain separate records.

Save a draft

Use a full document, not just a changed node. HTTP draft save does not take the MCP idempotency/basedOnVersion fields.

Edit the graph and use supported draft persistence. To commit the executable revision, select Save version separately.

Assistant prompt
Apply the reviewed node changes to this pipeline draft, validate it and show the differences from its base version. Do not start a run or assume saving the draft activates a version.

Prepare pipeline-draft.json containing { "document": ... } with the full valid graph, then:

Save actor draft
curl --request PUT "https://platform.semogram.com/api/v1/projects/<PROJECT_ID_UUID>/pipelines/<PIPELINE_ID_UUID>/draft" \
  --header "Authorization: Bearer ${SEMOGRAM_API_KEY}" \
  --header "Content-Type: application/json" \
  --data-binary @pipeline-draft.json

Use pipeline_draft_save with pipelineId, the full document, optional workspaceState/basedOnVersionId, idempotencyKey and project selection. It replaces the acting user’s draft. Use UI or HTTP version commit when you want to change the saved executable revision.

Validate, commit and run in order

Validate the acting user's draft, inspect issues, commit the intended full document and inspect the active version before executing. A 202 launch response is accepted work; retain runId and inspect it using runs:read. Saving a draft followed immediately by execute can launch the older active version.

Use one idempotency key for the same payload/action when retrying an uncertain mutation. Use a different key for a genuinely new operation. This protects API/MCP request identity, not every connector’s row writes. Runs explains actual output verification and recovery.