Creating a Campaign
Campaigns are created under an Advertiser using: POST /rtb/campaigns
A Campaign defines the overall flight dates, budget, pacing, and management settings that apply to the Lines created beneath it.
In this example, we will create a Campaign under Advertiser ID 5943.
Required Fields
The following fields are required when creating a Campaign:
advertiserId: Parent Advertiser ID.name: Campaign display name.startDate: Campaign start date inYYYYMMDDformat.endDate: Campaign end date inYYYYMMDDformat.budget: Total Campaign budget.budgetType: Budget type. Usespendfor dollars orimpfor impressions.status: Campaign status. Use1for active or0for inactive.budgetManagement: Determines whether the Campaign manages Line budgets.creativesManagement: Determines whether Lines inherit Creative associations from the Campaign.pixelsManagement: Determines whether Lines inherit Pixel associations from the Campaign.autoPace: Enables automatic pacing adjustments.daypartsManagement: Determines whether Lines inherit Campaign-level dayparting.enableFrequency: Enables Campaign-level frequency capping.recency: Minimum number of minutes between impressions. Use0to disable recency restrictions.programmaticGuaranteed: Determines whether the Campaign is Programmatic Guaranteed.
Dayparting Settings
When daypartsManagement is enabled, the following fields are also required:
pacingType: Campaign pacing strategy. Supported values includeevenandasap.catchupAsap: Enables aggressive catch-up pacing when the Campaign is behind pace.dayPartTargetingMode: Determines which timezone is used for dayparting. Supported values includeuserandline.
Frequency Settings
When enableFrequency is enabled, the following fields are also required:
frequency: Maximum number of impressions per user.timeFrameDays: Number of days over which the frequency cap is applied.
Optional Fields
Additional Campaign settings include:
dailyBudgetCap: Maximum daily spend. Usenullwhen no daily cap is required.code: External reference code.pacingTz: Timezone used for Campaign pacing calculations.pacingWeights: Custom hourly pacing weights.enableFlights: Enables flight-based budget periods.
Programmatic Guaranteed Campaigns
Set:
"programmaticGuaranteed": true
for Programmatic Guaranteed Campaigns.
Programmatic Guaranteed Campaigns use specialized pacing behavior to support guaranteed delivery commitments.
Campaign Flights
Set:
"enableFlights": true
to enable Campaign flights.
Flights allow the Campaign budget to be divided into multiple budget periods within the overall Campaign dates. Each flight can have its own budget allocation.
Example Campaign Request
The following example creates an active Campaign with Campaign-level budget, Creative, Pixel, pacing, dayparting, and frequency management enabled.
The Campaign:
- Runs from September 1 through September 30, 2026.
- Has a total spend budget of
$1,000. - Uses Campaign-level budget management and automatic pacing.
- Associates Creative ID
30336. - Associates Pixel ID
18887. - Targets the United States.
- Allows delivery during all hours of all seven days.
- Uses the user’s timezone for dayparting.
- Applies a frequency cap of three impressions per IP per day.
- Requires at least 30 minutes between impressions.
- Enables Campaign flights.
curl -X 'POST' \
'https://api.pontiac.media/rtb/campaigns' \
-H 'accept: application/json' \
-H 'auth: YOUR_AUTH_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"status": 1,
"name": "API Example Campaign",
"seatId": 1000,
"advertiserId": 5943,
"startDate": 20260901,
"endDate": 20260930,
"budget": 1000,
"budgetType": "spend",
"creativeIds": [
30336
],
"pixelIds": [
18887
],
"targets": {
"geoCountries": {
"include": [
{
"code": "US"
}
]
},
"dayParts": {
"include": [
{"day":"monday","hour":0},
{"day":"monday","hour":1},
{"day":"monday","hour":2},
{"day":"monday","hour":3},
{"day":"monday","hour":4},
{"day":"monday","hour":5},
{"day":"monday","hour":6},
{"day":"monday","hour":7},
{"day":"monday","hour":8},
{"day":"monday","hour":9},
{"day":"monday","hour":10},
{"day":"monday","hour":11},
{"day":"monday","hour":12},
{"day":"monday","hour":13},
{"day":"monday","hour":14},
{"day":"monday","hour":15},
{"day":"monday","hour":16},
{"day":"monday","hour":17},
{"day":"monday","hour":18},
{"day":"monday","hour":19},
{"day":"monday","hour":20},
{"day":"monday","hour":21},
{"day":"monday","hour":22},
{"day":"monday","hour":23},
{"day":"tuesday","hour":0},
{"day":"tuesday","hour":1},
{"day":"tuesday","hour":2},
{"day":"tuesday","hour":3},
{"day":"tuesday","hour":4},
{"day":"tuesday","hour":5},
{"day":"tuesday","hour":6},
{"day":"tuesday","hour":7},
{"day":"tuesday","hour":8},
{"day":"tuesday","hour":9},
{"day":"tuesday","hour":10},
{"day":"tuesday","hour":11},
{"day":"tuesday","hour":12},
{"day":"tuesday","hour":13},
{"day":"tuesday","hour":14},
{"day":"tuesday","hour":15},
{"day":"tuesday","hour":16},
{"day":"tuesday","hour":17},
{"day":"tuesday","hour":18},
{"day":"tuesday","hour":19},
{"day":"tuesday","hour":20},
{"day":"tuesday","hour":21},
{"day":"tuesday","hour":22},
{"day":"tuesday","hour":23},
{"day":"wednesday","hour":0},
{"day":"wednesday","hour":1},
{"day":"wednesday","hour":2},
{"day":"wednesday","hour":3},
{"day":"wednesday","hour":4},
{"day":"wednesday","hour":5},
{"day":"wednesday","hour":6},
{"day":"wednesday","hour":7},
{"day":"wednesday","hour":8},
{"day":"wednesday","hour":9},
{"day":"wednesday","hour":10},
{"day":"wednesday","hour":11},
{"day":"wednesday","hour":12},
{"day":"wednesday","hour":13},
{"day":"wednesday","hour":14},
{"day":"wednesday","hour":15},
{"day":"wednesday","hour":16},
{"day":"wednesday","hour":17},
{"day":"wednesday","hour":18},
{"day":"wednesday","hour":19},
{"day":"wednesday","hour":20},
{"day":"wednesday","hour":21},
{"day":"wednesday","hour":22},
{"day":"wednesday","hour":23},
{"day":"thursday","hour":0},
{"day":"thursday","hour":1},
{"day":"thursday","hour":2},
{"day":"thursday","hour":3},
{"day":"thursday","hour":4},
{"day":"thursday","hour":5},
{"day":"thursday","hour":6},
{"day":"thursday","hour":7},
{"day":"thursday","hour":8},
{"day":"thursday","hour":9},
{"day":"thursday","hour":10},
{"day":"thursday","hour":11},
{"day":"thursday","hour":12},
{"day":"thursday","hour":13},
{"day":"thursday","hour":14},
{"day":"thursday","hour":15},
{"day":"thursday","hour":16},
{"day":"thursday","hour":17},
{"day":"thursday","hour":18},
{"day":"thursday","hour":19},
{"day":"thursday","hour":20},
{"day":"thursday","hour":21},
{"day":"thursday","hour":22},
{"day":"thursday","hour":23},
{"day":"friday","hour":0},
{"day":"friday","hour":1},
{"day":"friday","hour":2},
{"day":"friday","hour":3},
{"day":"friday","hour":4},
{"day":"friday","hour":5},
{"day":"friday","hour":6},
{"day":"friday","hour":7},
{"day":"friday","hour":8},
{"day":"friday","hour":9},
{"day":"friday","hour":10},
{"day":"friday","hour":11},
{"day":"friday","hour":12},
{"day":"friday","hour":13},
{"day":"friday","hour":14},
{"day":"friday","hour":15},
{"day":"friday","hour":16},
{"day":"friday","hour":17},
{"day":"friday","hour":18},
{"day":"friday","hour":19},
{"day":"friday","hour":20},
{"day":"friday","hour":21},
{"day":"friday","hour":22},
{"day":"friday","hour":23},
{"day":"saturday","hour":0},
{"day":"saturday","hour":1},
{"day":"saturday","hour":2},
{"day":"saturday","hour":3},
{"day":"saturday","hour":4},
{"day":"saturday","hour":5},
{"day":"saturday","hour":6},
{"day":"saturday","hour":7},
{"day":"saturday","hour":8},
{"day":"saturday","hour":9},
{"day":"saturday","hour":10},
{"day":"saturday","hour":11},
{"day":"saturday","hour":12},
{"day":"saturday","hour":13},
{"day":"saturday","hour":14},
{"day":"saturday","hour":15},
{"day":"saturday","hour":16},
{"day":"saturday","hour":17},
{"day":"saturday","hour":18},
{"day":"saturday","hour":19},
{"day":"saturday","hour":20},
{"day":"saturday","hour":21},
{"day":"saturday","hour":22},
{"day":"saturday","hour":23},
{"day":"sunday","hour":0},
{"day":"sunday","hour":1},
{"day":"sunday","hour":2},
{"day":"sunday","hour":3},
{"day":"sunday","hour":4},
{"day":"sunday","hour":5},
{"day":"sunday","hour":6},
{"day":"sunday","hour":7},
{"day":"sunday","hour":8},
{"day":"sunday","hour":9},
{"day":"sunday","hour":10},
{"day":"sunday","hour":11},
{"day":"sunday","hour":12},
{"day":"sunday","hour":13},
{"day":"sunday","hour":14},
{"day":"sunday","hour":15},
{"day":"sunday","hour":16},
{"day":"sunday","hour":17},
{"day":"sunday","hour":18},
{"day":"sunday","hour":19},
{"day":"sunday","hour":20},
{"day":"sunday","hour":21},
{"day":"sunday","hour":22},
{"day":"sunday","hour":23}
]
}
},
"budgetManagement": 1,
"creativesManagement": 1,
"pixelsManagement": 1,
"autoPace": 1,
"pacingType": "even",
"catchupAsap": 1,
"pacingTz": "America/New_York",
"dayPartTargetingMode": "user",
"daypartsManagement": 1,
"applyPacingCurveToAllDays": 1,
"enableFrequency": 1,
"frequencyCap": 3,
"timeFrameDays": 1,
"recency": 30,
"programmaticGuaranteed": 0,
"enableFlights": 1,
"currency": "usd",
"frequencyCapType": "ip"
}'
When daypartsManagement is enabled, at least one day and hour must be included under targets.dayParts.include. Each eligible hour is entered individually. In this example, all 168 hours of the week are included, allowing delivery at any time.
Response
A successful request returns the newly created Campaign and its stored configuration.
{
"timestamp": "2026-09-01 17:16:00",
"response": {
"id": 14901,
"status": 1,
"statusInfo": [],
"name": "API Example Campaign",
"seatId": 1000,
"advertiserId": 5943,
"startDate": 20260901,
"endDate": 20260930,
"budget": 1000,
"budgetType": "spend",
"creativeIds": [
30336
],
"pixelIds": [
18887
],
"linesCreativeIds": [],
"pacingData": {
"pacing": 0,
"perfectPacing": 1.9444444444444444,
"spend": 0
},
"enableFootTraffic": 0,
"transparency": 0,
"targets": {
"geoCountries": {
"include": [
{
"code": "US",
"name": "United States"
}
]
},
"dayParts": {
"include": [
{"day": "monday", "hour": 0},
{"day": "monday", "hour": 1},
{"day": "monday", "hour": 2},
{"day": "monday", "hour": 3},
{"day": "monday", "hour": 4},
{"day": "monday", "hour": 5},
{"day": "monday", "hour": 6},
{"day": "monday", "hour": 7},
{"day": "monday", "hour": 8},
{"day": "monday", "hour": 9},
{"day": "monday", "hour": 10},
{"day": "monday", "hour": 11},
{"day": "monday", "hour": 12},
{"day": "monday", "hour": 13},
{"day": "monday", "hour": 14},
{"day": "monday", "hour": 15},
{"day": "monday", "hour": 16},
{"day": "monday", "hour": 17},
{"day": "monday", "hour": 18},
{"day": "monday", "hour": 19},
{"day": "monday", "hour": 20},
{"day": "monday", "hour": 21},
{"day": "monday", "hour": 22},
{"day": "monday", "hour": 23},
{"day": "tuesday", "hour": 0},
{"day": "tuesday", "hour": 1},
{"day": "tuesday", "hour": 2},
{"day": "tuesday", "hour": 3},
{"day": "tuesday", "hour": 4},
{"day": "tuesday", "hour": 5},
{"day": "tuesday", "hour": 6},
{"day": "tuesday", "hour": 7},
{"day": "tuesday", "hour": 8},
{"day": "tuesday", "hour": 9},
{"day": "tuesday", "hour": 10},
{"day": "tuesday", "hour": 11},
{"day": "tuesday", "hour": 12},
{"day": "tuesday", "hour": 13},
{"day": "tuesday", "hour": 14},
{"day": "tuesday", "hour": 15},
{"day": "tuesday", "hour": 16},
{"day": "tuesday", "hour": 17},
{"day": "tuesday", "hour": 18},
{"day": "tuesday", "hour": 19},
{"day": "tuesday", "hour": 20},
{"day": "tuesday", "hour": 21},
{"day": "tuesday", "hour": 22},
{"day": "tuesday", "hour": 23},
{"day": "wednesday", "hour": 0},
{"day": "wednesday", "hour": 1},
{"day": "wednesday", "hour": 2},
{"day": "wednesday", "hour": 3},
{"day": "wednesday", "hour": 4},
{"day": "wednesday", "hour": 5},
{"day": "wednesday", "hour": 6},
{"day": "wednesday", "hour": 7},
{"day": "wednesday", "hour": 8},
{"day": "wednesday", "hour": 9},
{"day": "wednesday", "hour": 10},
{"day": "wednesday", "hour": 11},
{"day": "wednesday", "hour": 12},
{"day": "wednesday", "hour": 13},
{"day": "wednesday", "hour": 14},
{"day": "wednesday", "hour": 15},
{"day": "wednesday", "hour": 16},
{"day": "wednesday", "hour": 17},
{"day": "wednesday", "hour": 18},
{"day": "wednesday", "hour": 19},
{"day": "wednesday", "hour": 20},
{"day": "wednesday", "hour": 21},
{"day": "wednesday", "hour": 22},
{"day": "wednesday", "hour": 23},
{"day": "thursday", "hour": 0},
{"day": "thursday", "hour": 1},
{"day": "thursday", "hour": 2},
{"day": "thursday", "hour": 3},
{"day": "thursday", "hour": 4},
{"day": "thursday", "hour": 5},
{"day": "thursday", "hour": 6},
{"day": "thursday", "hour": 7},
{"day": "thursday", "hour": 8},
{"day": "thursday", "hour": 9},
{"day": "thursday", "hour": 10},
{"day": "thursday", "hour": 11},
{"day": "thursday", "hour": 12},
{"day": "thursday", "hour": 13},
{"day": "thursday", "hour": 14},
{"day": "thursday", "hour": 15},
{"day": "thursday", "hour": 16},
{"day": "thursday", "hour": 17},
{"day": "thursday", "hour": 18},
{"day": "thursday", "hour": 19},
{"day": "thursday", "hour": 20},
{"day": "thursday", "hour": 21},
{"day": "thursday", "hour": 22},
{"day": "thursday", "hour": 23},
{"day": "friday", "hour": 0},
{"day": "friday", "hour": 1},
{"day": "friday", "hour": 2},
{"day": "friday", "hour": 3},
{"day": "friday", "hour": 4},
{"day": "friday", "hour": 5},
{"day": "friday", "hour": 6},
{"day": "friday", "hour": 7},
{"day": "friday", "hour": 8},
{"day": "friday", "hour": 9},
{"day": "friday", "hour": 10},
{"day": "friday", "hour": 11},
{"day": "friday", "hour": 12},
{"day": "friday", "hour": 13},
{"day": "friday", "hour": 14},
{"day": "friday", "hour": 15},
{"day": "friday", "hour": 16},
{"day": "friday", "hour": 17},
{"day": "friday", "hour": 18},
{"day": "friday", "hour": 19},
{"day": "friday", "hour": 20},
{"day": "friday", "hour": 21},
{"day": "friday", "hour": 22},
{"day": "friday", "hour": 23},
{"day": "saturday", "hour": 0},
{"day": "saturday", "hour": 1},
{"day": "saturday", "hour": 2},
{"day": "saturday", "hour": 3},
{"day": "saturday", "hour": 4},
{"day": "saturday", "hour": 5},
{"day": "saturday", "hour": 6},
{"day": "saturday", "hour": 7},
{"day": "saturday", "hour": 8},
{"day": "saturday", "hour": 9},
{"day": "saturday", "hour": 10},
{"day": "saturday", "hour": 11},
{"day": "saturday", "hour": 12},
{"day": "saturday", "hour": 13},
{"day": "saturday", "hour": 14},
{"day": "saturday", "hour": 15},
{"day": "saturday", "hour": 16},
{"day": "saturday", "hour": 17},
{"day": "saturday", "hour": 18},
{"day": "saturday", "hour": 19},
{"day": "saturday", "hour": 20},
{"day": "saturday", "hour": 21},
{"day": "saturday", "hour": 22},
{"day": "saturday", "hour": 23},
{"day": "sunday", "hour": 0},
{"day": "sunday", "hour": 1},
{"day": "sunday", "hour": 2},
{"day": "sunday", "hour": 3},
{"day": "sunday", "hour": 4},
{"day": "sunday", "hour": 5},
{"day": "sunday", "hour": 6},
{"day": "sunday", "hour": 7},
{"day": "sunday", "hour": 8},
{"day": "sunday", "hour": 9},
{"day": "sunday", "hour": 10},
{"day": "sunday", "hour": 11},
{"day": "sunday", "hour": 12},
{"day": "sunday", "hour": 13},
{"day": "sunday", "hour": 14},
{"day": "sunday", "hour": 15},
{"day": "sunday", "hour": 16},
{"day": "sunday", "hour": 17},
{"day": "sunday", "hour": 18},
{"day": "sunday", "hour": 19},
{"day": "sunday", "hour": 20},
{"day": "sunday", "hour": 21},
{"day": "sunday", "hour": 22},
{"day": "sunday", "hour": 23}
]
}
},
"budgetManagement": 1,
"creativesManagement": 1,
"pixelsManagement": 1,
"autoPace": 1,
"pacingType": "even",
"catchupAsap": 1,
"pacingTz": "America/New_York",
"dayPartTargetingMode": "user",
"daypartsManagement": 1,
"applyPacingCurveToAllDays": 1,
"enableFrequency": 1,
"frequencyCap": 3,
"frequency": 3,
"timeFrameDays": 1,
"recency": 30,
"programmaticGuaranteed": 0,
"flights": [
{
"id": 8371,
"startDate": 20260901,
"endDate": 20260930,
"budget": 1000,
"pacing": 0,
"perfectPacing": 1.944,
"relativePacing": 0,
"rolloverBudget": 0,
"status": 1,
"impressions": 0,
"revenue": 0,
"current": 1,
"pendingRollover": 0,
"rolloverDone": 0
}
],
"enableFlights": 1,
"currency": "usd",
"frequencyCapType": "ip"
},
"accountStatus": 1,
"seatId": 1000
}
The response confirms that the Campaign was created successfully with:
- Campaign ID: 14901
- Creative ID: 30336
- Pixel ID: 18887
- Flight ID: 8371
The full 24/7 daypart schedule was also stored under targets.dayParts.include, confirming that each eligible day and hour is represented individually. Because enableFlights is enabled, an initial flight was automatically created covering the full Campaign date range and Campaign budget.
Save the Campaign ID, as it will be required when creating Lines beneath the Campaign.
Because creativesManagement and pixelsManagement are enabled, Lines created under this Campaign can inherit these Campaign level associations.
Pontiac Bidder UI Validation

Campaign Setup

Pacing & Dayparts

Frequency & Recency

Targeting, Creatives, Audiences, & Pixels
