{"id":14715,"date":"2026-09-01T17:35:38","date_gmt":"2026-09-01T17:35:38","guid":{"rendered":"https:\/\/wiki.pontiac.media\/?docs=api\/pontiac-bidder-api-campaign-tutorial\/creating-a-line"},"modified":"2026-09-01T18:59:31","modified_gmt":"2026-09-01T18:59:31","slug":"creating-a-line","status":"publish","type":"docs","link":"https:\/\/wiki.pontiac.media\/?docs=api\/pontiac-bidder-api-campaign-tutorial\/creating-a-line","title":{"rendered":"Creating a Line"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Lines are created under a Campaign using: POST \/rtb\/lines<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Line is the level where bidding and inventory delivery are executed. Every Campaign must have at least one Line in order to deliver impressions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this example, we will create a Line under:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Advertiser ID:<\/strong> 5943<\/li>\n\n\n\n<li><strong>Campaign ID:<\/strong> 14901<\/li>\n\n\n\n<li>Seat ID: 1000<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Because the example Campaign was configured to manage budgets, Creatives, Pixels, pacing\/dayparts, and frequency settings, the Line inherits those applicable Campaign-level settings. However, some corresponding fields are still required in the Line creation request for validation. These fields can be populated without creating additional Line-level restrictions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Required Fields<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The following fields are required when creating a Line:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>advertiserId<\/code>: Parent Advertiser ID.<\/li>\n\n\n\n<li><code>campaignId<\/code>: Parent Campaign ID.<\/li>\n\n\n\n<li><code>name<\/code>: Line display name.<\/li>\n\n\n\n<li><code>status<\/code>: Line status. Use <code>1<\/code> for active or <code>0<\/code> for inactive.<\/li>\n\n\n\n<li><code>startDate<\/code>: Line start date in <code>YYYYMMDD<\/code> format.<\/li>\n\n\n\n<li><code>endDate<\/code>: Line end date in <code>YYYYMMDD<\/code> format.<\/li>\n\n\n\n<li><code>bidPrice<\/code>: CPM bid price in dollars.<\/li>\n\n\n\n<li><code>bidType<\/code>: Bidding method. Supported values include:\n<ul class=\"wp-block-list\">\n<li><code>basic<\/code>: Fixed CPM bid.<\/li>\n\n\n\n<li><code>bid-floor<\/code>: Bid based on the applicable floor price.<\/li>\n\n\n\n<li><code>advanced<\/code>: Supports more granular or Deal-specific bidding.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>recency<\/code>: Minimum number of minutes between impressions. Supported values are <code>0<\/code>, <code>1<\/code>, <code>2<\/code>, <code>5<\/code>, <code>15<\/code>, <code>30<\/code>, <code>60<\/code>, and <code>360<\/code>.<\/li>\n\n\n\n<li><code>dailyPacing<\/code>: Line pacing type. Supported values include <code>even<\/code>, <code>asap<\/code>, and <code>custom<\/code>.<\/li>\n\n\n\n<li><code>catchupAsap<\/code>: Enables aggressive catch-up pacing when behind.<\/li>\n\n\n\n<li><code>dayPartTargetingMode<\/code>: Determines the timezone used for dayparting. Supported values include <code>user<\/code> and <code>line<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><code>budgetType<\/code> is inherited from the parent Campaign and should not be included in the Line request.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Campaign-Managed Settings<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The parent Campaign in this example has Campaign-level management enabled for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Budget<\/li>\n\n\n\n<li>Creatives<\/li>\n\n\n\n<li>Pixels<\/li>\n\n\n\n<li>Pacing and dayparts<\/li>\n\n\n\n<li>Frequency and recency<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">As a result, the Line does not need to explicitly associate Creative ID <code>30336<\/code> or Pixel ID <code>18887<\/code>. These associations are inherited from the parent Campaign.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because Campaign budget management is enabled, the Line uses <code>budgetAllocationWeight<\/code> rather than setting an independent Line budget.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Some pacing and frequency fields must still be populated in the POST request to satisfy Line validation. A value of <code>0<\/code> is used for Line-level frequency and recency so that the Campaign-level restrictions remain controlling.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Budget Allocation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When <code>budgetManagement<\/code> is enabled on the parent Campaign, use:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>budgetAllocationWeight<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">to assign budget weight to each Line.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this example, there is only one Line, so a weight of <code>100<\/code> is used:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"budgetAllocationWeight\": 100<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The Line also uses:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"budgetMultiplier\": 1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A multiplier of <code>1<\/code> means no additional daily budget multiplier is applied.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bid Settings<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This example uses Bid at Floor bidding with a maximum configured bid value of <code>$5.11 CPM<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"bidPrice\": 5.11,\n\"bidType\": \"bid-floor\",\n\"maxBid\": 5.11<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The Line will use floor-based bidding while limiting the configured bid to <code>$5.11 CPM<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Targeting Requirements<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Line endpoint requires a <code>targets<\/code> object.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At least one country must be included under:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>targets.geoCountries.include<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In addition, <code>targets.dayParts.include<\/code> must contain at least one eligible day and hour.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because this example Campaign allows delivery 24 hours per day, seven days per week, the Line includes all 168 hours. This satisfies Line validation without introducing a more restrictive Line-level daypart schedule.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frequency Validation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Line endpoint also requires a <code>frequencyCap<\/code> value even when frequency is managed at the Campaign level.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For this example, Line-level frequency is disabled using:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"enableFrequency\": false,\n\"enableIpFrequencyCapping\": false,\n\"frequencyCap\": 0,\n\"dailyIpImpsLimit\": 0,\n\"timeFrameDays\": 1,\n\"frequencyCapType\": \"ip\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The Line-level <code>recency<\/code> is also set to <code>0<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This leaves Line-level frequency and recency unrestricted while allowing the Campaign-level settings to remain controlling.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Example Request<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -X 'POST' \\\n  'https:\/\/api.pontiac.media\/rtb\/lines' \\\n  -H 'accept: application\/json' \\\n  -H 'auth: YOUR_AUTH_TOKEN' \\\n  -H 'Content-Type: application\/json' \\\n  -d '{\n    \"advertiserId\": 5943,\n    \"campaignId\": 14901,\n    \"seatId\": 1000,\n    \"name\": \"API Example Line\",\n    \"status\": 1,\n    \"startDate\": 20260901,\n    \"endDate\": 20260930,\n    \"bidPrice\": 5.11,\n    \"bidType\": \"bid-floor\",\n    \"maxBid\": 5.11,\n    \"recency\": 0,\n    \"dailyPacing\": \"even\",\n    \"catchupAsap\": true,\n    \"dayPartTargetingMode\": \"user\",\n    \"budgetAllocationWeight\": 100,\n    \"budgetMultiplier\": 1,\n    \"inventoryType\": \"combined\",\n    \"enableFrequency\": false,\n    \"enableIpFrequencyCapping\": false,\n    \"frequencyCap\": 0,\n    \"dailyIpImpsLimit\": 0,\n    \"timeFrameDays\": 1,\n    \"frequencyCapType\": \"ip\",\n    \"targets\": {\n      \"geoCountries\": {\n        \"include\": &#91;\n          {\n            \"code\": \"US\"\n          }\n        ]\n      },\n      \"dayParts\": {\n        \"include\": &#91;\n          {\"day\":\"monday\",\"hour\":0},\n          {\"day\":\"monday\",\"hour\":1},\n          {\"day\":\"monday\",\"hour\":2},\n          {\"day\":\"monday\",\"hour\":3},\n          {\"day\":\"monday\",\"hour\":4},\n          {\"day\":\"monday\",\"hour\":5},\n          {\"day\":\"monday\",\"hour\":6},\n          {\"day\":\"monday\",\"hour\":7},\n          {\"day\":\"monday\",\"hour\":8},\n          {\"day\":\"monday\",\"hour\":9},\n          {\"day\":\"monday\",\"hour\":10},\n          {\"day\":\"monday\",\"hour\":11},\n          {\"day\":\"monday\",\"hour\":12},\n          {\"day\":\"monday\",\"hour\":13},\n          {\"day\":\"monday\",\"hour\":14},\n          {\"day\":\"monday\",\"hour\":15},\n          {\"day\":\"monday\",\"hour\":16},\n          {\"day\":\"monday\",\"hour\":17},\n          {\"day\":\"monday\",\"hour\":18},\n          {\"day\":\"monday\",\"hour\":19},\n          {\"day\":\"monday\",\"hour\":20},\n          {\"day\":\"monday\",\"hour\":21},\n          {\"day\":\"monday\",\"hour\":22},\n          {\"day\":\"monday\",\"hour\":23},\n\n          {\"day\":\"tuesday\",\"hour\":0},\n          {\"day\":\"tuesday\",\"hour\":1},\n          {\"day\":\"tuesday\",\"hour\":2},\n          {\"day\":\"tuesday\",\"hour\":3},\n          {\"day\":\"tuesday\",\"hour\":4},\n          {\"day\":\"tuesday\",\"hour\":5},\n          {\"day\":\"tuesday\",\"hour\":6},\n          {\"day\":\"tuesday\",\"hour\":7},\n          {\"day\":\"tuesday\",\"hour\":8},\n          {\"day\":\"tuesday\",\"hour\":9},\n          {\"day\":\"tuesday\",\"hour\":10},\n          {\"day\":\"tuesday\",\"hour\":11},\n          {\"day\":\"tuesday\",\"hour\":12},\n          {\"day\":\"tuesday\",\"hour\":13},\n          {\"day\":\"tuesday\",\"hour\":14},\n          {\"day\":\"tuesday\",\"hour\":15},\n          {\"day\":\"tuesday\",\"hour\":16},\n          {\"day\":\"tuesday\",\"hour\":17},\n          {\"day\":\"tuesday\",\"hour\":18},\n          {\"day\":\"tuesday\",\"hour\":19},\n          {\"day\":\"tuesday\",\"hour\":20},\n          {\"day\":\"tuesday\",\"hour\":21},\n          {\"day\":\"tuesday\",\"hour\":22},\n          {\"day\":\"tuesday\",\"hour\":23},\n\n          {\"day\":\"wednesday\",\"hour\":0},\n          {\"day\":\"wednesday\",\"hour\":1},\n          {\"day\":\"wednesday\",\"hour\":2},\n          {\"day\":\"wednesday\",\"hour\":3},\n          {\"day\":\"wednesday\",\"hour\":4},\n          {\"day\":\"wednesday\",\"hour\":5},\n          {\"day\":\"wednesday\",\"hour\":6},\n          {\"day\":\"wednesday\",\"hour\":7},\n          {\"day\":\"wednesday\",\"hour\":8},\n          {\"day\":\"wednesday\",\"hour\":9},\n          {\"day\":\"wednesday\",\"hour\":10},\n          {\"day\":\"wednesday\",\"hour\":11},\n          {\"day\":\"wednesday\",\"hour\":12},\n          {\"day\":\"wednesday\",\"hour\":13},\n          {\"day\":\"wednesday\",\"hour\":14},\n          {\"day\":\"wednesday\",\"hour\":15},\n          {\"day\":\"wednesday\",\"hour\":16},\n          {\"day\":\"wednesday\",\"hour\":17},\n          {\"day\":\"wednesday\",\"hour\":18},\n          {\"day\":\"wednesday\",\"hour\":19},\n          {\"day\":\"wednesday\",\"hour\":20},\n          {\"day\":\"wednesday\",\"hour\":21},\n          {\"day\":\"wednesday\",\"hour\":22},\n          {\"day\":\"wednesday\",\"hour\":23},\n\n          {\"day\":\"thursday\",\"hour\":0},\n          {\"day\":\"thursday\",\"hour\":1},\n          {\"day\":\"thursday\",\"hour\":2},\n          {\"day\":\"thursday\",\"hour\":3},\n          {\"day\":\"thursday\",\"hour\":4},\n          {\"day\":\"thursday\",\"hour\":5},\n          {\"day\":\"thursday\",\"hour\":6},\n          {\"day\":\"thursday\",\"hour\":7},\n          {\"day\":\"thursday\",\"hour\":8},\n          {\"day\":\"thursday\",\"hour\":9},\n          {\"day\":\"thursday\",\"hour\":10},\n          {\"day\":\"thursday\",\"hour\":11},\n          {\"day\":\"thursday\",\"hour\":12},\n          {\"day\":\"thursday\",\"hour\":13},\n          {\"day\":\"thursday\",\"hour\":14},\n          {\"day\":\"thursday\",\"hour\":15},\n          {\"day\":\"thursday\",\"hour\":16},\n          {\"day\":\"thursday\",\"hour\":17},\n          {\"day\":\"thursday\",\"hour\":18},\n          {\"day\":\"thursday\",\"hour\":19},\n          {\"day\":\"thursday\",\"hour\":20},\n          {\"day\":\"thursday\",\"hour\":21},\n          {\"day\":\"thursday\",\"hour\":22},\n          {\"day\":\"thursday\",\"hour\":23},\n\n          {\"day\":\"friday\",\"hour\":0},\n          {\"day\":\"friday\",\"hour\":1},\n          {\"day\":\"friday\",\"hour\":2},\n          {\"day\":\"friday\",\"hour\":3},\n          {\"day\":\"friday\",\"hour\":4},\n          {\"day\":\"friday\",\"hour\":5},\n          {\"day\":\"friday\",\"hour\":6},\n          {\"day\":\"friday\",\"hour\":7},\n          {\"day\":\"friday\",\"hour\":8},\n          {\"day\":\"friday\",\"hour\":9},\n          {\"day\":\"friday\",\"hour\":10},\n          {\"day\":\"friday\",\"hour\":11},\n          {\"day\":\"friday\",\"hour\":12},\n          {\"day\":\"friday\",\"hour\":13},\n          {\"day\":\"friday\",\"hour\":14},\n          {\"day\":\"friday\",\"hour\":15},\n          {\"day\":\"friday\",\"hour\":16},\n          {\"day\":\"friday\",\"hour\":17},\n          {\"day\":\"friday\",\"hour\":18},\n          {\"day\":\"friday\",\"hour\":19},\n          {\"day\":\"friday\",\"hour\":20},\n          {\"day\":\"friday\",\"hour\":21},\n          {\"day\":\"friday\",\"hour\":22},\n          {\"day\":\"friday\",\"hour\":23},\n\n          {\"day\":\"saturday\",\"hour\":0},\n          {\"day\":\"saturday\",\"hour\":1},\n          {\"day\":\"saturday\",\"hour\":2},\n          {\"day\":\"saturday\",\"hour\":3},\n          {\"day\":\"saturday\",\"hour\":4},\n          {\"day\":\"saturday\",\"hour\":5},\n          {\"day\":\"saturday\",\"hour\":6},\n          {\"day\":\"saturday\",\"hour\":7},\n          {\"day\":\"saturday\",\"hour\":8},\n          {\"day\":\"saturday\",\"hour\":9},\n          {\"day\":\"saturday\",\"hour\":10},\n          {\"day\":\"saturday\",\"hour\":11},\n          {\"day\":\"saturday\",\"hour\":12},\n          {\"day\":\"saturday\",\"hour\":13},\n          {\"day\":\"saturday\",\"hour\":14},\n          {\"day\":\"saturday\",\"hour\":15},\n          {\"day\":\"saturday\",\"hour\":16},\n          {\"day\":\"saturday\",\"hour\":17},\n          {\"day\":\"saturday\",\"hour\":18},\n          {\"day\":\"saturday\",\"hour\":19},\n          {\"day\":\"saturday\",\"hour\":20},\n          {\"day\":\"saturday\",\"hour\":21},\n          {\"day\":\"saturday\",\"hour\":22},\n          {\"day\":\"saturday\",\"hour\":23},\n\n          {\"day\":\"sunday\",\"hour\":0},\n          {\"day\":\"sunday\",\"hour\":1},\n          {\"day\":\"sunday\",\"hour\":2},\n          {\"day\":\"sunday\",\"hour\":3},\n          {\"day\":\"sunday\",\"hour\":4},\n          {\"day\":\"sunday\",\"hour\":5},\n          {\"day\":\"sunday\",\"hour\":6},\n          {\"day\":\"sunday\",\"hour\":7},\n          {\"day\":\"sunday\",\"hour\":8},\n          {\"day\":\"sunday\",\"hour\":9},\n          {\"day\":\"sunday\",\"hour\":10},\n          {\"day\":\"sunday\",\"hour\":11},\n          {\"day\":\"sunday\",\"hour\":12},\n          {\"day\":\"sunday\",\"hour\":13},\n          {\"day\":\"sunday\",\"hour\":14},\n          {\"day\":\"sunday\",\"hour\":15},\n          {\"day\":\"sunday\",\"hour\":16},\n          {\"day\":\"sunday\",\"hour\":17},\n          {\"day\":\"sunday\",\"hour\":18},\n          {\"day\":\"sunday\",\"hour\":19},\n          {\"day\":\"sunday\",\"hour\":20},\n          {\"day\":\"sunday\",\"hour\":21},\n          {\"day\":\"sunday\",\"hour\":22},\n          {\"day\":\"sunday\",\"hour\":23}\n        ]\n      }\n    },\n    \"currency\": \"usd\"\n  }'<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Response<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A successful request returns the newly created Line and its stored configuration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The response for this example returned:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"timestamp\": \"2026-09-01 17:47:29\",\n  \"response\": {\n    \"id\": 75913,\n    \"advertiserId\": 5943,\n    \"campaignId\": 14901,\n    \"seatId\": 1000,\n    \"name\": \"API Example Line\",\n    \"status\": 1,\n    \"statusInfo\": &#91;],\n    \"startDate\": 20260901,\n    \"endDate\": 20260930,\n    \"deployDate\": \"2026-09-01 12:47:29\",\n    \"budgetType\": \"spend\",\n    \"budget\": 0,\n    \"bidPrice\": 5.11,\n    \"averageBidPrice\": 5.11,\n    \"inventoryType\": \"combined\",\n    \"creativeIds\": &#91;\n      30336\n    ],\n    \"pixelIds\": &#91;\n      18887\n    ],\n    \"targets\": {\n      \"geoCountries\": {\n        \"include\": &#91;\n          {\n            \"code\": \"US\",\n            \"name\": \"United States\"\n          }\n        ]\n      },\n      \"dayParts\": {\n        \"include\": &#91;\n          \"...all 168 configured day\/hour combinations...\"\n        ]\n      }\n    },\n    \"dailyPacing\": \"even\",\n    \"catchupAsap\": 1,\n    \"dayPartTargetingMode\": \"user\",\n    \"applyPacingCurveToAllDays\": 0,\n    \"enableIpFrequencyCapping\": 0,\n    \"enableFrequency\": 0,\n    \"dailyIpImpsLimit\": 0,\n    \"frequencyCap\": 0,\n    \"timeFrameDays\": 1,\n    \"budgetMultiplier\": 1,\n    \"rtbMargin\": 0,\n    \"enableFootTraffic\": 0,\n    \"budgetAllocationWeight\": 100,\n    \"dailyBudget\": 0,\n    \"recency\": 0,\n    \"bidType\": \"bid-floor\",\n    \"flights\": &#91;\n      {\n        \"id\": 58824,\n        \"lineId\": 75913,\n        \"campaignFlightId\": 8371,\n        \"startDate\": 20260901,\n        \"endDate\": 20260930,\n        \"budget\": 0,\n        \"budgetAllocationWeight\": 100,\n        \"budgetMultiplier\": 1,\n        \"status\": 1,\n        \"dailyBudget\": 0\n      }\n    ],\n    \"currency\": \"usd\",\n    \"advancedBids\": &#91;],\n    \"indexUseCuratedDeal\": 0,\n    \"xandrUseCuratedDeal\": 0,\n    \"frequencyCapType\": \"ip\"\n  },\n  \"accountStatus\": 1,\n  \"seatId\": 1000\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Save the Line <code>id<\/code> returned in the response.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Line ID: <\/strong><code><strong>75913<\/strong><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The response also confirms several Campaign inheritance behaviors.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Creative and Pixel Inheritance<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Creative ID <code>30336<\/code> and Pixel ID <code>18887<\/code> were not explicitly included in the Line request but were automatically associated with the created Line because Creative and Pixel management are enabled on the parent Campaign.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Budget Inheritance<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Line inherited:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"budgetType\": \"spend\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">from the parent Campaign.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because Campaign budget management is enabled, the Line&#8217;s independent <code>budget<\/code> is returned as <code>0<\/code>. Instead, the Line uses:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"budgetAllocationWeight\": 100<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">to determine its share of the Campaign-managed budget.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Line Flight<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A Line flight was also automatically created:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Line Flight ID: <\/strong><code><strong>58824<\/strong><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Line flight is linked to:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Campaign Flight ID: <\/strong><code><strong>8371<\/strong><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">and uses the same date range as the Campaign flight.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Frequency and Recency<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Line was created with:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"enableFrequency\": 0,\n\"frequencyCap\": 0,\n\"recency\": 0<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This leaves Line-level frequency and recency unrestricted while the Campaign-level frequency and recency settings remain controlling.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Targeting<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Line endpoint requires both country and daypart targeting to be populated during creation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This example targets:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Country:<\/strong> United States<\/li>\n\n\n\n<li><strong>Dayparts:<\/strong> All 168 hours of the week<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Using the complete 24\/7 schedule ensures that the Line itself does not further restrict the Campaign-level daypart schedule.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Created Objects<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">At the end of this example, the setup includes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Advertiser ID:<\/strong> <code>5943<\/code><\/li>\n\n\n\n<li><strong>Creative ID:<\/strong> <code>30336<\/code><\/li>\n\n\n\n<li><strong>Pixel ID:<\/strong> <code>18887<\/code><\/li>\n\n\n\n<li><strong>Campaign ID:<\/strong> <code>14901<\/code><\/li>\n\n\n\n<li><strong>Campaign Flight ID:<\/strong> <code>8371<\/code><\/li>\n\n\n\n<li><strong>Line ID:<\/strong> <code>75913<\/code><\/li>\n\n\n\n<li><strong>Line Flight ID:<\/strong> <code>58824<\/code><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Pontiac Bidder UI Validation<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Line Creation &amp; Setup<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"655\" src=\"https:\/\/wiki.pontiac.media\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-105438-1024x655.png\" alt=\"\" class=\"wp-image-14718\" srcset=\"https:\/\/wiki.pontiac.media\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-105438-1024x655.png 1024w, https:\/\/wiki.pontiac.media\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-105438-300x192.png 300w, https:\/\/wiki.pontiac.media\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-105438-768x491.png 768w, https:\/\/wiki.pontiac.media\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-105438-1536x983.png 1536w, https:\/\/wiki.pontiac.media\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-105438.png 1916w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Targeting, Creatives, Audiences, &amp; Pixels<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"438\" src=\"https:\/\/wiki.pontiac.media\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-105506-1024x438.png\" alt=\"\" class=\"wp-image-14719\" srcset=\"https:\/\/wiki.pontiac.media\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-105506-1024x438.png 1024w, https:\/\/wiki.pontiac.media\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-105506-300x128.png 300w, https:\/\/wiki.pontiac.media\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-105506-768x329.png 768w, https:\/\/wiki.pontiac.media\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-105506-1536x657.png 1536w, https:\/\/wiki.pontiac.media\/wp-content\/uploads\/2026\/09\/Screenshot-2026-09-01-105506.png 1711w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"author":17,"featured_media":0,"parent":14675,"menu_order":6,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_is_vendor_doc":"0","footnotes":""},"doc_tag":[],"class_list":["post-14715","docs","type-docs","status-publish","hentry","no-post-thumbnail"],"comment_count":0,"_links":{"self":[{"href":"https:\/\/wiki.pontiac.media\/index.php?rest_route=\/wp\/v2\/docs\/14715","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiki.pontiac.media\/index.php?rest_route=\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/wiki.pontiac.media\/index.php?rest_route=\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/wiki.pontiac.media\/index.php?rest_route=\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/wiki.pontiac.media\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14715"}],"version-history":[{"count":1,"href":"https:\/\/wiki.pontiac.media\/index.php?rest_route=\/wp\/v2\/docs\/14715\/revisions"}],"predecessor-version":[{"id":14720,"href":"https:\/\/wiki.pontiac.media\/index.php?rest_route=\/wp\/v2\/docs\/14715\/revisions\/14720"}],"up":[{"embeddable":true,"href":"https:\/\/wiki.pontiac.media\/index.php?rest_route=\/wp\/v2\/docs\/14675"}],"prev":[{"title":"Creating a Campaign","link":"https:\/\/wiki.pontiac.media\/?docs=api\/pontiac-bidder-api-campaign-tutorial\/creating-a-campaign","href":"https:\/\/wiki.pontiac.media\/index.php?rest_route=\/wp\/v2\/docs\/14700"}],"wp:attachment":[{"href":"https:\/\/wiki.pontiac.media\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14715"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/wiki.pontiac.media\/index.php?rest_route=%2Fwp%2Fv2%2Fdoc_tag&post=14715"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}