> ## Documentation Index
> Fetch the complete documentation index at: https://docs.osmedeus.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Artifacts

> List and download output artifacts from workflow runs

# Artifacts

## List Artifacts

Get a paginated list of all artifacts across workspaces.

```bash theme={null}
curl http://localhost:8002/osm/api/artifacts \
  -H "Authorization: Bearer $TOKEN"
```

**With pagination:**

```bash theme={null}
curl "http://localhost:8002/osm/api/artifacts?offset=0&limit=50" \
  -H "Authorization: Bearer $TOKEN"
```

**Filter by workspace:**

```bash theme={null}
curl "http://localhost:8002/osm/api/artifacts?workspace=example.com" \
  -H "Authorization: Bearer $TOKEN"
```

**Query Parameters:**

| Parameter   | Type   | Default | Description               |
| ----------- | ------ | ------- | ------------------------- |
| `workspace` | string | -       | Filter by workspace name  |
| `offset`    | int    | 0       | Pagination offset         |
| `limit`     | int    | 20      | Maximum records to return |

**Response:**

```json theme={null}
{
  "data": [
    {
      "id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "run_id": 1,
      "workspace": "example.com",
      "name": "subdomains.txt",
      "artifact_path": "/workspaces/example.com/subdomains.txt",
      "artifact_type": "output",
      "content_type": "txt",
      "size_bytes": 4523,
      "line_count": 150,
      "description": "Discovered subdomains",
      "created_at": "2025-01-15T10:01:45Z"
    },
    {
      "id": "d4e5f6a7-b8c9-0123-def0-234567890123",
      "run_id": 1,
      "workspace": "example.com",
      "name": "nuclei-results.json",
      "artifact_path": "/workspaces/example.com/nuclei-results.json",
      "artifact_type": "output",
      "content_type": "json",
      "size_bytes": 15234,
      "line_count": 45,
      "description": "Nuclei vulnerability scan results",
      "created_at": "2025-01-15T10:15:00Z"
    }
  ],
  "pagination": {
    "total": 100,
    "offset": 0,
    "limit": 20
  }
}
```

***

## Download Workspace Artifact

Download all artifacts from a workspace as a zip file.

```bash theme={null}
curl http://localhost:8002/osm/api/artifacts/example.com \
  -H "Authorization: Bearer $TOKEN" \
  --output example.com_artifacts.zip
```

**Response:**

* On success: Returns a zip file containing all artifacts
* Response headers include:
  * `Content-Disposition: attachment; filename=<workspace>_artifacts.zip`
  * `Content-Type: application/zip`

**Error Response (404):**

```json theme={null}
{
  "error": true,
  "message": "Workspace not found: example.com"
}
```

***

## Artifact Types

| Type         | Description                                           |
| ------------ | ----------------------------------------------------- |
| `report`     | Generated reports from the workflow's reports section |
| `state_file` | State files like run-state.json, run-execution.log    |
| `output`     | General output files from steps                       |
| `screenshot` | Screenshots captured during the scan                  |

## Content Types

Detected content types based on file extension:

* `json`, `jsonl`, `yaml`, `html`, `md`, `log`, `pdf`, `png`, `txt`, `zip`, `folder`, `unknown`
