---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.2
alternate:
  - https://sourcecraft.dev/portal/docs/en/api-ref/Withdrawn/GetCubeArtifactsDeprecated.md
  - https://sourcecraft.dev/portal/docs/ru/api-ref/Withdrawn/GetCubeArtifactsDeprecated.md
  - href: en/api-ref/Withdrawn/GetCubeArtifactsDeprecated.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://sourcecraft.dev/portal/docs/en/llms.txt

<div class="openapi">

# Get Artifacts from a CI Run

<!-- markdownlint-disable-file -->

[Deprecated](*Deprecated){.openapi-deprecated}

Endpoint is deprecated, please use `GET /repos/{org_slug}/{repo_slug}/cicd/artifacts/{run_slug}/{workflow_slug}/{task_slug}/{cube_slug}` instead

## Request

<div class="openapi__requests">

<div class="openapi__request__wrapper" style="--method: var(--dc-openapi-methods-get);margin-bottom: 12px">

<div class="openapi__request">

GET {.openapi__method}
```text translate=no
https://api.sourcecraft.tech/{org_slug}/{repo_slug}/cicd/artifacts/{run_slug}/{workflow_slug}/{task_slug}/{cube_slug}
```

</div>

</div>

</div>

### Path parameters

#|
|| **Name** | **Description** ||
||

_cube_slug_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

Cube name as defined in the config.

_Example:_{.json-schema-reset .json-schema-example} ``
{.table-cell}
||
||

_org_slug_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

_Example:_{.json-schema-reset .json-schema-example} ``
{.table-cell}
||
||

_repo_slug_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

_Example:_{.json-schema-reset .json-schema-example} ``
{.table-cell}
||
||

_run_slug_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

_Example:_{.json-schema-reset .json-schema-example} ``
{.table-cell}
||
||

_task_slug_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

Task name as defined in the config.

_Example:_{.json-schema-reset .json-schema-example} ``
{.table-cell}
||
||

_workflow_slug_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

Workflow name as defined in the config.

_Example:_{.json-schema-reset .json-schema-example} ``
{.table-cell}
||
|#{.json-schema-properties}

## Responses

<div class="openapi__response__code__200">

## 200 OK

A successful response.

<div class="openapi-entity">

### Body

{% cut "application/json" %}

```json translate=no
{
  "artifacts": [
    {
      "id": "example",
      "local_path": "example",
      "dates": {
        "registered_at": "2025-01-01T00:00:00Z",
        "obtained_at": "2025-01-01T00:00:00Z",
        "updated_at": "2025-01-01T00:00:00Z"
      },
      "status": "registered",
      "download_url": "example"
    }
  ]
}
```

{% endcut %}

#|
|| **Name** | **Description** ||
||

_artifacts_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: [Artifact](#entity-Artifact)[]

List of artifacts filtered by specified workflow/task/cube.
Each item contains info about the artifact and a temporary download URL.

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
[
  {
    "id": "example",
    "local_path": "example",
    "dates": {
      "registered_at": "2025-01-01T00:00:00Z",
      "obtained_at": "2025-01-01T00:00:00Z",
      "updated_at": "2025-01-01T00:00:00Z"
    },
    "status": "registered",
    "download_url": "example"
  }
]
```

{% endcut %}
{.table-cell}
||
|#{.json-schema-properties}

</div>

<div class="openapi-entity">

### ArtifactDates {#entity-ArtifactDates}

#|
|| **Name** | **Description** ||
||

_obtained_at_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string&lt;date-time&gt;

_Example:_{.json-schema-reset .json-schema-example} `2025-01-01T00:00:00Z`
{.table-cell}
||
||

_registered_at_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string&lt;date-time&gt;

_Example:_{.json-schema-reset .json-schema-example} `2025-01-01T00:00:00Z`
{.table-cell}
||
||

_updated_at_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string&lt;date-time&gt;

_Example:_{.json-schema-reset .json-schema-example} `2025-01-01T00:00:00Z`
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "registered_at": "2025-01-01T00:00:00Z",
  "obtained_at": "2025-01-01T00:00:00Z",
  "updated_at": "2025-01-01T00:00:00Z"
}
```

{% endcut %}

</div>

<div class="openapi-entity">

### ArtifactStatus {#entity-ArtifactStatus}

**Type**: string

_Enum:_{.json-schema-reset .json-schema-value} `registered`, `success`, `failed`, `missing`

</div>

<div class="openapi-entity">

### Artifact {#entity-Artifact}

#|
|| **Name** | **Description** ||
||

_dates_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: [ArtifactDates](#entity-ArtifactDates)

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "registered_at": "2025-01-01T00:00:00Z",
  "obtained_at": "2025-01-01T00:00:00Z",
  "updated_at": "2025-01-01T00:00:00Z"
}
```

{% endcut %}
{.table-cell}
||
||

_download_url_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string

A temporary download URL, will be valid for a short period of time after acquisition.

_Example:_{.json-schema-reset .json-schema-example} `example`
{.table-cell}
||
||

_id_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string

_Example:_{.json-schema-reset .json-schema-example} `example`
{.table-cell}
||
||

_local_path_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string

Artifacts do not have a slug as we define it.
Instead they are differentiated by context (workflow, task, cube) and `local_path`.
This is a local path for the artifact as defined in the CI configuration file.

_Example:_{.json-schema-reset .json-schema-example} `example`
{.table-cell}
||
||

_status_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: [ArtifactStatus](#entity-ArtifactStatus)

_Enum:_{.json-schema-reset .json-schema-value} `registered`, `success`, `failed`, `missing`
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "id": "example",
  "local_path": "example",
  "dates": {
    "registered_at": "2025-01-01T00:00:00Z",
    "obtained_at": "2025-01-01T00:00:00Z",
    "updated_at": "2025-01-01T00:00:00Z"
  },
  "status": "registered",
  "download_url": "example"
}
```

{% endcut %}

</div>

</div>

<div class="openapi__response__code__default">

## default

Both Client Errors (4xx) and Server Errors (5xx) are serialized into this scheme

<div class="openapi-entity">

### Body

{% cut "application/json" %}

```json translate=no
{
  "error_code": "example",
  "message": "example",
  "request_id": "example",
  "details": null
}
```

{% endcut %}

#|
|| **Name** | **Description** ||
||

_details_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: unknown

_Example:_{.json-schema-reset .json-schema-example} `null`
{.table-cell}
||
||

_error_code_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string

_Example:_{.json-schema-reset .json-schema-example} `example`
{.table-cell}
||
||

_message_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string

_Example:_{.json-schema-reset .json-schema-example} `example`
{.table-cell}
||
||

_request_id_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string

_Example:_{.json-schema-reset .json-schema-example} `example`
{.table-cell}
||
|#{.json-schema-properties}

</div>

</div>

</div>

[*Deprecated]: No longer supported, please use an alternative and newer version.