---
title: "List pipeline deliveries"
method: GET
path: "/v1/pipelines/{account}/{pipeline}/deliveries"
---

# List pipeline deliveries

`GET /v1/pipelines/{account}/{pipeline}/deliveries`

## Request

- Base URL: `https://api.skmtc.dev`
- URL: `https://api.skmtc.dev/v1/pipelines/{account}/{pipeline}/deliveries`
- Auth: none declared

List a pipeline's deliveries, newest first. Use this for the delivery
timeline on the pipeline page.

## Path parameters

- `account` string, required
- `pipeline` string, required

## Query parameters

- `cursor` string
- `limit` integer

## Response `200`

The request has succeeded.

- object: A single page of `T` items plus its pagination metadata.
  - `items` PipelineDelivery[], required
    - `id` string, uuid, required: An RFC 4122 UUID, rendered as a string.
    - `status` 'pending' | 'running' | 'succeeded' | 'failed' | 'superseded' | 'skipped', required: In-flight and terminal states of a delivery. `superseded` means a newer latest revision came before the delivery finished. `skipped` means the delivery did not act, e.g. for a pipeline paused before it ran; the delivery's `reasonCode` says why.
    - `apiRevisionId` string, required: Id of the revision this delivery fired for.
    - `actions` PipelineAction[], required: The actions and their settings when the delivery started.
      - union: One action of a pipeline. `type` tells the actions apart.
        - object: Makes code from the project of the subscription's API and this stack. The hub makes the private project (`{api}-{stack}`) from the two.
          - `type` 'generate', required
          - `skipped` boolean, required: A skipped action keeps its settings and does not run; the delivery records it as `skipped`.
          - `stack` StackRef, required: A compact pointer to a stack, with the resolved or requested version.
            - `account` string, required
            - `slug` string, required
            - `version` string, required: Resolved or requested version.
            - `url` string, required: An absolute URL.
            - `htmlUrl` string, required: An absolute URL.
          - `stackPin` StackVersionPin, required: A project's pin to its generator stack. `latest` follows the newest published version (resolved at run creation); `exact` holds `version`. Stack versions are breaking, so `exact` is the usual choice.
            - `mode` 'latest' | 'exact', required: Whether a version pin follows the newest version or holds an exact one.
            - `version` string: Exact published stack version, e.g. `3.0.1`. Present iff `mode` is `exact`.
          - `project` ProjectRef, required: A compact pointer to a project.
            - `account` string, required
            - `slug` string, required
            - `url` string, required: An absolute URL.
            - `htmlUrl` string, required: An absolute URL.
        - object: Pushes the generated code to `repo` and keeps one pull request open against `baseBranch`.
          - `type` 'pullRequest', required
          - `skipped` boolean, required: A skipped action keeps its settings and does not run; the delivery records it as `skipped`.
          - `repo` string, required: Target repository, `owner/name` form.
          - `baseBranch` string: Base branch; omitted = the repository's default branch at delivery time.
          - `credentialId` string, required: The stored git credential used to push and open the PR (`gcr_…`).
        - object: Publishes the generated code, compiled, as a package on the GitHub npm registry. Each delivery publishes the next patch version.
          - `type` 'publish', required
          - `skipped` boolean, required: A skipped action keeps its settings and does not run; the delivery records it as `skipped`.
          - `packageName` string, required: The package name, e.g. `@acme/stripe-sdk`: scoped and lower-case, as GitHub's npm registry takes only scoped names.
          - `firstVersion` string, required: The version of the first publish, e.g. `0.1.0`: `x.y.z`, numbers without leading zeros, no pre-release or build part.
          - `credentialId` string, required: The stored packages token used to publish, e.g. `gcr_…`.
        - object: Sends a signed delivery-result event to an HTTPS destination, after the other actions, also when one of them failed.
          - `type` 'webhook', required
          - `skipped` boolean, required: A skipped action keeps its settings and does not run; the delivery records it as `skipped`.
          - `url` string, required: A webhook destination as a request sends it: at most 2048 characters.
    - `results` PipelineActionResult[], required: One result for each action that has finished, in the order of `actions`. Empty while the delivery is pending, and for a `skipped` delivery.
      - `type` 'generate' | 'pullRequest' | 'publish' | 'webhook', required: The type of an action.
      - `outcome` 'succeeded' | 'failed' | 'skipped' | 'notRun', required: What one action of a delivery came to. `skipped` - the action is set to skip. `notRun` - an earlier action failed, so the delivery stopped before it.
      - `reasonCode` string: A stable machine-readable code, when the action failed or did not run.
      - `detail` string: What the action did or why it failed, e.g. the pull request URL or the published `name@version`.
      - `durationMs` integer: How long the action took; absent for an action that did not run.
    - `reasonCode` string: A stable machine-readable code for a `skipped` or `failed` delivery, e.g. `pipeline_paused`.
    - `startedAt` string, date-time, nullable, required: When the delivery started; `null` while pending.
    - `finishedAt` string, date-time, nullable, required: When the delivery reached a terminal state; `null` while non-terminal.
    - `createdAt` string, date-time, required
    - `url` string, required: An absolute URL.
  - `pagination` Pagination, required: Cursor-pagination metadata returned alongside every list page.
    - `nextCursor` string: Opaque cursor to pass back as `cursor` for the next page.
    - `hasMore` boolean, required: Whether a further page exists.
    - `totalCount` integer: Total matching items, when the backend can compute it cheaply.
    - `offset` integer: Zero-based index of this page's first item within the full result set. Returned by offset-paginated lists (e.g. the control windowed tables) so a client can map an absolute row index to a position in `items`, and by `GET /v1/apis` on a cursor page read with `withOffset`.

## Other responses

- `403`: Binds a concrete HTTP `Status` to the shared `ApiError` body.
- `404`: Binds a concrete HTTP `Status` to the shared `ApiError` body.

---

[API](https://skmtc.dev/skmtc/apis/skmtc-api.md) - [All operations](https://skmtc.dev/skmtc/apis/skmtc-api/llms.txt) - [OpenAPI document](https://skmtc.dev/skmtc/apis/skmtc-api/revisions/b8f6f4680243?raw)
