The manually-dispatchable catalog at a ref (ADR-0043 §4). Resolves `ref` to a concrete commit (echoed back), enumerates every `.scarab/*.{yaml,yml}` at it (direct children only — `.scarab/lib/**` is excluded, mirroring webhook discovery), and reports each pipeline's `manual`/`api` opt-in from a **lightweight `on:`-only parse** (no `invoke:` pre-fetch, no full compile — that cost is deferred to the on-selection interface read). A single file that fails to parse is flagged with an `error` rather than failing the whole list; an absent `.scarab/` yields an empty catalog, not an error. Read capability.
const url = 'https://example.com/v1/repos/example/example/pipelines';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/v1/repos/example/example/pipelinesParameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Repo owner
Repo name
Query Parameters
Section titled “Query Parameters”Ref to read the config at (default HEAD)
Responses
Section titled “Responses”Dispatch catalog at the resolved commit
GET /v1/repos/{org}/{repo}/pipelines?ref= body: the manually-dispatchable
catalog at a ref (ADR-0043 §4). Lightweight — each entry is an on:-only
read, not a full compile. sha is the ref resolved to a concrete commit.
object
Every .scarab/*.{yaml,yml} at the commit (excluding .scarab/lib/**),
path-sorted.
One pipeline in the dispatch catalog: its selection name and whether it
opts into manual / api dispatch (its on: includes that trigger).
object
This pipeline declares on: api — its programmatic dispatch sibling.
Set when this single file failed to parse — the rest of the catalog still lists (a broken sibling does not fail the whole listing, ADR-0043 §4).
This pipeline declares on: manual — it appears in the human catalog.
The bare selection name (e.g. deploy) — what a describe/dispatch call
passes as pipeline.
The ref resolved to a concrete commit — the catalog reflects this exact commit, and a subsequent describe/dispatch should pin to it.
Examplegenerated
{ "pipelines": [ { "api": true, "error": "example", "manual": true, "name": "example" } ], "sha": "example"}