---
title: "Endpoint to get artifact downloaded event reports"
method: POST
path: "/reports/artifact_downloads"
tags: ["reports"]
---

# Endpoint to get artifact downloaded event reports

`POST /reports/artifact_downloads`

## Generates artifact downloaded report for records satisfying given filter conditions.
* This feature is only available for admin users.
* from_date, to_date and download_as are mandatory fields.
* usernames list and channel names list are optional fields.
* Example: If you enter a date duration, give list of channel names, list of user names in the request, 
 you get a report of artifact downloaded details downloaded during that duration AND (from the channel names
 given OR downloaded by what users specified).

## Request body

- ArtifactDownloadReportRequest — Artifact download report request to be downloaded from a given start date to a given end date channel id and user id filters are optional
  - `from_date` string, date, required — * Report start date. * Supported date formats: - '%Y-%m-%d'
  - `to_date` string, date, required — * Report end date. * Supported date formats: - '%Y-%m-%d'
  - `download_as` 'json' | 'csv', required — * Specifies the format of report download file. * The report name will follow the convention ArtifactsReport_{timestamp('%Y%m%d_%H%M%S')}
  - `channel_names` string[], nullable — List of Channel names
  - `user_names` string[], nullable — List of user names

## Response `200`

Returns artifact download report file successfully  based on download_as option selected

- object
  - `items` ArtifactDownloadReportResponse[]
    - `artifact_downloaded_at` string
    - `user_id` string
    - `user_ip_address` string
    - `username` string
    - `host_username` string
    - `channel_id` string
    - `channel_name` string
    - `artifact_family` string
    - `artifact_ckey` string
    - `artifact_sha256` string
    - `environment` string
    - `hostname` string
    - `cves_count` integer
    - `cve_score` number
    - `cve_status` 'reported' | 'active' | 'mitigated' | 'cleared' | 'disputed' | 'unknown'
    - `cve_information` object[]
      - `id` string
      - `score` number — Maximum score of the CVE
      - `status` string — CVE status
      - `curated` boolean — Indicates whether CVE has curated status
      - `published_at` string — date when the CVE has been published in NVD
      - `nvd_modified_at` string — latest date when the CVE was updated in NVD
      - `anaconda_modified_at` string — latest date when the CVE was curated by Anaconda
    - `user_agent_headers` string

## Other responses

- `400` — Server cannot execute request due to something that is perceived to be a client error
- `401` — Unauthenticated, no token is provided or token is invalid
- `403` — Access is forbidden
- `500` — Internal server error

---

[API](https://skmtc.net/anaconda/apis/anaconda-server-api.md) · [All operations](https://skmtc.net/anaconda/apis/anaconda-server-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/anaconda/anaconda-server-api/versions/6aef0cb7a151/schema)
