---
title: "DownloadJob"
description: "one file of a download set through the download manager: resumable by byte range, pausable, bounded by residency, landing in bronze or the person's workspace"
section: concepts
address: /concepts/downloadjob
contract: 0476e35e6e275db5
---

# DownloadJob

one file of a download set through the download manager: resumable by byte range, pausable, bounded by residency, landing in bronze or the person's workspace

[figure: DownloadJob is a work at follows scope. The drawing shows its fields and the objects that they point at.]

| property | value |
|---|---|
| kind | work |
| scope | follows |
| key | the address and the caller |
| store | postgres |
| family | sources |



## Fields


| field | type | required | note |
|---|---|---|---|
| `address` | `text` | yes |  |
| `set` | `id` | yes | the download set it belongs to |
| `identity` | `id` | no | the page's session or a held identity |
| `filter` | [ResourceFilter](/concepts/resourcefilter) | yes |  |
| `bytes_expected` | `count` | no |  |
| `bytes_done` | `count` | yes |  |
| `destination` | `one of bronze \| the workspace` | yes |  |
| `artefact_hash` | `hash` | no |  |
| `failure` | [FailureClass](/concepts/failureclass) | no |  |



## Routes that use it
No route takes or returns DownloadJob directly. The record holds it, and the objects that point at it reach it.
