Create Line Item
Create a line item on an existing campaign
In Life, a line item is a budgeted execution unit within a campaign that defines how a portion of the campaign’s budget is spent. A line item specifies the channel/type (e.g., display, video, DOOH, audio, search extension, native, universal), cost model and pacing, flights and frequency caps, and other delivery constraints, and it owns the tactics that execute against those settings.
Endpoint
POST
https://lifeapi.pulsepoint.com/RestApi/v2/account/{account_id}/lineitems/Path Parameters
| Name | Data Type | Notes |
|---|---|---|
| account_id | integer | The account ID you are creating line items under |
Request Field List
lineitems
| Name | Data Type | Required | Notes |
|---|---|---|---|
| name | string | yes | |
| campaignId | integer | yes | The campaign id where you want to add the line item |
| costModel | ENUM string | yes | CPM or CPC - CPC can only be used in Native and Search line item types. Fixed CPM is only relevant to clients paying for Managed Services through Life. |
| cpmPrice | numeric | no | only relevant for Fixed CPM costModel |
| description | string | no | |
| inventoryType | ENUM string | yes | Valid Values: Display, Video, Audio, Native, Search, DOOH, NativeVideo |
| budgetDistribution | ENUM string | no | How should budgets be spent across tactics. Default is Dollars. Valid Values: Dollars, Percent, Priority |
| customFieldSettings | object | conditional | If you have a mandatory custom field setting in Life at the line item level, this object will be mandatory. Otherwise, this object is optional. |
| flights | object | yes | At least one flight is required |
| frequencyCap | object | no | |
| dayparting | object | no | |
| managementFee | object | no | |
| timezone | ENUM string | yes |
lineItems.customFieldSetting
| Name | Data Type | Required | Notes |
|---|---|---|---|
| isNewField | Boolean | yes | Values: true,false |
| fieldName | String | yes | must be unique to the account id if isNewField = true |
| fieldValue | String | yes |
lineItems.flights
| Name | Data Type | Required | Notes |
|---|---|---|---|
| budget | numeric | yes | support two decimals |
| startDate | string | yes | ex: 11-01-2025 00:00:00 |
| endDate | string | yes | ex: 11-01-2025 00:00:00 |
| pacingMode | ENUM string | yes | Valid Values: EVEN, ASAP, AHEAD |
| paceAheadPercent | integer | conditional | only required for flights.pacingMode="AHEAD" |
| totalImpressionCap | integer | no | Total Impressions that can serve for a given flight |
| dailyImpressionCap | integer | no | Total impressions that can serve per day on a given flight |
| maxDailySpendOverride | object | yes | This optional field is a safety check that limits daily spend, regardless of current budget or pacing. Default is 2x the even pacing of your flight. |
lineItems.flights.maxDailySpendOverride
| Name | Data Type | Required | Notes |
|---|---|---|---|
| enabled | boolean | yes | valid values: true, false |
| type | ENUM string | conditional | only required if enabled=true. valid values: amount, multiplier |
| value | numeric | conditional | only required if enabled=true. The value of the amount or multiplier for the max daily spend override |
lineItems.dayparting
| Name | Data Type | Required | Notes |
|---|---|---|---|
| enabled | boolean | no | valid values: true, false |
| schedule | array of objects | conditional | If enabled = true then a schedule is required |
lineItems.dayparting.schedule
| Name | Data Type | Required | Notes |
|---|---|---|---|
| days | array of strings | no | Valid values: mon, tue, wed, thu, fri, sat, sun |
| hours | array of strings | no | Time ranges in HH:00-HH:00 format (24-hour, on the hour only) |
lineItems.frequencyCap
| Name | Data Type | Required | Notes |
|---|---|---|---|
| applyFrequencyCap | boolean | Conditional | If frequencyCap object is used, then it is required |
| times | integer | yes | 1-100 |
| period | period | yes | Valid Values: day, hour(s), week, month |
| hoursValue | integer | conditional | Only if hour(s) is the period used. Valid Values: 1 to 1000 |
| crossDevice | ENUM String | no | Valid Values: Per Device, Per Person, Per Household |
| untrackable | boolean | no | Include untrackable users |
| ipUntrackable | boolean | no | Include IP-untrackable users |
lineItems.managementFee
| Name | Data Type | Required | Notes |
|---|---|---|---|
| type | ENUM string | Conditional | If managementFee object is used, then it is required. Valid Values: Percentage, CPM, PercentageAndCPM, FixedCPM |
| percentage | integer | Conditional | Required in management fee types of Percentage or PercentageAndCPM |
| cpm | numeric | Conditional | Required in management fee types of CPM , PercentageAndCPM , FixedCPM |
Updated about 2 months ago
