priv/docs/filters.md

# Filters

## Update filters

**PUT** `/zones/{zone_id}/filters`

Updates one or more existing filters.

### Responses

#### 200 Update filters response

> Data is at `body["result"]`

```json
[
  {
    "description": "*string*",
    "expression": "*string*",
    "id": "*string*",
    "paused": "*boolean*",
    "ref": "*string*"
  }
]
```

#### 4XX Update filters response failure

```json
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "result_info": {
    "count": "*number*",
    "page": "*number*",
    "per_page": "*number*",
    "total_count": "*number*"
  },
  "success": "*boolean*"
}
```



## Create filters

**POST** `/zones/{zone_id}/filters`

Creates one or more filters.

### Responses

#### 200 Create filters response

> Data is at `body["result"]`

```json
[
  {
    "description": "*string*",
    "expression": "*string*",
    "id": "*string*",
    "paused": "*boolean*",
    "ref": "*string*"
  }
]
```

#### 4XX Create filters response failure

```json
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "result_info": {
    "count": "*number*",
    "page": "*number*",
    "per_page": "*number*",
    "total_count": "*number*"
  },
  "success": "*boolean*"
}
```



## List filters

**GET** `/zones/{zone_id}/filters`

Fetches filters in a zone. You can filter the results using several optional parameters.

### Responses

#### 200 List filters response

> Data is at `body["result"]`

```json
[
  {
    "description": "*string*",
    "expression": "*string*",
    "id": "*string*",
    "paused": "*boolean*",
    "ref": "*string*"
  }
]
```

#### 4XX List filters response failure

```json
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "result_info": {
    "count": "*number*",
    "page": "*number*",
    "per_page": "*number*",
    "total_count": "*number*"
  },
  "success": "*boolean*"
}
```



## Delete filters

**DELETE** `/zones/{zone_id}/filters`

Deletes one or more existing filters.

### Responses

#### 200 Delete filters response

> Data is at `body["result"]`

```json
[
  {
    "id": "*string*"
  }
]
```

#### 4XX Delete filters response failure

```json
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "result_info": {
    "count": "*number*",
    "page": "*number*",
    "per_page": "*number*",
    "total_count": "*number*"
  },
  "success": "*boolean*"
}
```



## Update a filter

**PUT** `/zones/{zone_id}/filters/{filter_id}`

Updates an existing filter.

### Responses

#### 200 Update a filter response

> Data is at `body["result"]`

```json
{
  "description": "*string*",
  "expression": "*string*",
  "id": "*string*",
  "paused": "*boolean*",
  "ref": "*string*"
}
```

#### 4XX Update a filter response failure

```json
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "success": "*boolean*"
}
```



## Get a filter

**GET** `/zones/{zone_id}/filters/{filter_id}`

Fetches the details of a filter.

### Responses

#### 200 Get a filter response

> Data is at `body["result"]`

```json
{
  "description": "*string*",
  "expression": "*string*",
  "id": "*string*",
  "paused": "*boolean*",
  "ref": "*string*"
}
```

#### 4XX Get a filter response failure

```json
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "success": "*boolean*"
}
```



## Delete a filter

**DELETE** `/zones/{zone_id}/filters/{filter_id}`

Deletes an existing filter.

### Responses

#### 200 Delete a filter response

> Data is at `body["result"]`

```json
{
  "id": "*string*"
}
```

#### 4XX Delete a filter response failure

```json
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "success": "*boolean*"
}
```