## Why Get an Ad?

As described in the [Get Ad](https://dev.kevel.com/reference/get-ad-1) API documentation, retrieving an ad so you can review the specifics of the ad can be very helpful in determining whether an ad should be added, updated, or removed from a flight. This Get Ad API call is a "legacy" API call, meaning that even though it is still active, this is an older version of the API call that requires the Flight ID in addition to the Ad ID.

## API Syntax

When using the Get Ad API call, it is important to understand the syntax required to make the request. Because the Kevel API is a RESTful API, there is a specific request format that must be followed to ensure the endpoint can process the request. The format is:

`GET https://api.kevel.co/v1/flight/{FlightID}/creative/{AdID}`

Where:

- `GET` - the type of API request being made.
- `https://api.kevel.co` - the URL for the request.
- `v1` - the API version.
- `flight` - the API endpoint being called.
- `FlightID` - the ID associated with the flight.
- `creative` - the creative that belongs to the ad.
- `AdID` - the ID associated with the ad being called.

### FlightID

int32

required

The ID of the Flight

### AdID

int32

required

ID of the Ad / Creative Flight Map. This is not the ID from Create Creatives.

# Response Structure

```json
{
  "Id": 200,
  "CampaignId": 0,
  "FlightId": 0,
  "ZoneId": 0,
  "SiteId": 0,
  "Iframe": null,
  "PublisherAccountId": 0,
  "Impressions": 0,
  "Percentage": 0,
  "DistributionType": 0,
  "IsDeleted": true,
  "IsActive": true,
  "Creative": {
    "Id": 0,
    "Title": "string",
    "ImageName": "string",
    "Url": "string",
    "Body": "string",
    "AdvertiserId": 0,
    "IsActive": true,
    "AdTypeId": 0,
    "Alt": "string",
    "IsDeleted": true,
    "IsSync": true,
    "IsHTMLJS": true,
    "ScriptBody": "string",
    "Metadata": "string",
    "ImageLink": "string",
    "IsNoTrack": true,
    "IsNetworkAd": true
  },
  "CustomTargeting": "string",
  "FreqCap": 0,
  "FreqCapDuration": 0,
  "FreqCapType": 0,
  "StartDate": "string",
  "EndDate": "string",
  "GoalType": 0,
  "Goal": 0,
  "Price": 0,
  "IsGoalOverride": true,
  "IsStartEndDateOverride": true,
  "ActiveKeywords": ["string"],
  "RtbCustomFields": "string"
}
```

### Example Response

```json
{
  "Id": 1227159,
  "CampaignId": 258367,
  "FlightId": 616145,
  "ZoneId": 12345,
  "SiteId": 1234,
  "Iframe": null,
  "PublisherAccountId": 0,
  "Impressions": 0,
  "Percentage": 0,
  "DistributionType": 1,
  "IsDeleted": false,
  "IsActive": false,
  "Creative": {
    "Id": 1163487,
    "Title": "Adzerk Blue Creative",
    "ImageName": "",
    "Url": "https://adzerk.com",
    "Body": "",
    "AdvertiserId": 84825,
    "IsActive": null,
    "AdTypeId": 5,
    "Alt": "Adzerk - Native Ads",
    "IsDeleted": null,
    "IsSync": null,
    "IsHTMLJS": true,
    "ScriptBody": "this",
    "Metadata": null,
    "ImageLink": "httpss://static.adzerk.net/Advertisers/",
    "IsNoTrack": true,
    "IsNetworkAd": false
  },
  "CustomTargeting": "$keywords contains \"dean\"",
  "FreqCap": 5,
  "FreqCapDuration": 1,
  "FreqCapType": 2,
  "StartDate": "/Date(1430481600000)/",
  "EndDate": "/Date(1430827200000)/",
  "GoalType": 1,
  "Goal": 200000,
  "Price": 1,
  "IsGoalOverride": true,
  "IsStartEndDateOverride": true,
  "ActiveKeywords": [
    "kittens",
    "cats"
  ],
  "RtbCustomFields": null
}
```

Updated 10 months ago
