Create and manage line items

Overview

This article explains how to create and manage line items, and how to retrieve all line items associated with a specified campaign.

Main endpoints

All line item endpoints are available in the Kamino platform API V2 under line-items.

Method Endpoint Description Reference
GET https://api.kaminoretail.dev/v2/campaigns/{campaign_id}/line-items Retrieve all line items associated with the specified campaign.

 

List line items

 

GET https://api.kaminoretail.dev/v2/line-items/{line_item_id} Retrieve details of a single line item.

 

Get a line item

 

POST https://api.kaminoretail.dev/v2/campaigns/{campaign_id}/line-items Create a line item.

 

Create a line item

 

PUT https://api.kaminoretail.dev/v2/line-items/{line_item_id} Update details of a specific line item by its Id.

 

Update a line item

 

Line item attributes

The following table defines key attributes for line items. For the complete list of attributes, see references in “Main endpoints”, earlier in this document.

Attribute Data type Description Example
budget integer The specific spend cap of the line item.
Accepted value: equals/greater than zero
500
categories array[string] The list of targeted category Ids. The Ids must match the retailer_product_category_id field from the Product Catalog Feed. ["category_id1", "category-id2"]
dates.lower array[string<date-time>] The line item start date, using ISO 8601 UTC timestamp. 2025-09-01T14:15:22Z
dates.upper array[string<date-time>] The line item end date, using ISO 8601 UTC timestamp. 2025-09-15T14:15:22Z
lineItemCreativesType string The creative delivery model applied to a line item, defining how and under which commercial logic creatives are served.
Accepted values : Sponsored, SponsoredProduct
SponsoredProduct
lineItemType string The line item type based on the ad creative format being used.
Accepted values: video, display, native.
native
name string The name of the line item. My line item name
pageType array[string] The list of targeted page types.
Accepted values: home, category, product, universe, search, confirmation.
["home","category"]
priority string

The priority.

Accepted value: default.

default
products array[string] The list of product Ids from promoted products in the campaign. The Ids must match the retailer_product_id field from the Product Catalog Feed. ["1234", "4536-abc, "EFGH"]
rules array[object] The list of rules to apply to the line item. Rules are objects composed of ruleType (string) and settings (object).
For more information about available values, see “Delivery rules”, later in this document.
{"ruleType": "Pacing", "settings":"asap"}
status string The line item status.
Accepted values: programming, review, approved, rejected, running, paused, ended, deleted.
programming

Delivery rules

Delivery rules consist of configurations that affect how the Kamino delivery engine serves a line item.

Capping

Capping limits how many times a user can see a line item within a specified time frequency.

  • timeframe: Set to Hour, Day, Week, Month, or Lifetime.
  • timelapse: You must always set this value to 0.
  • frequency: The maximum number of impressions allowed per timeframe.

Example

{
  "ruleType": "Capping",
  "settings": {
    "timeframe": "day",
    "timelapse": "0",
    "frequency": "5"
  }
}

Keywords

Keywords restrict ad delivery to specific search contexts.

The settings object contains a single keywords key, which accepts a list of keywords, separated by semicolons (;). You must replace spaces with underscores (_).

Example

{
  "ruleType": "Keywords",
  "settings": {
    "keywords": "keyword_1;keyword_2"
  }
}

Opt-in

The opt-in rule ensures that the platform only delivers line items to opt-in users. This rule requires no additional settings parameters.

Example:

{
  "ruleType": "OptIn",
  "settings": {}
}

Enabling this option significantly reduces your native reach.

 

Pacing

Pacing controls the rate at which a line item consumes its predefined impressions or budget during its scheduled run time. 

The pacing_type field is case-insensitive—for example Daily, DAILY, or daily are valid. The platform normalizes all inputs to lowercase for storage and delivery.

 
  • Daily: Limits the number of impressions per day, using Kamino's data to allocate a maximum number of impressions per hour, based on the line item's remaining budget.
  • Asap: Delivers the budget as quickly as possible without restrictions.
  • Adaptive: Dynamically adjusts pacing based on delivery performance.
  • Custom: Follows a manual delivery rate value specified in the pacing_value field.

Example - Asap

{
  "ruleType": "Pacing",
  "settings": {
    "pacing_type": "asap"
  }
}

Example - Custom

{
  "ruleType": "Pacing",
  "settings": {
    "pacing_type": "custom",
    "pacing_value": 1000
  }
}