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

# Rate Limit Overrides

> Set custom rate limit overrides for specific identifiers using @unkey/ratelimit. Grant higher or lower limits per user, key, or tenant.

Ratelimit overrides are a way to override the ratelimit for specific users or group using an identifier.

## Configure your override

```ts theme={"theme":"kanagawa-wave"}
import { Override } from "@unkey/ratelimit";

const unkey = new Override({
  rootKey: process.env.UNKEY_ROOT_KEY,
});
```

## Use it

```ts theme={"theme":"kanagawa-wave"}
async function handler(request) {
  const identifier = request.getUserId(); // or ip or anything else you want

  try {
    const { meta, data } = await unkey.setOverride({
      identifier: identifier,
      limit: 10,
      duration: 60000,
      namespaceName: "email.outbound",
    });

    if (data.error) {
      // handle the error here
      console.error(data.error.message);
      return;
    }
  } catch (err) {
    console.error(err);
    return;
  }

  // handle the request here
}
```

There are four main functions to interact with overrides:

* [setOverride](/libraries/ts/ratelimit/override/set-override) Sets an override for a ratelimit.
* [getOverride](/libraries/ts/ratelimit/override/get-override) Gets a ratelimit override.
* [deleteOverride](/libraries/ts/ratelimit/override/delete-override) Deletes an override.
* [listOverrides](/libraries/ts/ratelimit/override/list-overrides) Lists all overrides for a namnespace.
