---
title: "Targeting Rules API endpoints — Zone"
description: "Endpoint reference for the Targeting Rules tag on the zone level (62 zone endpoints): Targeting rules for advertisers, campaigns, banners, placements, sites, and zones"
type: "reference"
audience: [network-manager, admin]
keywords: [api, rest, endpoints, targeting, rules, zone]
---

Fetch the complete documentation index at: https://epom.com/ad-server/docs/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Targeting Rules API endpoints — Zone

Targeting rules for advertisers, campaigns, banners, placements, sites, and zones. 62 zone endpoints, generated from the OpenAPI spec. Authentication, the response envelope, pagination and error codes are shared by all endpoints — see [REST API overview](https://epom.com/ad-server/docs/api.md). Parameters marked `form` go in an `application/x-www-form-urlencoded` request body.

The endpoints shared by every level are on [Targeting Rules API endpoints](https://epom.com/ad-server/docs/api/targeting-rules.md).

### GET /rest-api/zone/{zoneId}/targeting/{targetId}.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting.md)

Get zone targeting rule by ID.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `targetId` | path | integer | yes | Unique numeric ID of the targeting rule to retrieve |

**Responses:** `200` — Success · `404` — Zone or targeting rule not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### DELETE /rest-api/zone/{zoneId}/targeting/{targetId}/delete.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/delete-zone-targeting.md)

Delete zone targeting rule.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `targetId` | path | integer | yes | Unique numeric ID of the targeting rule to delete |

**Responses:** `200` — Success · `404` — Zone or targeting rule not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/api-json-field/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-api-json-field-create.md)

Create zone API JSON field targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `apiUrl` | form | string | yes | External API URL that returns a JSON response |
| `jsonField` | form | string | yes | JSON field name to extract from the API response |
| `jsonFieldValue` | form | string | yes | Expected value of the JSON field to match against |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/app-package/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-app-package-create.md)

Create zone app package targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `appPackage` | form | string | yes | Application package/bundle identifier (e.g., 'com.example.app') |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/browser-country/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-browser-country-create.md)

Create zone browser country targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `countryCode` | form | array&lt;string&gt; | yes | ISO 3166-1 alpha-2 country code(s) to target — repeat the parameter or separate codes with commas (e.g. DE,FR) |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/browser-rank/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-browser-rank-create.md)

Create zone browser rank targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `browserRank` | form | integer | yes | Browser popularity rank value to target |
| `relation` | form | string | no | Comparison relation — LOWER, GREATER, LOWER_EQUAL, GREATER_EQUAL or EQUAL; omitted, it is LOWER_EQUAL Values: `LOWER`, `GREATER`, `LOWER_EQUAL`, `GREATER_EQUAL`, `EQUAL`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/browser/chrome/values.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-browser-chrome-values.md)

Get Chrome browser version values for zone.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/browser/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-browser-create.md)

Create zone browser targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `browser` | form | string | yes | Browser type to target (e.g., FIREFOX, CHROME, SAFARI, EDGE) Values: `CHROME_MOBILE`, `CHROME`, `MOBILE_SAFARI`, `SAFARI`, `EDGE`, `FIREFOX`, `OPERA`, `SAMSUNG_BROWSER`, `UC_BROWSER`, `YANDEX`, `OPERA_MINI`, `EDGE_MOBILE`, `QQ_BROWSER`, `FIREFOX_MOBILE`, `MIUI_BROWSER`, `WHALE`, `HUAWEI_BROWSER`, `OPERA_MOBILE`, `BRAVE`, `BAIDU_BROWSER`, `YANDEX_BROWSER_IOS`, `AMAZON_SILK`, `DUCKDUCKGO`, `VIVO_BROWSER`, `ARC` … (+44 more, 69 total). |
| `relation` | form | string | no | Version comparison relation (e.g., LOWER, GREATER, EQUAL, LOWER_EQUAL, GREATER_EQUAL) Values: `LOWER`, `GREATER`, `LOWER_EQUAL`, `GREATER_EQUAL`, `EQUAL`. |
| `browserVersion` | form | string | no | Browser major version number; supports integer or old-style format like '30.0' (only major version is applied) |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/browser/firefox/values.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-browser-firefox-values.md)

Get Firefox browser version values for zone.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/browser/ie/values.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-browser-ie-values.md)

Get IE browser version values for zone.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/browser/safari/values.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-browser-safari-values.md)

Get Safari browser version values for zone.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/browser/values.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-browser-values.md)

Get browser targeting values for zone.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/channel/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-channel-create.md)

Create zone channel targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `channel` | form | string | yes | Channel identifier string to target |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/connection-type/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-connection-type-create.md)

Create zone connection type targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `connectionType` | form | string | yes | Connection type to target Values: `UNKNOWN`, `DIALUP`, `CABLE_DSL`, `CORPORATE`, `CELLULAR`, `WI_FI`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/connection-type/values.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-connection-type-values.md)

Get connection type values.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Not found — resource does not exist. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/cookie-value/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-cookie-value-create.md)

Create zone cookie value targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `cookieName` | form | string | yes | Name of the browser cookie to match against |
| `cookieValue` | form | string | yes | Expected value of the browser cookie |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/country/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-country-create.md)

Create zone country targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `countryCode` | form | array&lt;string&gt; | yes | ISO 3166-1 alpha-2 country code(s) to target — repeat the parameter or separate codes with commas (e.g. DE,FR) |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/country/region/city/values.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-country-region-city-values.md)

Get region city values for zone.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `countryCode` | query | string | yes | ISO alpha-2 country code (e.g., 'US', 'GB', 'DE') |
| `regionName` | query | string | yes | Region or state name within the specified country |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/country/region/values.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-country-region-values.md)

Get country region values for zone.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `countryCode` | query | string | yes | ISO alpha-2 country code (e.g., 'US', 'GB', 'DE') |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/custom/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-custom-create.md)

Create zone custom parameter targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `customValue` | form | string | yes | Custom targeting value or expression (e.g., '($p1==1 \|\| $p1=="a") && $p2>=12') |
| `customType` | form | string | no | Custom target type — EXPRESSION, VALUE, or SUBSTRING (optional) Values: `EXPRESSION`, `VALUE`, `ONE_OF`, `SUBSTRING`. |
| `operation` | form | string | no | Matching operation — EQUALS, NOT_EQUALS, CONTAINS, or NOT_CONTAINS (optional) Values: `EQUALS`, `NOT_EQUALS`, `CONTAINS`, `NOT_CONTAINS`, `GREATER`, `GREATER_OR_EQUALS`, `LESS`, `LESS_OR_EQUALS`, `IN`, `NOT_IN`. |
| `parameter` | form | string | no | Parameter name for the operation value (optional) |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/date-time/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-date-time-create.md)

Create zone date/time targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `timeFrom` | form | string | yes | Time range start in HH:mm format |
| `timeTo` | form | string | yes | Time range end in HH:mm format |
| `dayOfWeek` | form | array&lt;string&gt; | no | Days of week to target; omitted, the rule applies on every day Values: `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`, `SUNDAY`. |
| `clientLocalTime` | form | boolean | no | When true, use client's local time zone for time range evaluation |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/day-of-week/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-day-of-week-create.md)

Create zone day of week targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `dayOfWeek` | form | string | yes | Day of week — MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, or SUNDAY Values: `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`, `SUNDAY`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/device-format/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-device-format-create.md)

Create zone device format targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `deviceFormat` | form | string | yes | Device form factor to target (e.g., PHONE, TABLET, DESKTOP) Values: `DESKTOP`, `TABLET`, `MOBILE`, `SMART_TV`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/device-format/values.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-device-format-values.md)

Get device format targeting values for zone.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/device-ram/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-device-ram-create.md)

Create zone device RAM targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `deviceRam` | form | integer | yes | Device RAM amount in megabytes to target |
| `relation` | form | string | no | Comparison relation — LOWER, GREATER, LOWER_EQUAL, GREATER_EQUAL or EQUAL; omitted, it is GREATER_EQUAL Values: `LOWER`, `GREATER`, `LOWER_EQUAL`, `GREATER_EQUAL`, `EQUAL`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/device-release-year/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-device-release-year-create.md)

Create zone device release year targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `deviceReleaseYear` | form | integer | yes | Device release year to target (e.g., 2020) |
| `relation` | form | string | no | Comparison relation — LOWER, GREATER, LOWER_EQUAL, GREATER_EQUAL or EQUAL; omitted, it is GREATER_EQUAL Values: `LOWER`, `GREATER`, `LOWER_EQUAL`, `GREATER_EQUAL`, `EQUAL`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/device-vendor/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-device-vendor-create.md)

Create zone device vendor targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `deviceVendor` | form | string | yes | Device vendor/manufacturer to target (e.g., APPLE, SAMSUNG, HUAWEI) Values: `SAMSUNG`, `APPLE`, `XIAOMI`, `VIVO`, `OPPO`, `HONOR`, `TECNO`, `INFINIX`, `HUAWEI`, `REALME`, `MOTOROLA`, `ONEPLUS`, `ITEL`, `NOKIA`, `ZTE`, `AMAZON`, `PHILIPS`, `WIKO`, `LENOVO`, `NUBIA`, `HISENSE`, `CHANGHONG`, `KIVI`, `MEIZU`, `TCL` … (+14 more, 39 total). |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/device-vendor/values.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-device-vendor-values.md)

Get device vendor targeting values for zone.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/disable.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-disable.md)

Disable zone targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/dmp/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-dmp-create.md)

Create zone DMP targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `dmp` | form | string | yes | DMP — enum name or numeric ID Values: `FIRST_PARTY`, `DTSCOUT`, `AIDATA`, `LOTAME`, `SITEMATH`, `MEDIAQUARK`, `JOTTIX`. |
| `dmpSegmentId` | form | integer | yes | ID of a segment of that DMP |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/domain/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-domain-create.md)

Create zone domain targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `domain` | form | string | yes | Referrer domain name to target (e.g., 'example.com') |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/enable.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-enable.md)

Enable zone targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/hardware-rank/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-hardware-rank-create.md)

Create zone hardware rank targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `hardwareRank` | form | integer | yes | Hardware quality rank value to target |
| `relation` | form | string | no | Comparison relation — LOWER, GREATER, LOWER_EQUAL, GREATER_EQUAL or EQUAL; omitted, it is LOWER_EQUAL Values: `LOWER`, `GREATER`, `LOWER_EQUAL`, `GREATER_EQUAL`, `EQUAL`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/incognito-mode/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-incognito-mode-create.md)

Create zone incognito mode targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/ip-range/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-ip-range-create.md)

Create zone IP range targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `ipFrom` | form | string | yes | Start of the IP range in dotted-decimal (IPv4) or colon-hex (IPv6) notation |
| `ipTo` | form | string | yes | End of the IP range in dotted-decimal (IPv4) or colon-hex (IPv6) notation |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/is-web-app/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-is-web-app-create.md)

Create zone web app targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/language/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-language-create.md)

Create zone language targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `languageCode` | form | string | yes | ISO language code to target (e.g., 'en', 'de', 'fr') |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/language/values.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-language-values.md)

Get language targeting values for zone.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/location/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-location-create.md)

Create zone location targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `countryCode` | form | string | yes | ISO alpha-2 country code (e.g., 'US', 'GB', 'DE') |
| `regionName` | form | string | no | Region or state name within the specified country (optional) |
| `cityName` | form | string | no | City name within the specified region (optional, requires regionName) |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/mobile-carrier/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-mobile-carrier-create.md)

Create zone mobile carrier targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `mobileCarriers` | form | array&lt;string&gt; | no | Mobile carrier names, spelled exactly as GET /rest-api/targeting/mobile-carrier/bycountry/values.do lists them; an unknown name answers 400 |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/mobile-carrier/values.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-mobile-carrier-values.md)

Get mobile carrier targeting values for zone.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/operating-system/{osName}/versions.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-operating-system-versions.md)

Get OS version values for zone.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `osName` | path | string | yes | Operating system. Accepts enum name or integer ID for backward compatibility Values: `UNSPECIFIED`, `WINDOWS`, `LINUX`, `MAC_OS_X`, `IOS`, `IPADOS`, `ANDROID`, `SYMBIAN`, `J2ME`, `BLACKBERRY`, `XMB`, `BADA`, `PALM_OS`, `SOLARIS`, `MEEGO`, `CHROME_OS`, `FREE_BSD`, `WINDOWS_PHONE`, `SAMSUNG_TIZEN`, `HISENSE_VIDAA`, `LG_WEB_OS`, `ROKU_TV_OS`, `AMAZON_FIRE_TV`, `APPLE_TV`, `ANDROID_TV`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/operating-system/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-operating-system-create.md)

Create zone OS targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `operatingSystem` | form | string | yes | Operating system to target (e.g., WINDOWS, MACOS, LINUX, ANDROID, IOS) Values: `UNSPECIFIED`, `WINDOWS`, `LINUX`, `MAC_OS_X`, `IOS`, `IPADOS`, `ANDROID`, `SYMBIAN`, `J2ME`, `BLACKBERRY`, `XMB`, `BADA`, `PALM_OS`, `SOLARIS`, `MEEGO`, `CHROME_OS`, `FREE_BSD`, `WINDOWS_PHONE`, `SAMSUNG_TIZEN`, `HISENSE_VIDAA`, `LG_WEB_OS`, `ROKU_TV_OS`, `AMAZON_FIRE_TV`, `APPLE_TV`, `ANDROID_TV`. |
| `version` | form | string | no | Optional OS version: a version value from the OS versions endpoint (for example 16.-1 for iOS 16.x.x) or its title. An unknown version, or a version on an OS without versions, answers 400 with the valid versions |
| `relation` | form | string | no | Version comparison relation — LOWER, GREATER, LOWER_EQUAL, GREATER_EQUAL or EQUAL. Required when version is sent (a version without it answers 400); ignored without version Values: `LOWER`, `GREATER`, `LOWER_EQUAL`, `GREATER_EQUAL`, `EQUAL`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/operating-system/values.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-operating-system-values.md)

Get OS targeting values for zone.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/operation-between-rule-types.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-operation-between-rule-types.md)

Set how zone targeting rule types combine.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `operator` | form | string | yes | AND — every rule type must match; OR — any one rule type is enough Values: `AND`, `OR`. |

**Responses:** `200` — Success — the response carries the saved operationBetweenRuleTypes · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/platform-rank/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-platform-rank-create.md)

Create zone platform rank targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `platformRank` | form | integer | yes | Platform popularity rank value to target |
| `relation` | form | string | no | Comparison relation — LOWER, GREATER, LOWER_EQUAL, GREATER_EQUAL or EQUAL; omitted, it is LOWER_EQUAL Values: `LOWER`, `GREATER`, `LOWER_EQUAL`, `GREATER_EQUAL`, `EQUAL`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/preset-app-package/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-preset-app-package-create.md)

Create zone preset app package targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `appPackageGroupId` | form | integer | yes | Unique numeric ID of the preset application package group |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/preset-domain/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-preset-domain-create.md)

Create zone preset domain targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `domainGroupId` | form | integer | yes | Unique numeric ID of the preset domain group |

**Responses:** `200` — Success · `404` — Zone or domain group not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/preset-ip-ranges/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-preset-ip-ranges-create.md)

Create zone preset IP ranges targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `presetIpRangesGroupId` | form | integer | no | ID of the preset IP ranges group; also accepted as ipRangesGroupId. One of the two is required |
| `ipRangesGroupId` | form | integer | no | The same preset IP ranges group ID under its other name; presetIpRangesGroupId wins when both are sent |

**Responses:** `200` — Success · `404` — Zone or IP ranges group not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/price-band/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-price-band-create.md)

Create zone price band targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `priceBand` | form | number | yes | Device price band value to target |
| `relation` | form | string | no | Comparison relation — LOWER, GREATER, LOWER_EQUAL, GREATER_EQUAL or EQUAL; omitted, it is LOWER_EQUAL Values: `LOWER`, `GREATER`, `LOWER_EQUAL`, `GREATER_EQUAL`, `EQUAL`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/protocol/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-protocol-create.md)

Create zone protocol targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `protocol` | form | string | yes | Connection protocol to target — HTTP or HTTPS Values: `HTTP`, `HTTPS`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/proxy/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-proxy-create.md)

Create zone proxy targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `proxy` | form | string | yes | Proxy type to target: VPN, TOR, DCH (data center / hosting), PUB (public proxy), WEB (web proxy) or SES (search engine robot) Values: `VPN`, `TOR`, `DCH`, `PUB`, `WEB`, `SES`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/screen-resolution/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-screen-resolution-create.md)

Create zone screen resolution targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `relation` | form | string | yes | Comparison operator — LOWER, GREATER, LOWER_EQUAL, GREATER_EQUAL, or EQUAL Values: `LOWER`, `GREATER`, `LOWER_EQUAL`, `GREATER_EQUAL`, `EQUAL`. |
| `screenWidth` | form | integer | yes | Target screen width in pixels |
| `screenHeight` | form | integer | yes | Target screen height in pixels |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/screen-resolution/values.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-screen-resolution-values.md)

Get screen resolution targeting values for zone.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/time-range/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-time-range-create.md)

Create zone time range targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `timeFrom` | form | string | yes | Start time in 24-hour format HH:MM (e.g., '09:00') |
| `timeTo` | form | string | yes | End time in 24-hour format HH:MM (e.g., '18:00') |
| `clientLocalTime` | form | boolean | no | If true, evaluate against viewer's local time; if false, use UTC |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/traffic-risk-score/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-traffic-risk-score-create.md)

Create zone traffic risk score targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `riskLevel` | form | string | yes | Traffic fraud risk level threshold. Accepts enum name or integer ID for backward compatibility Values: `NOT_SCORED`, `LOW`, `LIKELY`, `HIGH`, `VERY_HIGH`, `CERTAIN`. |
| `relation` | form | string | no | Comparison relation — LOWER, GREATER, LOWER_EQUAL, GREATER_EQUAL or EQUAL; omitted, it is GREATER_EQUAL Values: `LOWER`, `GREATER`, `LOWER_EQUAL`, `GREATER_EQUAL`, `EQUAL`. |
| `riskCategory` | form | array&lt;string&gt; | no | Array of risk categories for brand safety targeting. Accepts enum names (e.g. HIGH_RISK_IP), camelCase names (e.g. highRiskIP), or integer IDs Values: `HIGH_RISK_IP`, `HIGH_RISK_APP`, `APP_SPOOFING`, `DISPLAY_IMPRESSION_FRAUD`, `DEVICE_ID_STUFFING`, `DEFASED_APP`, `VIDEO_IMPRESSION_FRAUD`, `HIGH_RISK_DOMAIN`, `IAB_CRAWLER`, `DATACENTER`, `DISPLAY_CLICK_FRAUD`, `LOCATION_OBFUSCATION`, `HIJACKED_SESSION`, `COOKIE_STUFFING`, `DATACENTER_PROXY`, `PUBLISHER_FRAUD`, `IDIO_BOTS`, `TOR`, `AUTO_RELOADER`, `CLICK_FARM`, `BLANK_USER_AGENT`, `PHISHING`, `DOORWAY_SITE`, `IAB_DUMMY_BOT`, `FAST_CLICKER`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/traffic-source/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-traffic-source-create.md)

Create zone traffic source targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |
| `trafficSource` | form | string | yes | Traffic source to target Values: `HEADER_BIDDING`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/traffic-source/values.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-traffic-source-values.md)

Get traffic source values.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Not found — resource does not exist. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targeting/types.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targeting-types.md)

Get available targeting types for zone.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/zone/{zoneId}/targeting/wifi-traffic/create.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/post-zone-targeting-wifi-traffic-create.md)

Create zone WiFi traffic targeting.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `rule` | form | string | yes | Targeting rule type — INCLUDE for whitelist or EXCLUDE for blacklist Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/zone/{zoneId}/targetings.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/get-zone-targetings.md)

Get zone targeting rules.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |

**Responses:** `200` — Success · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### DELETE /rest-api/zone/{zoneId}/targetings.do

[Request examples](https://epom.com/ad-server/docs/api/targeting-rules/delete-zone-targetings.md)

Delete all zone targeting rules.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `zoneId` | path | integer | yes | Unique numeric ID of the zone |
| `targetType` | form | string | no | Optional targeting type filter — only rules of this type are deleted Values: `COUNTRY`, `BROWSER_COUNTRY`, `LOCATION`, `LANGUAGE`, `MOBILE_CARRIER`, `TIME_RANGE`, `DAY_OF_WEEK`, `DATE_TIME`, `OPERATING_SYSTEM`, `BROWSER`, `DEVICE_FORMAT`, `DEVICE_VENDOR`, `RESOLUTION`, `PROTOCOL`, `WIFI_TRAFFIC`, `IS_WEB_APP`, `INCOGNITO_MODE`, `DEVICE_RELEASE_YEAR`, `DEVICE_RAM`, `BROWSER_RANK`, `HARDWARE_RANK`, `PLATFORM_RANK`, `PRICE_BAND`, `DOMAIN`, `CHANNEL` … (+18 more, 43 total). |
| `rule` | form | string | no | Optional rule filter — only INCLUDE or only EXCLUDE rules are deleted Values: `INCLUDE`, `EXCLUDE`, `MATCH`, `NOT_MATCH`. |

**Responses:** `200` — Success — the response carries the deleted count · `404` — Zone not found · `500` — Internal server error. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

## Related

- [REST API overview](https://epom.com/ad-server/docs/api.md) — authentication and conventions
- [API endpoint reference by tag](https://epom.com/ad-server/docs/api/endpoints.md)
- [Targeting, capping and limits via API](https://epom.com/ad-server/docs/api/targeting-capping-limits.md)

<!-- Generated from the OpenAPI spec. Do not edit by hand. -->