# RequiresApi

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

*** ** * ** ***


```
@MustBeDocumented
@Retention(value = AnnotationRetention.BINARY)
@Target(allowedTargets = [AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FIELD, AnnotationTarget.FILE])
@OptionalExpectation
public annotation RequiresApi
```

<br />

*** ** * ** ***

Denotes that the annotated element should only be called on the given Android API level or higher.

This is similar in purpose to the older `@TargetApi` annotation, but more clearly expresses that this is a requirement on the caller, rather than being used to "suppress" warnings within the method that exceed the `minSdkVersion`.

For API requirements on SDK extensions, see the androidx.annotation.RequiresExtension annotation.

## Summary

| ### Public methods |
|---|---|
| `final int` | `https://developer.android.com/reference/androidx/annotation/RequiresApi#getApi()()` The API level to require |
| `final int` | `https://developer.android.com/reference/androidx/annotation/RequiresApi#getValue()()` The API level to require. |

## Public methods

### getApi

```
public final int getApi()
```

The API level to require

### getValue

```
public final int getValue()
```

The API level to require. Alias for .api which allows you to leave out the `api=` part.