Skip to main content
Pipelines are the primary unit of automation in Arcentra. A pipeline is a versioned definition that describes how to build, test, deliver, or operate a project. Each execution of a pipeline produces a PipelineRun.

Concepts

  • Pipeline — versioned definition that lives next to a project. It can be stored inline or backed by a Git repository through a pipeline.yaml file.
  • Stage — an ordered group of jobs. A pipeline may declare multiple stages or use the jobs shorthand, in which case Arcentra wraps the jobs in a default stage.
  • Job — a unit of work scheduled to a single agent. Jobs declare the steps to run and any conditions or matrix expansion.
  • Step — the atomic action. A step is either a builtin (such as shell) or a plugin invocation through uses + action + args.
  • PipelineRun / JobRun / StepRun — runtime objects with their own state, status, logs, artifacts, and timing.
  • Triggermanual, cron, or event (webhook). Triggers can be combined with approval gates.

Statuses

Pipeline definition

Pipelines are defined as structured specs. The two supported shapes are:
The jobs-only shorthand omits the stages wrapper:
Both shapes can declare Source, Approval, Target, Notify, and Triggers blocks. See the upstream pipeline docs in the source repository for the full schema and DSL reference.

HTTP API

The HTTP surface lives under /api/v1/pipelines on the control plane.

Authentication

All endpoints require a bearer token:
Requests and responses use application/json.

Response envelope

Successful responses with a body:
Successful responses without a body:
Errors:

Endpoints

Pipeline management

  • POST /api/v1/pipelines
  • PUT /api/v1/pipelines/:pipelineId
  • GET /api/v1/pipelines/:pipelineId
  • GET /api/v1/pipelines
  • DELETE /api/v1/pipelines/:pipelineId

Definition

  • GET /api/v1/pipelines/:pipelineId/spec
  • POST /api/v1/pipelines/:pipelineId/spec/validate
  • POST /api/v1/pipelines/:pipelineId/spec/save

Run control

  • POST /api/v1/pipelines/:pipelineId/trigger
  • GET /api/v1/pipelines/:pipelineId/runs
  • GET /api/v1/pipelines/runs/:runId
  • POST /api/v1/pipelines/:pipelineId/runs/:runId/stop
  • POST /api/v1/pipelines/:pipelineId/runs/:runId/pause
  • POST /api/v1/pipelines/:pipelineId/runs/:runId/resume

Common request shapes

Create pipeline

Validate definition

Save definition

Definition endpoints accept structured spec only. The legacy content text field has been removed.

Trigger pipeline

Pause / resume / stop

Enumerations

  • saveMode: direct, pr
  • format: json, yaml, yml
  • Pipeline status: pending, running, success, failed, cancelled, paused

Realtime updates

Live pipeline, job, and step updates are exposed through:
  • A WebSocket gateway at GET /api/v1/ws for log and status subscriptions.
  • gRPC streaming services (stream.v1) for server-to-server integrations.
See the API reference for the WebSocket message envelope and the gRPC stream catalog.
Last modified on April 26, 2026