---
title: "Set banner frequency capping — frequency-capping"
type: reference
method: POST
path: /rest-api/banner/{bannerId}/frequency-capping/set.do
tag: "Capping"
---

# Set banner frequency capping — frequency-capping

`POST https://YOUR-NETWORK-DOMAIN/rest-api/banner/{bannerId}/frequency-capping/set.do`

Creates or replaces the frequency capping rule for a banner, limiting how many times an ad impression is shown within a time window. If a capping rule already exists for the given subject type, it is updated in place; otherwise a new rule is created. The capping is automatically enabled after this call. Requires UPDATE permission and the MANAGE_CAPPING_AND_LIMITATIONS privilege; using IP or LES_IP subjects requires additional CAPPING_SUBJECT_IP / CAPPING_SUBJECT_LES_IP permissions.

## Path params

| Name | Type | Required | Example | Description |
|---|---|---|---|---|
| `bannerId` | integer | yes | `42` | Numeric ID of the banner to configure frequency capping for |

## Form params

| Name | Type | Required | Example | Description |
|---|---|---|---|---|
| `period` | integer | yes | `24` | Length of the capping time window, expressed in units defined by periodType (e.g. 24 when periodType is HOUR means 24 hours) |
| `periodType` | string | yes | `HOUR` | Unit of the capping period. Allowed values: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR |
| `amount` | integer | no | `1000` | Maximum number of impressions allowed within the specified period. Optional; if omitted the existing amount is preserved. |
| `evenDistribution` | boolean | no | `true` | When true, impressions are distributed evenly across the period instead of being served as fast as possible |
| `subject` | string | no | `USER_COOKIE` | Entity used to identify unique users for capping. Defaults to USER_COOKIE if omitted. Allowed values: USER_COOKIE, USER_SERVER_SIDE, USER_MIXED, IP, LES_IP |

## Responses

- `200` — Frequency capping set successfully
- `400` — Invalid request parameters
- `401` — Authentication error
- `403` — Not enough permissions
- `404` — Banner not found

## Example request

```bash
curl --request POST \
  --url 'https://YOUR-NETWORK-DOMAIN/rest-api/banner/42/frequency-capping/set.do' \
  --header 'X-Api-Key: YOUR_API_KEY' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'period=24' \
  --data-urlencode 'periodType=HOUR' \
  --data-urlencode 'amount=1000' \
  --data-urlencode 'evenDistribution=true' \
  --data-urlencode 'subject=USER_COOKIE'
```

Source: https://epom.com/ad-server/docs/api/capping/post-banner-frequency-capping-set