---
title: "Update Ad"
method: PUT
path: "/v1/flight/{FlightID}/creative/{AdID}"
---

# Update Ad

`PUT /v1/flight/{FlightID}/creative/{AdID}`

## Path parameters

- `FlightID` integer, required
- `AdID` integer, required

## Request body

- object
  - `Id` integer, required — ID of the Creative Flight Map / Ad
  - `CampaignID` integer — ID of the Campaign
  - `FlightID` integer, required — ID of the Flight
  - `Creative` object, required — A `creative` object that contains the ID (`id`) of the Creative
  - `IsActive` boolean, required — If Ad is active or not
  - `IsDeleted` boolean, required — If Ad is deleted or not
  - `Iframe` boolean — Whether Creative should use iFrame
  - `DistributionType` integer — Determines how the Ad is distributed within the flight
  - `RtbCustomFields` string — Required for RTB ads only. JSON Object in a String. It's JSON data provided by the RTB partner
  - `AttributionSettings` object
    - `AttributableItems` object[] — The set of products, categories, and brands that may be attributed to this Ad. See [Kevel Attribution](https://dev.kevel.com/docs/attribution-overview) for more details.
      - `MatchType` 'SameProduct' | 'SameCategoryBrand' | 'SameBrand' | 'SameMerchant' — The match type value determines the other keys included and corresponds to the Flight-level attribution setting for the specificity of the match.
      - `ProductId` string — The Product ID to use with the match. Use with `"MatchType": "SameProduct"` only.
      - `MerchantId` string — The Merchant ID to use with the match. Use with `"MatchType": "SameProduct"` only.
      - `CategoryId` string — The Category ID to use with the match. Use with `"MatchType": "SameCategoryBrand"` only.
      - `BrandId` string — The Brand ID to use with the match. Use with `"MatchType": "SameCategoryBrand"` and `"MatchType": "SameBrand"`.
  - `DontAffectParentFreqCap` boolean — "Opts-out" of frequency cap settings imposed on it by entities above
  - `FreqCap` integer — The value of the frequency cap
  - `FreqCapDuration` integer — How long the frequency cap should apply
  - `FreqCapType` integer — The unit for the frequency cap: `1 = Hour 2 = Day 3 = Minute`.

## Response `200`

200

- object
  - `Id` integer
  - `CampaignId` integer
  - `FlightId` integer
  - `ZoneId` integer
  - `SiteId` integer
  - `Iframe` boolean
  - `PublisherAccountId` integer
  - `Impressions` integer
  - `Percentage` integer
  - `DistributionType` integer
  - `IsDeleted` boolean
  - `IsActive` boolean
  - `Creative` object
    - `Id` integer
    - `Title` string
    - `ImageName` string
    - `Url` string
    - `Body` string
    - `AdvertiserId` integer
    - `IsActive` boolean
    - `AdTypeId` integer
    - `Alt` string
    - `IsDeleted` boolean
    - `IsSync` boolean
    - `IsHTMLJS` boolean
    - `ScriptBody` string
    - `Metadata` unknown
    - `ImageLink` string
    - `IsNoTrack` boolean
    - `IsNetworkAd` boolean
  - `CustomTargeting` string
  - `FreqCap` integer
  - `FreqCapDuration` integer
  - `FreqCapType` integer
  - `StartDate` unknown
  - `EndDate` unknown
  - `GoalType` integer
  - `Goal` integer
  - `Price` integer
  - `IsGoalOverride` boolean
  - `IsStartEndDateOverride` boolean
  - `ActiveKeywords` string[]
  - `RtbCustomFields` unknown

---

[API](https://skmtc.net/kevel/apis/engine-apis.md) · [All operations](https://skmtc.net/kevel/apis/engine-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kevel/engine-apis/versions/0ca55f45aa7d/schema)
