# WorkRequest

# WorkRequest

Artifact:[androidx.work:work-runtime](https://developer.android.com/jetpack/androidx/releases/work)  
[View Source](https://cs.android.com/search?q=file:androidx/work/WorkRequest.kt+class:androidx.work.WorkRequest)  
Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/work/WorkRequest "View this page in Java")

<br />

```
abstract class WorkRequest
```

<br />

Known direct subclasses  
[OneTimeWorkRequest](https://developer.android.com/reference/kotlin/androidx/work/OneTimeWorkRequest),[PeriodicWorkRequest](https://developer.android.com/reference/kotlin/androidx/work/PeriodicWorkRequest)  

|---------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|
| [OneTimeWorkRequest](https://developer.android.com/reference/kotlin/androidx/work/OneTimeWorkRequest)   | A[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)for non-repeating work. |
| [PeriodicWorkRequest](https://developer.android.com/reference/kotlin/androidx/work/PeriodicWorkRequest) | A[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)for repeating work.     |

*** ** * ** ***

The base class for specifying parameters for work that should be enqueued in[WorkManager](https://developer.android.com/reference/kotlin/androidx/work/WorkManager). There are two concrete implementations of this class:[OneTimeWorkRequest](https://developer.android.com/reference/kotlin/androidx/work/OneTimeWorkRequest)and[PeriodicWorkRequest](https://developer.android.com/reference/kotlin/androidx/work/PeriodicWorkRequest).

## Summary

|                                                                                                                                                                                                                   ### Nested types                                                                                                                                                                                                                    |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `abstract class `[WorkRequest.Builder](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest.Builder)`<B : `[WorkRequest.Builder](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest.Builder)`<B, *>, W : `[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)`>` A builder for[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s. |

|                                     ### Constants                                     |
|---------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `const `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html) | [DEFAULT_BACKOFF_DELAY_MILLIS](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest#DEFAULT_BACKOFF_DELAY_MILLIS())` = 30000` The default initial backoff time (in milliseconds) for work that has to be retried. |
| `const `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html) | [MAX_BACKOFF_MILLIS](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest#MAX_BACKOFF_MILLIS()) The maximum backoff time (in milliseconds) for work that has to be retried.                                       |
| `const `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html) | [MIN_BACKOFF_MILLIS](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest#MIN_BACKOFF_MILLIS()) The minimum backoff time for work (in milliseconds) that has to be retried.                                       |

|                           ### Public properties                            |
|----------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|
| `open `[UUID](https://developer.android.com/reference/java/util/UUID.html) | [id](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest#id()) The unique identifier associated with this unit of work. |

## Constants

### DEFAULT_BACKOFF_DELAY_MILLIS

```
const val DEFAULT_BACKOFF_DELAY_MILLIS = 30000: Long
```

The default initial backoff time (in milliseconds) for work that has to be retried.  

### MAX_BACKOFF_MILLIS

```
const val MAX_BACKOFF_MILLIS: Long
```

The maximum backoff time (in milliseconds) for work that has to be retried.  

### MIN_BACKOFF_MILLIS

```
const val MIN_BACKOFF_MILLIS: Long
```

The minimum backoff time for work (in milliseconds) that has to be retried.  

## Public properties

### id

Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/work#1.0.0)  

```
open val id: UUID
```

The unique identifier associated with this unit of work.