---
title: "Patch reserved campaign"
method: PATCH
path: "/forecaster/reserved-campaign/{reservedCampaignId}"
tags: ["Reserved Campaigns"]
---

# Patch reserved campaign

`PATCH /forecaster/reserved-campaign/{reservedCampaignId}`

## Request

- Base URL: `https://api.kevel.co/v1`
- URL: `https://api.kevel.co/v1/forecaster/reserved-campaign/{reservedCampaignId}`
- Auth: API key in header `X-Adzerk-ApiKey`

Partially update one or more fields of a reserved campaign.
Only the provided fields will be updated; other fields remain unchanged.
Note: Array fields (like flights) are not supported in patch operations.

## Request body

- object: Schema for partially updating a reserved campaign. All fields are optional. Only the provided fields will be updated, other fields remain unchanged.
  - `name` string: The name of the reserved campaign.
  - `status` 'reserved' | 'booked': The status of the campaign.
  - `description` string, nullable: An optional description of the reserved campaign.
  - `salesProbabilityWeight` integer: A weight (0-100) representing the probability that this reserved campaign will convert to a booked campaign.
  - `advertiser` object: The advertiser associated with the reserved campaign.
    - `id` integer, required: The unique identifier of the advertiser. Must be an existing advertiser.
    - `frequencyCap` FrequencyCap (unresolved $ref)
    - `placementLimit` integer, nullable: Maximum number of placements for this advertiser.
    - `caps` object, nullable: Ad caps for the advertiser.
  - `capType` 1 | 2 | 3 | 4, nullable: The type of cap: * _1_: Impressions * _2_: Clicks * _3_: Conversions * _4_: Revenue
  - `dailyCapAmount` integer, nullable: The daily cap amount (based on capType).
  - `lifetimeCapAmount` integer, nullable: The lifetime cap amount (based on capType).
  - `frequencyCap` object, nullable: Configuration for limiting ad frequency to users.
    - `type` 1 | 2 | 3, required: The time unit for the frequency cap: * _1_: Hour * _2_: Day * _3_: Minute
    - `duration` integer, required: The number of time units for the cap period.
    - `value` integer, required: The maximum number of impressions allowed within the duration.

## Response `200`

Normal response, containing the full updated JSON object with the reserved campaign, if successful.

- Schema (unresolved $ref)

## Other responses

- `400`: The entity in the body is invalid.
- `404`: The entity doesn't exist.

---

[API](https://skmtc.dev/kevel/apis/forecast-api.md) - [All operations](https://skmtc.dev/kevel/apis/forecast-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kevel/apis/forecast-api/revisions/f07c8784a32d?raw)
