---
title: "ListArtifacts"
method: POST
path: "/depot.ci.v1.CIService/ListArtifacts"
tags: ["CIService"]
---

# ListArtifacts

`POST /depot.ci.v1.CIService/ListArtifacts`

## Request

- Base URL: `https://api.depot.dev`
- URL: `https://api.depot.dev/depot.ci.v1.CIService/ListArtifacts`
- Auth: HTTP bearer

Returns CI artifact metadata for one run, optionally narrowed to a workflow, job, or attempt. Download URLs are not included; request one per artifact with `GetArtifactDownloadURL`.

## Headers

- `Connect-Protocol-Version` 1, required: Define the version of the Connect protocol
- `Connect-Timeout-Ms` number: Define the timeout, in ms

## Request body

- DepotCiV1ListArtifactsRequest
  - `runId` string, required: Unique identifier for the CI run. Returned by `Run`, `DispatchWorkflow`, and `ListRuns`.
  - `workflowId` string, nullable: Narrows the list to artifacts from one workflow. Must belong to the run. Leave unset to include all workflows.
  - `jobId` string, nullable: Narrows the list to artifacts from one job. Must belong to the run, and to `workflowId` when both are set. Leave unset to include all jobs.
  - `attemptId` string, nullable: Narrows the list to artifacts from one job attempt. Must belong to the run, and to `workflowId` and `jobId` when set. Leave unset to include all attempts.
  - `pageSize` integer: Number of artifacts to return per page. Maximum: 500. Default: 100.
  - `pageToken` string: Token to fetch the next page of artifacts. Use the `nextPageToken` value from a prior response with the same filters. Leave empty to fetch the first page.

## Response `200`

Success

- DepotCiV1ListArtifactsResponse
  - `artifacts` DepotCiV1Artifact[]: Artifacts matching the request, up to `pageSize` entries.
    - `artifactId` string: Unique identifier for the artifact. Pass it to `GetArtifactDownloadURL` to download the artifact.
    - `runId` string: Unique identifier for the parent CI run.
    - `workflowId` string: Unique identifier for the parent workflow.
    - `workflowPath` string: Parent workflow file path. For example, ".depot/workflows/ci.yml". Empty when the workflow YAML was passed via `workflowContent` in the `Run` request.
    - `jobId` string: Unique identifier for the parent job.
    - `jobKey` string: Parent job key from the workflow. For example, "build" or "test".
    - `attemptId` string: Unique identifier for the job attempt that produced the artifact.
    - `attempt` integer: Attempt number that produced the artifact, starting at 1.
    - `name` string: Artifact name as authored by the workflow.
    - `sizeBytes` union: Artifact size in bytes.
      - integer
      - string, int64
    - `createdAt` string: Artifact creation time, in RFC 3339 format.
  - `nextPageToken` string, nullable: Token to retrieve the next page of results. Unset when no more pages are available.

## Other responses

- `default`: Error

---

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