---
title: "Update banner placements"
type: reference
method: PUT
path: /rest-api/banners/{bannerId}/placements.do
tag: "Banners"
---

# Update banner placements

`PUT https://YOUR-NETWORK-DOMAIN/rest-api/banners/{bannerId}/placements.do`

Creates or updates the set of placements linked to a banner. When 'append' is false (default), the provided placement IDs completely replace all existing links, and every link that would be removed must be on a site the caller may manage links on (otherwise placements_cannot_be_linked lists them and nothing changes); when true, they are added to the current set. The caller must have the LINK_PLACEMENTS_TO_BANNERS permission (shared or all level). Returns a JSON object with 'success' status; on permission failure returns {"success":false, "error":"permission_denied"}. An id of no placement or of a deleted one is skipped and listed in 'skipped' with the reason; every other placement must be compatible with the banner type.

## Path params

| Name | Type | Required | Example | Description |
|---|---|---|---|---|
| `bannerId` | integer | yes | `42` | Unique identifier of the banner to update placement links for |

## Form params

| Name | Type | Required | Example | Description |
|---|---|---|---|---|
| `ids` | array<integer> | yes | `3001` | Array of placement IDs to link to the banner. An id of no placement or of a deleted one is skipped and listed in 'skipped' with the reason; every other placement must be compatible with the banner type |
| `append` | boolean | no | `false` | When true, the provided placement IDs are added to the existing linked placements. When false (default), the provided IDs replace all existing links |

## Responses

- `200` — Operation result with success status
- `400` — Bad request — invalid or missing parameters
- `401` — Authentication error
- `403` — Forbidden — insufficient permissions
- `404` — Not found — resource does not exist

## Example request

```bash
curl --request PUT \
  --url 'https://YOUR-NETWORK-DOMAIN/rest-api/banners/42/placements.do' \
  --header 'X-Api-Key: YOUR_API_KEY' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'ids=3001' \
  --data-urlencode 'append=true'
```

Source: https://epom.com/ad-server/docs/api/banners/put-banners-placements