# List available filters (https://terac.com/docs/developers/reference/getFilters)

`GET https://terac.com/api/external/v2/filters`

Lists the audience filters an opportunity's `filters` can use, with each one's slug, type and supported operators. The catalog is the same for every organization and is not paginated. A filter with an `options_url` takes values from a fixed list: read them from `GET /filters/{filter_slug}/options` and send their `id`s. `integer--age` takes a `$gte` / `$lte` range within `min` and `max`, and the two `reference--` filters take opportunity ids.

## Authorization

Requires a Bearer token via the `Authorization` header.

```
Authorization: Bearer <token>
```

## Responses

### 200: Every filter in the catalog.

- `data` (array) **(required)**
  - `slug` (string) **(required)**
  - `name` (string) **(required)**
  - `type` (string) **(required)**
  - `category` (string) **(required)**
  - `operators` (array) **(required)**
  - `min` (number)
  - `max` (number)
  - `options_url` (string)
### 401: The API key is missing, invalid, disabled, expired or revoked, its owner no longer exists, or it is not linked to an organization. The body is nested under `error`.

- `error` (object) **(required)**
  - `code` (string) **(required)**: one of: `UNAUTHORIZED`: The error code.
  - `message` (string) **(required)**: What went wrong.
### 403: Either the account that owns the API key is banned or deleted (from the key check, nested under `error`), or the key's owner lacks the organization permission this operation needs (from the operation, with `code` and `message` at the top level).

- One of: API key error (403)
  - `error` (object) **(required)**
    - `code` (string) **(required)**: one of: `FORBIDDEN`: The error code.
    - `message` (string) **(required)**: What went wrong.
- One of: Insufficient access error (403)
  - `message` (string) **(required)**: The error message
  - `code` (string) **(required)**: The error code
  - `issues` (array): An array of issues that were responsible for the error
    - `message` (string) **(required)**
### 429: The API key is rate limited. A key accepts 100 requests, then refuses every request until more than 60 seconds pass with no accepted request; refused requests do not extend the wait. Wait the number of seconds in `Retry-After`, then retry. The body is nested under `error`.

- `error` (object) **(required)**
  - `code` (string) **(required)**: one of: `RATE_LIMITED`: The error code.
  - `message` (string) **(required)**: What went wrong.
### 500: Internal server error

- `message` (string) **(required)**: The error message
- `code` (string) **(required)**: The error code
- `issues` (array): An array of issues that were responsible for the error
  - `message` (string) **(required)**