# API

# API Overview

The Eskimi DSP API lets advertisers and agencies do through code what they do in the DSP: create and manage campaigns, creatives, audiences and packages, optimise delivery, and pull reports. It is for teams that want to automate their work or connect the DSP to their own tools.

### What You Can Do With the API

<table id="bkmrk-areawhat-you-can-do-"><thead><tr><th>Area</th><th>What you can do</th></tr></thead><tbody><tr><td>Campaigns</td><td>Create and update banner, native and video campaigns; start, stop and delete them; read their status; change budget pacing (Even or None) without touching any other setting.</td></tr><tr><td>Optimisation</td><td>Read campaign optimisation data, and start or stop delivery by exchange, creative, operating system, browser, operator, site or app, placement or package — the same actions as the Optimisation table in the DSP. Each option must be enabled for the advertiser.</td></tr><tr><td>Packages</td><td>Create, list, rename and delete apps/sites or placement packages, and add or replace their domains (up to 50,000 per request).</td></tr><tr><td>Creatives</td><td>Create, update, list and delete creative sets and creatives; upload banner and native assets.</td></tr><tr><td>Audiences</td><td>Create, update and delete behavioural and DMP audiences; list audience interests.</td></tr><tr><td>Brand safety</td><td>Create and list brand safety keyword sets.</td></tr><tr><td>Reports</td><td>Campaign reports and their splits (sites, exchanges, creatives, operating systems, operators, browsers, placements, age, gender and more), video reports, device ID reports, and period totals including deduplicated reach.</td></tr><tr><td>Reference data</td><td>The IDs that campaign settings use: countries and states, operators, devices, exchanges, sites, ad placements, age groups, genders and private marketplaces.</td></tr><tr><td>Invoices</td><td>Invoice details and the invoice PDF.</td></tr></tbody></table>

<p class="callout info">The full list of endpoints, parameters and examples is in the API documentation: [https://dsp-api.eskimi.com/docs/api/v1/](https://dsp-api.eskimi.com/docs/api/v1/)</p>

### How Access Tokens Work

Every API call needs an access token. The token tells the API who is calling and what that account may do.

[![How access tokens work: 1. request a token, 2. call the API with the token, 3. request a new token before it expires](https://manual.eskimi.com/uploads/images/gallery/2026-10/scaled-1680-/aFDLMjFvr5msGILK-token-flow.png)](https://manual.eskimi.com/uploads/images/gallery/2026-10/aFDLMjFvr5msGILK-token-flow.png)

1. Get an access token: generate it in the DSP, or request it with an HTTP call. Both ways are described in [How to Use the API](https://manual.eskimi.com/books/api/page/how-to-use-the-api).
2. Send the token in the `Authorization` header of every call: `Authorization: Bearer {ACCESS_TOKEN}`
3. A token is valid for one year. When you request it with an HTTP call, the response states its lifetime in seconds (`expires_in`). Before it expires, request a new token the same way and use the new one from then on.

<p class="callout info">The token belongs to your user and works for every advertiser your user has access to. Choose the advertiser with the `advertiserId` parameter in each request.</p>

### Working With the API

A few conventions apply to every endpoint:

- Send requests to `https://dsp-api.eskimi.com/api/v1/`. The access token comes from `https://dsp-api.eskimi.com/api/oauth/token`.
- Write dates as `YYYY-MM-DD`, for example `2026-10-23`.
- Lists come in pages. Use `page` and `per_page`: 15 items per page by default, 100 at most.
- Every ID a campaign setting needs (country, operator, device, exchange, site and so on) comes from the reference data endpoints. Look the ID up first, then use it in the campaign.
- When you update a campaign, send all of its settings, not only the ones you change. Settings left out of an update request can be reset. To change only budget pacing, use the pacing endpoint, which leaves every other setting as it is.

### Common Errors

<table id="bkmrk-codewhat-it-meanswha"><thead><tr><th>Code</th><th>What it means</th><th>What to do</th></tr></thead><tbody><tr><td>400</td><td>The request data is invalid, or the action is not possible for this campaign.</td><td>Read the error message in the response; it names the field or the reason.</td></tr><tr><td>401</td><td>The access token is missing or has expired.</td><td>Check the `Authorization` header. If the token is older than a year, request a new one.</td></tr><tr><td>403</td><td>Your user has no access to this advertiser.</td><td>Ask an admin of your account to give your user access to the advertiser.</td></tr><tr><td>422</td><td>A value is outside what the endpoint accepts.</td><td>Check the allowed values for that field in the API documentation.</td></tr></tbody></table>

### Matching the API to DSP Reports

API reports use the same data as the DSP. When the figures differ, one of these settings is usually the reason:

- **Time zone** (`timeZone`): `1` = Vilnius time, `2` = local time. Use the same setting as the DSP report you compare with.
- **Spend currency** (`spentBased`): `4` = client spend in USD, `5` = client spend in the advertiser's local currency.
- **Reach**: take total reach for a period from `/report/totals`. Adding up daily reach counts the same person again on every day they were reached.

### Keeping Your Credentials Safe

- Treat the client secret and the access token like a password: they can do everything the account can do.
- Keep them out of shared code, screenshots, tickets and chat messages. Store them in your system's secret settings instead.
- Create a separate API client for each integration, so one can be replaced without affecting the others.

<p class="callout info">For step-by-step campaign set-up through the API, see [How to Launch a Campaign with the API](https://manual.eskimi.com/books/api/page/how-to-launch-a-campaign-with-the-api). Quick answers to common questions are in [FAQ: Eskimi DSP API](https://manual.eskimi.com/books/api/page/faq-eskimi-dsp-api).</p>

### Summary

The API covers campaigns, optimisation, packages, creatives, audiences, brand safety, reports and invoices. Get a token once, send it with every call, and renew it before it expires. For a ready-made set of requests, see [API Postman Template](https://manual.eskimi.com/books/api/page/api-postman-template).

# How to Use the API

This page shows how to start using the Eskimi DSP API: create an API client, get an access token and make your first call. For what the API can do, see [API Overview](https://manual.eskimi.com/books/api/page/api-overview).

### Create an API Client

1. In the DSP, click the **three-dot icon** in the top right corner.
2. Click **API Clients**.
3. Click **Add Client** in the top right corner.
4. Enter a **Client name** (any name; it is not used in the token) and click **Generate** next to Client Secret.
5. Click **Save**. The client is created, and you can now get an access token for it.

![ScreenRecording2024-04-11at10.44.19-ezgif.com-video-to-gif-converter.gif](https://manual.eskimi.com/uploads/images/gallery/2024-04/SdImjqz707INGF6X-screenrecording2024-04-11at10-44-19-ezgif-com-video-to-gif-converter.gif)

### Get an Access Token

There are two ways to get a token. Both give a token that is valid for one year.

#### a. In the DSP

1. Click the **three-dot icon** next to your client, then **Edit**.
2. Click **Generate Client Token**.
3. Enter your account password and click **Confirm Identity &amp; Generate**.
4. Click **Copy** to keep the token, then click **Save**.

[![image.png](https://manual.eskimi.com/uploads/images/gallery/2024-10/scaled-1680-/cybEFQ5smLd32A7X-image.png)](https://manual.eskimi.com/uploads/images/gallery/2024-10/cybEFQ5smLd32A7X-image.png)

#### b. With an HTTP Request

Send a `POST` request to `https://dsp-api.eskimi.com/api/oauth/token` with this body (documentation: [https://dsp-api.eskimi.com/docs/api/auth/](https://dsp-api.eskimi.com/docs/api/auth/)):

```json
{
  "grant_type": "eskimi_dsp",
  "username": "your DSP login email",
  "password": "Password",
  "client_id": client_id,
  "client_secret": "client_secret"
}
```

The response contains the `access_token` and its lifetime in seconds (`expires_in`). Request a new token the same way before it expires.

### Make Your First Call

Send the token in the `Authorization` header. For example, a campaign report:

```bash
curl 'https://dsp-api.eskimi.com/api/v1/report/campaigns/get?advertiserId=1&byDate=1&byCampaign=1&dateFrom=2026-01-01&dateTo=2026-01-30' \
-H 'authorization: Bearer {ACCESS_TOKEN}'
```

<p class="callout info">The token belongs to your user and works for every advertiser your user has access to. Choose the advertiser with the `advertiserId` parameter in each request.</p>

All endpoints, parameters and examples are in the API documentation: [https://dsp-api.eskimi.com/docs/api/v1/](https://dsp-api.eskimi.com/docs/api/v1/). To try them without writing code, import the [API Postman Template](https://manual.eskimi.com/books/api/page/api-postman-template).

Watch the video for a walk-through:

<iframe allowfullscreen="allowfullscreen" height="429" src="//www.youtube.com/embed/9yn3oZAynOg" style="width: 764px; height: 429px;" width="764"></iframe>

### What the API Can and Cannot Do

- Campaigns, packages, creatives, audiences, brand safety sets and optimisation (start or stop by exchange, creative, operating system, browser, operator, site or app, placement or package) can all be managed through the API. See [API Overview](https://manual.eskimi.com/books/api/page/api-overview) for the full list.
- Video campaigns can be created through the API, but video creatives must first be uploaded in the DSP: the API uploads banner and native assets only.
- Not every reporting split in the DSP is available in the API. The available splits are listed [here](https://dsp-api.eskimi.com/docs/api/v1/#api-Report).
- Total reach for a period comes from `/report/totals` and matches DSP reporting. Do not add up the daily `reach` values from the split reports: one user is counted again on every day they were reached.
- Reports return spend in USD or in the advertiser's local currency, depending on the `spentBased` parameter.

### Summary

Create an API client in the DSP, get a token (in the DSP or with an HTTP request), and send it with every call. Renew the token before it expires after one year.

# API Postman Template

<p class="callout info">Updated 2026-10-23: the collection now also covers video campaigns, budget pacing, optimisation, packages, brand safety sets and report totals; the device-models and update-creative requests are fixed. Full parameter lists: [https://dsp-api.eskimi.com/docs/api/v1/](https://dsp-api.eskimi.com/docs/api/v1/)</p>

### **Environment Setup for Postman**

**OPTION 1 – Import via Raw Text**

- Open Postman
- Click Import
- Go to the Raw text tab
- Paste the environment JSON provided in this manual
- Click Continue → Import
- Select the imported environment from the top-right dropdown

**OPTION 2 – Import via JSON File**

- Download the file → [Auth.postman\_environment.json](https://manual.eskimi.com/attachments/36)
- Open Postman
- Click Import
- Select Upload Files
- Choose your saved .json file
- Click Import
- Select the imported environment from the top-right dropdown

**Environment JSON**

```
{
"id": "f5b14d7c-0692-45c8-bd15-f9c419ff32c9",
"name": "Auth",
"values": [
{
"key": "base_url",
"value": "https://dsp.eskimi.com/api/",
"type": "default",
"enabled": true
},
{
"key": "ACCESS_TOKEN",
"value": "",
"type": "any",
"enabled": true
}
],
"color": null,
"_postman_variable_scope": "environment",
"_postman_exported_at": "2026-04-01T07:48:46.012Z",
"_postman_exported_using": "Postman/12.4.3-260401-0231"
}
```

### Collection Setup for Postman

  
**OPTION 1 – Import via Raw Text**

- Open Postman
- Click Import
- Go to the Raw text tab
- Paste the collection JSON provided in this manual
- Click Continue → Import
- Locate the imported collection in the Collections sidebar

**OPTION 2 – Import via JSON File**

- Download the file → [Eskimi API template.postman\_collection.json](https://manual.eskimi.com/attachments/37)
- Open Postman
- Click Import
- Select Upload Files
- Choose your saved .json file
- Click Import
- Locate the imported collection in the Collections sidebar

**Collection JSON**

```json
{
  "info": {
    "_postman_id": "14cab875-c310-4928-803f-a4763064ceba",
    "name": "Eskimi API template",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_exporter_id": "45395431",
    "_collection_link": "https://go.postman.co/collection/45395431-14cab875-c310-4928-803f-a4763064ceba?source=collection_link"
  },
  "item": [
    {
      "name": "Authentication",
      "item": [
        {
          "name": "Authorization",
          "event": [
            {
              "listen": "test",
              "script": {
                "exec": [
                  "let json = pm.response.json();",
                  "pm.environment.set(\"ACCESS_TOKEN\", json.access_token);"
                ],
                "type": "text/javascript",
                "packages": {},
                "requests": {}
              }
            },
            {
              "listen": "prerequest",
              "script": {
                "exec": [
                  ""
                ],
                "type": "text/javascript",
                "packages": {},
                "requests": {}
              }
            }
          ],
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"client_id\": id,                  // Integer: Generated ClientID from Eskimi DSP\n  \"client_secret\": \"client secret\", // String: Generated ClientSecret from Eskimi DSP\n  \"grant_type\": \"eskimi_dsp\",       // String: Must be 'eskimi_dsp'\n  \"username\": \"email\",              // String: Eskimi DSP login email\n  \"password\": \"password\"            // String: Eskimi DSP password\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}oauth/token",
              "host": [
                "{{base_url}}oauth"
              ],
              "path": [
                "token"
              ]
            }
          },
          "response": []
        }
      ],
      "description": "The {{ACCESS_TOKEN}} is stored dynamically, you will not need to copy it by hand.",
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "AdPlacementPositions",
      "item": [
        {
          "name": "GetAdPlacementPositions",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/adPlacementPositions/get",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "adPlacementPositions",
                "get"
              ]
            }
          },
          "response": []
        }
      ],
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "AdPlacementTypes",
      "item": [
        {
          "name": "GetAdPlacementTypes",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/adPlacementTypes/get",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "adPlacementTypes",
                "get"
              ]
            }
          },
          "response": []
        }
      ],
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "AgeGroups",
      "item": [
        {
          "name": "GetAgeGroups",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/ageGroups/get",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "ageGroups",
                "get"
              ]
            }
          },
          "response": []
        }
      ],
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "Audience",
      "item": [
        {
          "name": "CreatesAudienceByDmpIDs",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"advertiserId\": ADVERTISER_ID,             // Integer: The user (advertiser) ID\n  \"name\": \"name\",                            // String: Name of the audience\n  \"dmpIds\": [\"id\"],                          // Array: List of DMP IDs\n  \"userValidityMinutes\": 1000,               // Integer: User expiration time (in minutes)\n  \"hashedList\": 0,                           // Integer (optional): 1 if DMP IDs are SHA256-hashed; otherwise 0\n  \"description\": \"description\"               // String (optional): Description of the audience\n}\n"
            },
            "url": {
              "raw": "{{base_url}}v1/audience/dmp/create",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "audience",
                "dmp",
                "create"
              ]
            }
          },
          "response": []
        },
        {
          "name": "CreatesBehaviouralAudience",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"advertiserId\": ADVERTISER_ID,                // Integer: The user (advertiser) ID\n  \"name\": \"NAME\",                               // String: Name of the audience\n  \"interestIds\": [ARRAY_OF_INTEREST_IDS],       // Array: List of interest IDs\n  \"description\": \"OPTIONAL_DESCRIPTION\",        // String (optional): Description of the audience\n  \"country\": \"OPTIONAL_COUNTRY_CODE\"            // String (optional): ISO 3166-2 alpha-2 two-letter country code\n}\n"
            },
            "url": {
              "raw": "{{base_url}}v1/audience/behavioural/create",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "audience",
                "behavioural",
                "create"
              ]
            }
          },
          "response": []
        },
        {
          "name": "DeleteBehavioralAudience",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/audience/behavioural/delete/{{AUDIENCE_ID}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "audience",
                "behavioural",
                "delete",
                "{{AUDIENCE_ID}}"
              ]
            }
          },
          "response": []
        },
        {
          "name": "DeleteDmpAudience",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/audience/dmp/delete/{{AUDIENCE_ID}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "audience",
                "dmp",
                "delete",
                "{{AUDIENCE_ID}}"
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetAudienceInterests",
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          },
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": ""
            },
            "url": {
              "raw": "{{base_url}}v1/audience/interests/get",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "audience",
                "interests",
                "get"
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetDmpIDsForAudience",
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          },
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": ""
            },
            "url": {
              "raw": "{{base_url}}v1/audience/dmpIds/get/{{AUDIENCE_ID}}?cursor=&advertiserId=",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "audience",
                "dmpIds",
                "get",
                "{{AUDIENCE_ID}}"
              ],
              "query": [
                {
                  "key": "cursor",
                  "value": "",
                  "description": "Pagination value return from the server at first call, have to use to from second call"
                },
                {
                  "key": "advertiserId",
                  "value": "",
                  "description": "The advertiser ID"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "UpdateBehavioralAudience",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"advertiserId\": id,                   // Integer: The advertiser ID\n  \"name\": \"name\",                       // String: Name of the audience\n  \"interestIds\": [\"id\"],                // Array: List of interest IDs\n  \"description\": \"Description\"          // String: Description of the audience\n}\n"
            },
            "url": {
              "raw": "{{base_url}}v1/audience/behavioural/update/{{AUDIENCE_ID}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "audience",
                "behavioural",
                "update",
                "{{AUDIENCE_ID}}"
              ]
            }
          },
          "response": []
        },
        {
          "name": "UpdateDmpAudience",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"advertiserId\": id,                    // Integer: The advertiser/user ID\n  \"name\": \"name\",                        // String: Name of the audience\n  \"dmpIds\": [\"dmp ids\"],                 // Array: List of DMP IDs\n  \"userValidityMinutes\": 1000,           // Integer: Validity of DMP IDs in minutes\n  \"hashedList\": 0,                       // Integer (optional): 1 if DMP IDs are SHA256 hashed; valid values 0 or 1\n  \"description\": \"description\"            // String: Description of the audience\n}\n"
            },
            "url": {
              "raw": "{{base_url}}v1/audience/dmp/update/{{AUDIENCE_ID}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "audience",
                "dmp",
                "update",
                "{{AUDIENCE_ID}}"
              ]
            }
          },
          "response": []
        }
      ],
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "Campaign",
      "item": [
        {
          "name": "CreateCampaignBannerType",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"advertiserId\": ADVERTISER_ID,                             // Integer: The user ID\n  \"name\": \"CAMPAIGN_NAME\",                                   // String: Name of the campaign\n  \"adDomain\": \"AD_DOMAIN\",                                   // String: Domain/host of the campaign e.g. \"eskimi.com\"\n  \"clickUrl\": \"CLICK_URL\",                                   // String: Click URL of the campaign\n  \"dates\": {                                                 // Object: Campaign targeting dates\n    \"from\": \"START_DATE\",                                    // String (date): Start date, must be current or later\n    \"to\": \"END_DATE\"                                         // String (date): End date, must be after start date\n  },\n  \"country\": \"COUNTRY_CODE\",                                 // String: ISO 3166-2 alpha-2 two-letter lowercase targeting country code\n  \"bid\": BID_AMOUNT,                                         // Float: Campaign bid size between 0.1 and 10\n  \"budget\": {                                                // Object: Budget details\n    \"type\": \"BUDGET_TYPE_DAILY_OR_TOTAL\",                    // String: \"daily\" or \"total\"\n    \"amount\": BUDGET_AMOUNT,                                 // Number: Budget amount\n    \"pacing\": PACING                                         // Number: Pacing value\n  },\n  \"creativeSetIds\": [CREATIVE_SET_IDS],                      // Array: List of creative set IDs\n\n  \"hours\": {                                                 // (Optional) Object: Map of targeting hours per weekday (1 = Monday, ..., 7 = Sunday)\n    \"1\": [HOURS_MON],                                        // (Optional) Array of integers (0–23)\n    \"2\": [HOURS_TUE],\n    \"3\": [HOURS_WED],\n    \"4\": [HOURS_THU],\n    \"5\": [HOURS_FRI],\n    \"6\": [HOURS_SAT],\n    \"7\": [HOURS_SUN]\n  },\n\n  \"stateIds\": [STATE_IDS],                                   // (Optional) Array: List of country state IDs\n  \"operatorIds\": [OPERATOR_IDS],                             // (Optional) Array: List of mobile operator IDs\n  \"exchangeIds\": [EXCHANGE_IDS],                             // (Optional) Array: List of exchange IDs\n\n  \"exchangeSettings\": {                                      // (Optional) Object: Extra settings for exchanges\n    \"11\": {                                                  // (Optional) Object: Settings specific to Facebook (exchange ID 11)\n      \"page_id\": \"FACEBOOK_PAGE_ID\",                         // (Optional) String: Facebook page ID\n      \"object_story_id\": \"OBJECT_STORY_ID\",                  // (Optional) String: Facebook object story ID\n      \"budget_type\": \"Daily\"                                 // (Optional) String: Budget type for Facebook (\"daily\" or \"lifetime\")\n    }\n  },\n\n  \"audienceIds\": [AUDIENCE_IDS],                             // (Optional) Array: List of audience IDs\n  \"adPlacementTypeIds\": [PLACEMENT_TYPE_IDS],                // (Optional) Array: List of ad placement type IDs\n  \"adPlacementPositionIds\": [PLACEMENT_POSITION_IDS],        // (Optional) Array: List of ad placement position IDs\n  \"privateMarketplaceIds\": [PRIVATE_MARKETPLACE_IDS],        // (Optional) Array: List of private marketplace IDs\n  \"wifi\": WIFI_0_OR_1,                                       // (Optional) Integer: Target WiFi devices? 0 or 1\n  \"autoStart\": AUTO_START_0_OR_1,                            // (Optional) Integer: Should campaign start automatically? 0 or 1\n\n  \"device\": {                                                // (Optional) Object: Device targeting parameters\n    \"typeIds\": [DEVICE_TYPE_IDS],\n    \"connectionIds\": [CONNECTION_IDS],\n    \"osIds\": [OS_IDS],\n    \"browserIds\": [BROWSER_IDS],\n    \"brandIds\": [BRAND_IDS],\n    \"brandType\": BRAND_TYPE_INCLUDE_OR_EXCLUDE,             // Integer: 1 = include, 2 = exclude\n    \"modelIds\": [MODEL_IDS],\n    \"modelType\": MODEL_TYPE_INCLUDE_OR_EXCLUDE              // Integer: 1 = include, 2 = exclude\n  },\n\n  \"capping\": {                                               // (Optional) Object: Campaign capping parameters\n    \"impressions\": CAPPING_IMPRESSIONS,\n    \"clicks\": CAPPING_CLICKS,\n    \"impressionInterval\": INTERVAL_VALUE,\n    \"impressionIntervalType\": \"INTERVAL_TYPE_H_OR_D\",        // String: \"h\" (hours) or \"d\" (days)\n    \"cappingType\": CAPPING_TYPE_0_OR_1                      // Integer: 0 = User, 1 = App/Site\n  },\n\n  \"optimisation\": {                                          // (Optional) Object: Campaign optimisation parameters\n    \"type\": \"OPTIMISATION_TYPE_CPC_CTR_OR_CPA\",              // String: \"CPC\", \"CTR\", or \"CPA\"\n    \"target\": OPTIMISATION_TARGET,\n    \"impressions\": OPTIMISATION_IMPRESSIONS,\n    \"spent\": OPTIMISATION_SPENT\n  },\n\n  \"preOptimisation\": PRE_OPTIMISATION_0_OR_2                 // (Optional) Integer: 0 or 2\n}\n",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}v1/campaign/banner/create",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "campaign",
                "banner",
                "create"
              ]
            }
          },
          "response": []
        },
        {
          "name": "CreateCampaignNativeType",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"advertiserId\": ADVERTISER_ID,                            // Integer: The user ID\n  \"name\": \"CAMPAIGN_NAME\",                                  // String: Name of the campaign\n  \"adDomain\": \"AD_DOMAIN\",                                  // String: Domain/host of the campaign (e.g. \"eskimi.com\")\n  \"clickUrl\": \"CLICK_URL\",                                  // String: Click URL of the campaign\n\n  \"dates\": {                                                // Object: Campaign targeting dates\n    \"from\": \"START_DATE\",                                   // String: Start date (YYYY-MM-DD), must be today or later\n    \"to\": \"END_DATE\"                                        // String: End date (YYYY-MM-DD), must be after start date\n  },\n\n  \"country\": \"COUNTRY_CODE\",                                // String: ISO 3166-2 alpha-2 lowercase country code\n  \"bid\": BID_AMOUNT,                                        // Float: Campaign bid size between 0.1 and 10\n\n  \"budget\": {                                               // Object: Budget configuration\n    \"type\": \"BUDGET_TYPE_DAILY_OR_TOTAL\",                   // String: \"daily\" or \"total\"\n    \"amount\": BUDGET_AMOUNT,                                // Number: Budget amount\n    \"pacing\": PACING                                        // Number: Budget pacing\n  },\n\n  \"creativeSetIds\": [CREATIVE_SET_IDS],                     // Array: List of creative set IDs\n\n  \"hours\": {                                            // (optional) Object: Hour targeting by day (1 = Monday ... 7 = Sunday)\n    \"1\": [HOURS_MON],\n    \"2\": [HOURS_TUE],\n    \"3\": [HOURS_WED],\n    \"4\": [HOURS_THU],\n    \"5\": [HOURS_FRI],\n    \"6\": [HOURS_SAT],\n    \"7\": [HOURS_SUN]\n  },\n\n  \"stateIds\": [STATE_IDS],                                  // (optional) Array: List of country state IDs\n  \"operatorIds\": [OPERATOR_IDS],                            // (optional) Array: List of mobile operator IDs\n  \"exchangeIds\": [EXCHANGE_IDS],                            // (optional) Array: List of exchange IDs\n  \"audienceIds\": [AUDIENCE_IDS],                            // (optional) Array: List of audience IDs\n  \"adPlacementTypeIds\": [PLACEMENT_TYPE_IDS],               // (optional) Array: List of ad placement type IDs\n  \"adPlacementPositionIds\": [PLACEMENT_POSITION_IDS],       // (optional) Array: List of ad placement position IDs\n  \"privateMarketplaceIds\": [PRIVATE_MARKETPLACE_IDS],       // (optional) Array: List of private marketplace IDs\n\n  \"wifi\": WIFI_0_OR_1,                                      // (optional) Integer: Target WiFi devices? 0 = No, 1 = Yes\n  \"autoStart\": AUTO_START_0_OR_1,                           // (optional) Integer: Should campaign auto-start? 0 = No, 1 = Yes\n\n  \"device\": {                                               // (optional) Object: Device targeting options\n    \"typeIds\": [DEVICE_TYPE_IDS],                           // Array: Device type IDs\n    \"connectionIds\": [CONNECTION_IDS],                      // Array: Connection type IDs\n    \"osIds\": [OS_IDS],                                      // Array: OS IDs\n    \"browserIds\": [BROWSER_IDS],                            // Array: Browser IDs\n    \"brandIds\": [BRAND_IDS],                                // Array: Brand IDs\n    \"brandType\": BRAND_TYPE_INCLUDE_OR_EXCLUDE,             // Integer: 1 = include, 2 = exclude\n    \"modelIds\": [MODEL_IDS],                                // Array: Device model IDs\n    \"modelType\": MODEL_TYPE_INCLUDE_OR_EXCLUDE              // Integer: 1 = include, 2 = exclude\n  },\n\n  \"capping\": {                                              // (optional) Object: Capping settings\n    \"impressions\": CAPPING_IMPRESSIONS,                     // Integer: Max impressions per user\n    \"clicks\": CAPPING_CLICKS,                               // Integer: Max clicks per user\n    \"impressionInterval\": INTERVAL_VALUE,                   // Integer: Interval value (in h/d)\n    \"impressionIntervalType\": \"INTERVAL_TYPE_H_OR_D\",       // String: \"h\" = hours, \"d\" = days\n    \"cappingType\": CAPPING_TYPE_0_OR_1                      // Integer: 0 = user-level, 1 = app/site-level\n  },\n\n  \"optimisation\": {                                         // (optional) Object: Optimisation settings\n    \"type\": \"OPTIMISATION_TYPE_CPC_CTR_OR_CPA\",             // String: One of \"CPC\", \"CTR\", or \"CPA\"\n    \"target\": OPTIMISATION_TARGET,                          // Float: Target value\n    \"impressions\": OPTIMISATION_IMPRESSIONS,                // Integer: Min impressions before optimizing\n    \"spent\": OPTIMISATION_SPENT                             // Float: Min spend before optimizing\n  },\n\n  \"preOptimisation\": PRE_OPTIMISATION_0_OR_2                // (optional) Integer: Pre-optimisation flag (0 or 2)\n}\n"
            },
            "url": {
              "raw": "{{base_url}}v1/campaign/native/create",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "campaign",
                "native",
                "create"
              ]
            }
          },
          "response": []
        },
        {
          "name": "DeleteCampaign",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": ""
            },
            "url": {
              "raw": "{{base_url}}v1/campaign/delete/{{CAMPAIGN_ID}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "campaign",
                "delete",
                "{{CAMPAIGN_ID}}"
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetCampaignList",
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          },
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": ""
            },
            "url": {
              "raw": "{{base_url}}v1/campaign/get?advertiserId=&page=1&per_page=15",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "campaign",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": "",
                  "description": "Advertiser ID of campaign owner."
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number to fetch"
                },
                {
                  "key": "per_page",
                  "value": "15",
                  "description": "Items per page, max value 100"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetCampaignStatus",
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          },
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": ""
            },
            "url": {
              "raw": "{{base_url}}v1/campaign/status/get/{{CAMPAIGN_ID}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "campaign",
                "status",
                "get",
                "{{CAMPAIGN_ID}}"
              ]
            }
          },
          "response": []
        },
        {
          "name": "CampaignStart",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/campaign/start/{{CAMPAIGN_ID}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "campaign",
                "start",
                "{{CAMPAIGN_ID}}"
              ]
            }
          },
          "response": []
        },
        {
          "name": "StopCampaign",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/campaign/stop/{{CAMPAIGN_ID}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "campaign",
                "stop",
                "{{CAMPAIGN_ID}}"
              ]
            }
          },
          "response": []
        },
        {
          "name": "UpdateBannerTypeCampaign",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"CAMPAIGN_NAME\",                                 // (optional) String: Name of the campaign\n  \"adDomain\": \"AD_DOMAIN\",                                 // (optional) String: Domain/host of the campaign (e.g. \"eskimi.com\")\n  \"clickUrl\": \"CLICK_URL\",                                 // (optional) String: Click URL of the campaign\n\n  \"dates\": {                                               // (optional) Object: Campaign targeting dates\n    \"from\": \"START_DATE\",                                  // (optional) String: Start date (YYYY-MM-DD)\n    \"to\": \"END_DATE\"                                       // (optional) String: End date (YYYY-MM-DD)\n  },\n\n  \"bid\": BID_AMOUNT,                                       // (optional) Float: Bid size between 0.1 and 10\n\n  \"budget\": {                                              // (optional) Object: Budget settings\n    \"type\": \"BUDGET_TYPE_DAILY_OR_TOTAL\",                 // (optional) String: \"daily\" or \"total\"\n    \"amount\": BUDGET_AMOUNT,                              // (optional) Number: Budget amount\n    \"pacing\": PACING                                      // (optional) Number: Pacing value\n  },\n\n  \"creativeIds\": [CREATIVE_IDS],                           // (optional) Array: List of creative IDs\n\n  \"hours\": HOURS,                                          // (optional) Object: Weekday targeting hours (1=Mon to 7=Sun), values [0-23]\n\n  \"stateIds\": [STATE_IDS],                                 // (optional) Array: Country state IDs\n  \"operatorIds\": [OPERATOR_IDS],                           // (optional) Array: Mobile operator IDs\n  \"exchangeIds\": [EXCHANGE_IDS],                           // (optional) Array: Exchange IDs\n\n  \"exchangeSettings\": {                                    // (optional) Object: Additional settings per exchange\n    \"EXCHANGE_ID\": {\n      \"page_id\": \"FACEBOOK_PAGE_ID\",                       // (optional) String: Facebook page ID\n      \"object_story_id\": \"OBJECT_STORY_ID\",                // (optional) String: Facebook object story ID\n      \"budget_type\": \"daily\"                               // (optional) String: Facebook budget type (\"daily\", \"lifetime\")\n    }\n  },\n\n  \"audienceIds\": [AUDIENCE_IDS],                           // (optional) Array: Audience IDs\n  \"adPlacementTypeIds\": [PLACEMENT_TYPE_IDS],              // (optional) Array: Ad placement type IDs\n  \"privateMarketplaceIds\": [PRIVATE_MARKETPLACE_IDS],      // (optional) Array: Private marketplace IDs\n\n  \"wifi\": WIFI_0_OR_1,                                     // (optional) Integer: Target WiFi only? 0 = No, 1 = Yes\n  \"autoStart\": AUTO_START_0_OR_1,                          // (optional) Integer: Start campaign automatically? 0 = No, 1 = Yes\n  \"device\": DEVICE,                                        // (optional) Object: Device targeting (typeIds, osIds, etc.)\n  \"capping\": CAPPING,                             // (optional) Object: Capping settings (e.g. impressions, clicks, intervals)\n  \"optimisation\": OPTIMISATION,                  // (optional) Object: Optimisation settings (type, target, impressions, spent)\n  \"preOptimisation\": PRE_OPTIMISATION                      // (optional) Integer: Pre-optimisation setting (0 or 2)\n}\n"
            },
            "url": {
              "raw": "{{base_url}}v1/campaign/banner/update/{{CAMPAIGN_ID}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "campaign",
                "banner",
                "update",
                "{{CAMPAIGN_ID}}"
              ]
            }
          },
          "response": []
        },
        {
          "name": "UpdateNativeTypeCampaign",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": campaign_name,                                   // (optional) String: Name of the campaign\n  \"adDomain\": ad_domain,                                   // (optional) String: Domain/host of the campaign (e.g. eskimi.com)\n  \"clickUrl\": click_url,                                   // (optional) String: Click URL of the campaign\n\n  \"dates\": {                                               // Object: Campaign targeting dates\n    \"from\": start_date,                                    // String: Start date (YYYY-MM-DD), must be current or later\n    \"to\": end_date                                         // String: End date (YYYY-MM-DD), must be after start date\n  },\n\n  \"bid\": bid_amount,                                       // Float: Bid size between 0.1 and 10\n\n  \"budget\": {                                              // Object: Budget details\n    \"type\": budget_type,                                   // String: daily or total\n    \"amount\": budget_amount,                               // Number: Budget amount\n    \"pacing\": pacing                                       // Number: Pacing value\n  },\n\n  \"creativeIds\": [creative_id_1, creative_id_2],           // (optional) Array: List of creative IDs\n\n  \"hours\": {                                               // (optional) Object: Map of targeting hours by weekday\n    \"1\": [1, 2, 3, 4],                                     \n    \"2\": [5, 6, 7],\n    \"3\": [8, 9, 10, 11],\n    \"4\": [12, 13, 14, 15, 16],\n    \"5\": [17, 18, 19, 20],\n    \"6\": [21, 22],\n    \"7\": [23]\n  },\n\n  \"stateIds\": [state_id_1, state_id_2],                    // (optional) Array: List of country state IDs\n  \"operatorIds\": [operator_id_1],                          // (optional) Array: List of mobile operator IDs\n  \"exchangeIds\": [exchange_id_1],                          // (optional) Array: List of exchange IDs\n\n  \"audienceIds\": [audience_id_1],                          // (optional) Array: List of audience IDs\n  \"adPlacementTypeIds\": [placement_type_id_1],             // (optional) Array: List of ad placement type IDs\n  \"privateMarketplaceIds\": [pmp_id_1],                     // (optional) Array: List of private marketplace IDs\n\n  \"wifi\": wifi_flag,                                       // (optional) Integer: 0 or 1 – target WiFi devices\n  \"autoStart\": auto_start_flag,                            // (optional) Integer: 0 or 1 – auto-start campaign\n\n  \"device\": {                                              // (optional) Object: Device targeting options\n    \"typeIds\": [device_type_id_1],\n    \"connectionIds\": [connection_id_1],\n    \"osIds\": [os_id_1],\n    \"browserIds\": [browser_id_1]\n  },\n\n  \"capping\": {                                             // (optional) Object: Campaign capping\n    \"impressions\": impression_cap,\n    \"clicks\": click_cap,\n    \"impressionInterval\": impression_interval,\n    \"impressionIntervalType\": interval_type,               // \"h\" or \"d\"\n    \"cappingType\": capping_type                            // 0 = User, 1 = App/Site\n  },\n\n  \"optimisation\": optimisation_data,                       // (optional) Object: Optimisation settings\n  \"preOptimisation\": pre_optimisation                      // Integer: 0 or 2\n}\n"
            },
            "url": {
              "raw": "{{base_url}}v1/campaign/native/update/{{CAMPAIGN_ID}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "campaign",
                "native",
                "update",
                "{{CAMPAIGN_ID}}"
              ]
            }
          },
          "response": []
        },
        {
          "name": "CreateCampaignVideoType",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"advertiserId\": ADVERTISER_ID,                             // Integer: The user ID\n  \"name\": \"CAMPAIGN_NAME\",                                   // String: Name of the campaign\n  \"adDomain\": \"AD_DOMAIN\",                                   // String: Domain/host of the campaign e.g. \"eskimi.com\"\n  \"clickUrl\": \"CLICK_URL\",                                   // String: Click URL of the campaign\n  \"dates\": {                                                 // Object: Campaign targeting dates\n    \"from\": \"START_DATE\",                                    // String (date): Start date, must be current or later\n    \"to\": \"END_DATE\"                                         // String (date): End date, must be after start date\n  },\n  \"country\": \"COUNTRY_CODE\",                                 // String: ISO 3166-2 alpha-2 two-letter lowercase targeting country code\n  \"bid\": BID_AMOUNT,                                         // Float: Campaign bid size between 0.1 and 10\n  \"budget\": {                                                // Object: Budget details\n    \"type\": \"BUDGET_TYPE_DAILY_OR_TOTAL\",                    // String: \"daily\" or \"total\"\n    \"amount\": BUDGET_AMOUNT,                                 // Number: Budget amount\n    \"pacing\": PACING                                         // Number: Pacing value\n  },\n  \"creativeSetIds\": [CREATIVE_SET_IDS],                      // Array: List of creative set IDs\n\n  \"hours\": {                                                 // (Optional) Object: Map of targeting hours per weekday (1 = Monday, ..., 7 = Sunday)\n    \"1\": [HOURS_MON],                                        // (Optional) Array of integers (0–23)\n    \"2\": [HOURS_TUE],\n    \"3\": [HOURS_WED],\n    \"4\": [HOURS_THU],\n    \"5\": [HOURS_FRI],\n    \"6\": [HOURS_SAT],\n    \"7\": [HOURS_SUN]\n  },\n\n  \"stateIds\": [STATE_IDS],                                   // (Optional) Array: List of country state IDs\n  \"operatorIds\": [OPERATOR_IDS],                             // (Optional) Array: List of mobile operator IDs\n  \"exchangeIds\": [EXCHANGE_IDS],                             // (Optional) Array: List of exchange IDs\n\n  \"exchangeSettings\": {                                      // (Optional) Object: Extra settings for exchanges\n    \"11\": {                                                  // (Optional) Object: Settings specific to Facebook (exchange ID 11)\n      \"page_id\": \"FACEBOOK_PAGE_ID\",                         // (Optional) String: Facebook page ID\n      \"object_story_id\": \"OBJECT_STORY_ID\",                  // (Optional) String: Facebook object story ID\n      \"budget_type\": \"Daily\"                                 // (Optional) String: Budget type for Facebook (\"daily\" or \"lifetime\")\n    }\n  },\n\n  \"audienceIds\": [AUDIENCE_IDS],                             // (Optional) Array: List of audience IDs\n  \"adPlacementTypeIds\": [PLACEMENT_TYPE_IDS],                // (Optional) Array: List of ad placement type IDs\n  \"adPlacementPositionIds\": [PLACEMENT_POSITION_IDS],        // (Optional) Array: List of ad placement position IDs\n  \"privateMarketplaceIds\": [PRIVATE_MARKETPLACE_IDS],        // (Optional) Array: List of private marketplace IDs\n  \"wifi\": WIFI_0_OR_1,                                       // (Optional) Integer: Target WiFi devices? 0 or 1\n  \"autoStart\": AUTO_START_0_OR_1,                            // (Optional) Integer: Should campaign start automatically? 0 or 1\n\n  \"device\": {                                                // (Optional) Object: Device targeting parameters\n    \"typeIds\": [DEVICE_TYPE_IDS],\n    \"connectionIds\": [CONNECTION_IDS],\n    \"osIds\": [OS_IDS],\n    \"browserIds\": [BROWSER_IDS],\n    \"brandIds\": [BRAND_IDS],\n    \"brandType\": BRAND_TYPE_INCLUDE_OR_EXCLUDE,             // Integer: 1 = include, 2 = exclude\n    \"modelIds\": [MODEL_IDS],\n    \"modelType\": MODEL_TYPE_INCLUDE_OR_EXCLUDE              // Integer: 1 = include, 2 = exclude\n  },\n\n  \"capping\": {                                               // (Optional) Object: Campaign capping parameters\n    \"impressions\": CAPPING_IMPRESSIONS,\n    \"clicks\": CAPPING_CLICKS,\n    \"impressionInterval\": INTERVAL_VALUE,\n    \"impressionIntervalType\": \"INTERVAL_TYPE_H_OR_D\",        // String: \"h\" (hours) or \"d\" (days)\n    \"cappingType\": CAPPING_TYPE_0_OR_1                      // Integer: 0 = User, 1 = App/Site\n  },\n\n  \"optimisation\": {                                          // (Optional) Object: Campaign optimisation parameters\n    \"type\": \"OPTIMISATION_TYPE_CPC_CTR_OR_CPA\",              // String: \"CPC\", \"CTR\", or \"CPA\"\n    \"target\": OPTIMISATION_TARGET,\n    \"impressions\": OPTIMISATION_IMPRESSIONS,\n    \"spent\": OPTIMISATION_SPENT\n  },\n\n  \"preOptimisation\": PRE_OPTIMISATION_0_OR_2                 // (Optional) Integer: 0 or 2\n}\n",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}v1/campaign/video/create",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "campaign",
                "video",
                "create"
              ]
            },
            "description": "Same body as the banner request, with video creative sets. Video-specific fields: see the API documentation, Campaign group."
          },
          "response": []
        },
        {
          "name": "UpdateVideoTypeCampaign",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"CAMPAIGN_NAME\",                                 // (optional) String: Name of the campaign\n  \"adDomain\": \"AD_DOMAIN\",                                 // (optional) String: Domain/host of the campaign (e.g. \"eskimi.com\")\n  \"clickUrl\": \"CLICK_URL\",                                 // (optional) String: Click URL of the campaign\n\n  \"dates\": {                                               // (optional) Object: Campaign targeting dates\n    \"from\": \"START_DATE\",                                  // (optional) String: Start date (YYYY-MM-DD)\n    \"to\": \"END_DATE\"                                       // (optional) String: End date (YYYY-MM-DD)\n  },\n\n  \"bid\": BID_AMOUNT,                                       // (optional) Float: Bid size between 0.1 and 10\n\n  \"budget\": {                                              // (optional) Object: Budget settings\n    \"type\": \"BUDGET_TYPE_DAILY_OR_TOTAL\",                 // (optional) String: \"daily\" or \"total\"\n    \"amount\": BUDGET_AMOUNT,                              // (optional) Number: Budget amount\n    \"pacing\": PACING                                      // (optional) Number: Pacing value\n  },\n\n  \"creativeIds\": [CREATIVE_IDS],                           // (optional) Array: List of creative IDs\n\n  \"hours\": HOURS,                                          // (optional) Object: Weekday targeting hours (1=Mon to 7=Sun), values [0-23]\n\n  \"stateIds\": [STATE_IDS],                                 // (optional) Array: Country state IDs\n  \"operatorIds\": [OPERATOR_IDS],                           // (optional) Array: Mobile operator IDs\n  \"exchangeIds\": [EXCHANGE_IDS],                           // (optional) Array: Exchange IDs\n\n  \"exchangeSettings\": {                                    // (optional) Object: Additional settings per exchange\n    \"EXCHANGE_ID\": {\n      \"page_id\": \"FACEBOOK_PAGE_ID\",                       // (optional) String: Facebook page ID\n      \"object_story_id\": \"OBJECT_STORY_ID\",                // (optional) String: Facebook object story ID\n      \"budget_type\": \"daily\"                               // (optional) String: Facebook budget type (\"daily\", \"lifetime\")\n    }\n  },\n\n  \"audienceIds\": [AUDIENCE_IDS],                           // (optional) Array: Audience IDs\n  \"adPlacementTypeIds\": [PLACEMENT_TYPE_IDS],              // (optional) Array: Ad placement type IDs\n  \"privateMarketplaceIds\": [PRIVATE_MARKETPLACE_IDS],      // (optional) Array: Private marketplace IDs\n\n  \"wifi\": WIFI_0_OR_1,                                     // (optional) Integer: Target WiFi only? 0 = No, 1 = Yes\n  \"autoStart\": AUTO_START_0_OR_1,                          // (optional) Integer: Start campaign automatically? 0 = No, 1 = Yes\n  \"device\": DEVICE,                                        // (optional) Object: Device targeting (typeIds, osIds, etc.)\n  \"capping\": CAPPING,                             // (optional) Object: Capping settings (e.g. impressions, clicks, intervals)\n  \"optimisation\": OPTIMISATION,                  // (optional) Object: Optimisation settings (type, target, impressions, spent)\n  \"preOptimisation\": PRE_OPTIMISATION                      // (optional) Integer: Pre-optimisation setting (0 or 2)\n}\n"
            },
            "url": {
              "raw": "{{base_url}}v1/campaign/video/update/{{CAMPAIGN_ID}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "campaign",
                "video",
                "update",
                "{{CAMPAIGN_ID}}"
              ]
            },
            "description": "Same body as the banner request, with video creative sets. Video-specific fields: see the API documentation, Campaign group."
          },
          "response": []
        },
        {
          "name": "SetCampaignPacing",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/campaign/{{CAMPAIGN_ID}}/pacing",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "campaign",
                "{{CAMPAIGN_ID}}",
                "pacing"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"pacing\": 1   // Integer: 0 = None, 1 = Even. Changes pacing only; not for campaigns with a daily budget\n}\n"
            }
          },
          "response": []
        }
      ],
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "Country",
      "item": [
        {
          "name": "GetCountryList",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/country/get",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "country",
                "get"
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetStateList",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/country/states/get/{{COUNTRY_CODE}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "country",
                "states",
                "get",
                "{{COUNTRY_CODE}}"
              ]
            }
          },
          "response": []
        }
      ],
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "Creative",
      "item": [
        {
          "name": "CreateCreativeSet",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"advertiserId\": advertiser_id,               // Integer: The user ID\n  \"title\": creative_set_title,                 // String: The title of the creative set\n  \"creative_type_id\": 1                        // Integer: 1 = Banner, 2 = Native (default: 1)\n}\n",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}v1/creative/sets/create",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "creative",
                "sets",
                "create"
              ]
            }
          },
          "response": []
        },
        {
          "name": "CreateCreative",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"advertiserId\": advertiser_id,        // Integer: The user ID\n  \"creativeSetId\": creative_set_id,     // Integer: The Creative Set ID\n  \"title\": creative_title                // String: The title of creative\n}"
            },
            "url": {
              "raw": "{{base_url}}v1/creative/create",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "creative",
                "create"
              ]
            }
          },
          "response": []
        },
        {
          "name": "DeleteCreativeSet",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}v1/creative/sets/delete/{{creativeSetId}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "creative",
                "sets",
                "delete",
                "{{creativeSetId}}"
              ]
            }
          },
          "response": []
        },
        {
          "name": "DeleteCreative",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/creative/delete/{{creativeId}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "creative",
                "delete",
                "{{creativeId}}"
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetCreativesSetlList",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/creative/sets/get?advertiserId=&page=1&per_page=15",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "creative",
                "sets",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": "",
                  "description": "The ID of creative set owner"
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number to fetch"
                },
                {
                  "key": "per_page",
                  "value": "15",
                  "description": "Item per page, max value 100"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetCreativeslList",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/creative/get?advertiserId=&creativeSetId=&page=1&per_page=15",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "creative",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": "",
                  "description": "The ID of creative owner"
                },
                {
                  "key": "creativeSetId",
                  "value": "",
                  "description": "The ID of creative set"
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number to fetch"
                },
                {
                  "key": "per_page",
                  "value": "15",
                  "description": "Items per page, max value 100"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "UpdateCreativeSet",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n    \"title\": \"creative_set_title\"      // The title of creative set\n}\n",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}v1/creative/sets/update/{{creativeSetId}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "creative",
                "sets",
                "update",
                "{{creativeSetId}}"
              ]
            }
          },
          "response": []
        },
        {
          "name": "UpdateCreative",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"advertiserId\": advertiser_id,   // Integer: The advertiser ID\n  \"title\": \"creative_title\"        // String: The name of the creative\n}\n"
            },
            "url": {
              "raw": "{{base_url}}v1/creative/update/{{creativeId}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "creative",
                "update",
                "{{creativeId}}"
              ]
            }
          },
          "response": []
        },
        {
          "name": "UploadCreativeAssetBannerType",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"creativeId\": creative_id,              // Integer: The ID of creative\n  \"creativeFile\": base64_encoded_zip     // String: Base64 encoded zip file. The archived file or multiple files must be in one of the following formats: .png, .jpg, .gif\n}"
            },
            "url": {
              "raw": "{{base_url}}v1/creative/banner/upload",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "creative",
                "banner",
                "upload"
              ]
            }
          },
          "response": []
        },
        {
          "name": "UploadCreativeAssetNativeType",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"creativeId\": creative_id,                     // Integer: The ID of creative\n  \"iconFile\": base64_encoded_zip_icon,           // String: Base64 encoded zip file (.png, .jpg, .gif)\n  \"imageMainFile\": base64_encoded_zip_image_main,// String: Base64 encoded zip file (.png, .jpg, .gif)\n  \"image600x600File\": base64_encoded_zip_image_600x600, // String: Base64 encoded zip file (.png, .jpg, .gif)\n  \"content\": {\n    \"title\": content_title,                       // String: Content title\n    \"desc\": content_desc_optional,                // String: Description, e.g. Your home sweet Brooklyn home - cheaper and sooner than you think!\n    \"desc2\": content_desc2_optional,              // String: Additional description, e.g. Best place, best price only at Brooklyn home!\n    \"cta\": content_cta_optional,                   // String: Call to action text, e.g. Install\n    \"sponsored\": content_sponsored_optional,       // String: Advertiser, e.g. NY Morgage Inc.\n    \"likes\": content_likes_optional,                // String: Likes, e.g. 100,000\n    \"downloads\": content_downloads_optional,        // String: Downloads, e.g. 100,000,000\n    \"price\": content_price_optional,                 // String: Price, e.g. $1.99\n    \"sale_price\": content_sale_price_optional,       // String: Sale price, e.g. Free\n    \"phone\": content_phone_optional,                 // String: Phone, e.g. +234 1 200 0000\n    \"address\": content_address_optional,             // String: Address, e.g. 459 Broadway FL 5, New York, NY 10013\n    \"rating\": content_rating_optional,               // String: Rating, e.g. 4.5\n    \"display_url\": content_display_url_optional      // String: Display URL, e.g. https://www.display-url-link.com\n  }\n}"
            },
            "url": {
              "raw": "{{base_url}}v1/creative/native/upload",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "creative",
                "native",
                "upload"
              ]
            }
          },
          "response": []
        }
      ],
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "Device",
      "item": [
        {
          "name": "GetDeviceBrands",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/device/brands/get?page=1&limit=15",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "device",
                "brands",
                "get"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1",
                  "description": "(optional) Current Page number default: 1"
                },
                {
                  "key": "limit",
                  "value": "15",
                  "description": "(optional) Per Page data limit default: 15"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetDeviceConnections",
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          },
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": ""
            },
            "url": {
              "raw": "{{base_url}}v1/device/connections/get",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "device",
                "connections",
                "get"
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetDeviceModelsByBrandID",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/device/models/get/{{brandId}}?page=1&limit=15",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "device",
                "models",
                "get",
                "{{brandId}}"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1",
                  "description": "(optional) Current Page number default: 1"
                },
                {
                  "key": "limit",
                  "value": "15",
                  "description": "(optional) Per Page data limit default: 15"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetDeviceOSes",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/device/oses/get",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "device",
                "oses",
                "get"
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetDeviceTypes",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/device/types/get",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "device",
                "types",
                "get"
              ]
            }
          },
          "response": []
        }
      ],
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "Exchanges",
      "item": [
        {
          "name": "GetExchanges",
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          },
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": ""
            },
            "url": {
              "raw": "{{base_url}}v1/exchanges/get",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "exchanges",
                "get"
              ]
            }
          },
          "response": []
        }
      ],
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "Genders",
      "item": [
        {
          "name": "GetGenders",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/genders/get",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "genders",
                "get"
              ]
            }
          },
          "response": []
        }
      ],
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "Invoice",
      "item": [
        {
          "name": "GetInvoiceDetailsByInvoiceNumber",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/invoice/{{serial_number}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "invoice",
                "{{serial_number}}"
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetInvoicePDFByInvoicenumber",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/invoice/{{serial_number}}/pdf",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "invoice",
                "{{serial_number}}",
                "pdf"
              ]
            }
          },
          "response": []
        }
      ],
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "Operator",
      "item": [
        {
          "name": "GetOperators",
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          },
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}v1/operators/get/{{country}}?country",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "operators",
                "get",
                "{{country}}"
              ],
              "query": [
                {
                  "key": "country",
                  "value": null,
                  "description": "ISO 3166-2 alpha-2 two-letter lowercase country code."
                }
              ]
            }
          },
          "response": []
        }
      ],
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "PrivateMarketplace",
      "item": [
        {
          "name": "GetPrivateMarketplaces",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/privateMarketplace/get?advertiserId=",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "privateMarketplace",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": "",
                  "description": "The advertiser ID"
                }
              ]
            }
          },
          "response": []
        }
      ],
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "Report",
      "item": [
        {
          "name": "GetAdReportByAdPlacementPosition",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/report/adPlacementPositions/get?advertiserId=&byDate=0&byCampaign=0&placementPositionId&dateFrom&dateTo&campaignIds[]",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "adPlacementPositions",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": "",
                  "description": "The advertiser ID."
                },
                {
                  "key": "byDate",
                  "value": "0",
                  "description": "Group by date. should the result grouped by date. Values can be 0 or 1."
                },
                {
                  "key": "byCampaign",
                  "value": "0",
                  "description": "Group by campaign. should the result grouped by campaign id. Values can be 0 or 1."
                },
                {
                  "key": "placementPositionId",
                  "value": null,
                  "description": "The ad placement position id, if provided, result will filtered by that id."
                },
                {
                  "key": "dateFrom",
                  "value": null,
                  "description": "The start date. format: (YYYY-MM-DD). Default value: -7 days from current date"
                },
                {
                  "key": "dateTo",
                  "value": null,
                  "description": "The end date. format: (YYYY-MM-DD). Default value: CURRENT_DATE"
                },
                {
                  "key": "campaignIds[]",
                  "value": null,
                  "description": "The campaign IDs."
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetAdReportByAdPlacementType",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/report/adPlacementTypes/get?advertiserId=&byDate=0&byCampaign=0&placementTypeId&dateFrom&dateTo&campaignIds[]",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "adPlacementTypes",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": "",
                  "description": "The advertiser ID."
                },
                {
                  "key": "byDate",
                  "value": "0",
                  "description": "Group by date. should the result grouped by date. Values can be 0 or 1."
                },
                {
                  "key": "byCampaign",
                  "value": "0",
                  "description": "Group by campaign. should the result grouped by campaign id. Values can be 0 or 1."
                },
                {
                  "key": "placementTypeId",
                  "value": null,
                  "description": "The placement type id, if provided, result will filtered by that id."
                },
                {
                  "key": "dateFrom",
                  "value": null,
                  "description": "The start date. format: (YYYY-MM-DD).\n\nDefault value: -7 days from current date"
                },
                {
                  "key": "dateTo",
                  "value": null,
                  "description": "The end date. format: (YYYY-MM-DD).\nDefault value: CURRENT_DATE"
                },
                {
                  "key": "campaignIds[]",
                  "value": null,
                  "description": "The campaign IDs."
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetCampaignReportByAgeGroups",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/report/ageGroups/get?advertiserId=&campaignIds[]=&byDate=0&byCampaign=0&dateFrom=&dateTo=&ageGroupId=",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "ageGroups",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": "",
                  "description": "The advertiser ID."
                },
                {
                  "key": "campaignIds[]",
                  "value": "",
                  "description": "The campaign IDs."
                },
                {
                  "key": "byDate",
                  "value": "0",
                  "description": "Group by date. should the result grouped by date. Values can be 0 or 1."
                },
                {
                  "key": "byCampaign",
                  "value": "0",
                  "description": "Group by campaign. should the result grouped by campaign id. Values can be 0 or 1."
                },
                {
                  "key": "dateFrom",
                  "value": "",
                  "description": "The start date. format: (YYYY-MM-DD).\n\nDefault value: -7 days from current date"
                },
                {
                  "key": "dateTo",
                  "value": "",
                  "description": "The end date. format: (YYYY-MM-DD).\n\nDefault value: CURRENT_DATE"
                },
                {
                  "key": "ageGroupId",
                  "value": "",
                  "description": "The age group id, if provided, result will filtered by that id."
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetCampaignReportByBrowser",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/report/browsers/get?advertiserId&byDate=0&byCampaign=0&browserId&dateFrom&dateTo&campaignIds[]",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "browsers",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": null,
                  "description": "The advertiser ID."
                },
                {
                  "key": "byDate",
                  "value": "0",
                  "description": "Group by date. should the result grouped by date. Values can be 0 or 1."
                },
                {
                  "key": "byCampaign",
                  "value": "0",
                  "description": "Group by campaign. should the result grouped by campaign id. Values can be 0 or 1."
                },
                {
                  "key": "browserId",
                  "value": null,
                  "description": "The browser id, if provided, result will filtered by that id."
                },
                {
                  "key": "dateFrom",
                  "value": null,
                  "description": "The start date. format: (YYYY-MM-DD).\n\nDefault value: -7 days from current date"
                },
                {
                  "key": "dateTo",
                  "value": null,
                  "description": "The end date. format: (YYYY-MM-DD).\n\nDefault value: CURRENT_DATE"
                },
                {
                  "key": "campaignIds[]",
                  "value": null,
                  "description": "The campaign IDs."
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetCampaignReportByCreative",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/report/creatives/get?advertiserId&byDate=0&byCampaign=0&creativeId&dateFrom&dateTo&campaignIds[]",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "creatives",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": null,
                  "description": "The advertiser ID."
                },
                {
                  "key": "byDate",
                  "value": "0",
                  "description": "Group by date. should the result grouped by date. Values can be 0 or 1."
                },
                {
                  "key": "byCampaign",
                  "value": "0",
                  "description": "Group by campaign. should the result grouped by campaign id. Values can be 0 or 1."
                },
                {
                  "key": "creativeId",
                  "value": null,
                  "description": "The creative id, if provided, result will filtered by that id."
                },
                {
                  "key": "dateFrom",
                  "value": null,
                  "description": "The start date. format: (YYYY-MM-DD).\n\nDefault value: -7 days from current date"
                },
                {
                  "key": "dateTo",
                  "value": null,
                  "description": "The end date. format: (YYYY-MM-DD).\n\nDefault value: CURRENT_DATE"
                },
                {
                  "key": "campaignIds[]",
                  "value": null,
                  "description": "The campaign IDs."
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetCampaignReportByExchange",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/report/exchanges/get?advertiserId&byDate=0&byCampaign=0&exchangeId=&dateFrom=&dateTo=&campaignIds[]=",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "exchanges",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": null,
                  "description": "The advertiser ID."
                },
                {
                  "key": "byDate",
                  "value": "0",
                  "description": "Group by date. should the result grouped by date. Values can be 0 or 1."
                },
                {
                  "key": "byCampaign",
                  "value": "0",
                  "description": "Group by campaign. should the result grouped by campaign id. Values can be 0 or 1."
                },
                {
                  "key": "exchangeId",
                  "value": "",
                  "description": "The exchange id, if provided, result will filtered by that id."
                },
                {
                  "key": "dateFrom",
                  "value": "",
                  "description": "The start date. format: (YYYY-MM-DD).\n\nDefault value: -7 days from current date"
                },
                {
                  "key": "dateTo",
                  "value": "",
                  "description": "The end date. format: (YYYY-MM-DD).\n\nDefault value: CURRENT_DATE"
                },
                {
                  "key": "campaignIds[]",
                  "value": "",
                  "description": "The campaign IDs."
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetCampaignReportByGender",
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          },
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}v1/report/genders/get?advertiserId&byDate=0&byCampaign=0&genderId&dateFrom&dateTo&campaignIds[]",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "genders",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": null,
                  "description": "The advertiser ID."
                },
                {
                  "key": "byDate",
                  "value": "0",
                  "description": "Group by date. should the result grouped by date. Values can be 0 or 1."
                },
                {
                  "key": "byCampaign",
                  "value": "0",
                  "description": "Group by campaign. should the result grouped by campaign id. Values can be 0 or 1."
                },
                {
                  "key": "genderId",
                  "value": null,
                  "description": "The gender id, if provided, result will filtered by that id."
                },
                {
                  "key": "dateFrom",
                  "value": null,
                  "description": "The start date. format: (YYYY-MM-DD).\n\nDefault value: -7 days from current date"
                },
                {
                  "key": "dateTo",
                  "value": null,
                  "description": "The end date. format: (YYYY-MM-DD).\n\nDefault value: CURRENT_DATE"
                },
                {
                  "key": "campaignIds[]",
                  "value": null,
                  "description": "The campaign IDs."
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetCampaignReportByOperatingSystem",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/report/oses/get?advertiserId&byDate=0&byCampaign=0&osId&dateFrom&dateTo&campaignIds[]",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "oses",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": null,
                  "description": "The advertiser ID."
                },
                {
                  "key": "byDate",
                  "value": "0",
                  "description": "Group by date. Should the result grouped by date. Values can be 0 or 1."
                },
                {
                  "key": "byCampaign",
                  "value": "0",
                  "description": "Group by campaign. Should the result grouped by campaign id. Values can be 0 or 1."
                },
                {
                  "key": "osId",
                  "value": null,
                  "description": "The operating system id, if provided, result will filtered by that id."
                },
                {
                  "key": "dateFrom",
                  "value": null,
                  "description": "The start date. format: (YYYY-MM-DD).\n\nDefault value: -7 days from current date"
                },
                {
                  "key": "dateTo",
                  "value": null,
                  "description": "The end date. format: (YYYY-MM-DD).\n\nDefault value: CURRENT_DATE"
                },
                {
                  "key": "campaignIds[]",
                  "value": null,
                  "description": "The campaign ID."
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetCampaignReportByOperator",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/report/operators/get?advertiserId&byDate=0&byCampaign=0&operatorId=&dateFrom=&dateTo=&campaignIds[]=",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "operators",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": null,
                  "description": "The advertiser ID."
                },
                {
                  "key": "byDate",
                  "value": "0",
                  "description": "Group by date. Should the result grouped by date. Values can be 0 or 1."
                },
                {
                  "key": "byCampaign",
                  "value": "0",
                  "description": "Group by campaign. Should the result grouped by campaign id. Values can be 0 or 1."
                },
                {
                  "key": "operatorId",
                  "value": "",
                  "description": "The operator id, if provided, result will filtered by that id."
                },
                {
                  "key": "dateFrom",
                  "value": "",
                  "description": "The start date. format: (YYYY-MM-DD).\n\nDefault value: -7 days from current date"
                },
                {
                  "key": "dateTo",
                  "value": "",
                  "description": "Group by date. should the result grouped by date. Values can be 0 or 1.\n\nDefault value: 0"
                },
                {
                  "key": "campaignIds[]",
                  "value": "",
                  "description": "The campaign IDs."
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetCampaignReportBySitePlatforms",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/report/sitePlatforms/get?advertiserId&byDate=0&byCampaign=0&sitePlatformId&dateFrom&dateTo&campaignIds[]",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "sitePlatforms",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": null,
                  "description": "The advertiser ID"
                },
                {
                  "key": "byDate",
                  "value": "0",
                  "description": "Group by date. should the result grouped by date. Values can be 0 or 1."
                },
                {
                  "key": "byCampaign",
                  "value": "0",
                  "description": "Group by campaign. should the result grouped by campaign id. Values can be 0 or 1."
                },
                {
                  "key": "sitePlatformId",
                  "value": null,
                  "description": "The site platform id, if provided, result will filtered by that id."
                },
                {
                  "key": "dateFrom",
                  "value": null,
                  "description": "The start date. format: (YYYY-MM-DD).\n\nDefault value: -7 days from current date"
                },
                {
                  "key": "dateTo",
                  "value": null,
                  "description": "The end date. format: (YYYY-MM-DD).\n\nDefault value: CURRENT_DATE"
                },
                {
                  "key": "campaignIds[]",
                  "value": null,
                  "description": "The campaign IDs.\n\n"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetCampaignReportBySiteTypes",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/report/siteTypes/get?advertiserId&byDate=0&byCampaign=0&siteTypeId&dateFrom&dateTo&campaignIds[]",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "siteTypes",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": null,
                  "description": "The advertiser ID"
                },
                {
                  "key": "byDate",
                  "value": "0",
                  "description": "Group by date. should the result grouped by date. Values can be 0 or 1."
                },
                {
                  "key": "byCampaign",
                  "value": "0",
                  "description": "Group by campaign. should the result grouped by campaign id. Values can be 0 or 1."
                },
                {
                  "key": "siteTypeId",
                  "value": null,
                  "description": "The site type id, if provided, result will filtered by that id."
                },
                {
                  "key": "dateFrom",
                  "value": null,
                  "description": "The start date. format: (YYYY-MM-DD).\n\nDefault value: -7 days from current date"
                },
                {
                  "key": "dateTo",
                  "value": null,
                  "description": "The end date. format: (YYYY-MM-DD).\n\nDefault value: CURRENT_DATE"
                },
                {
                  "key": "campaignIds[]",
                  "value": null,
                  "description": "The campaign ids"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetCampaignReportBySites",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/report/sites/get?advertiserId&campaignIds[]=&byDate=0&siteId=&dateFrom=&byCampaign=0&dateTo=",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "sites",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": null,
                  "description": "The advertiser ID"
                },
                {
                  "key": "campaignIds[]",
                  "value": "",
                  "description": "The campaign IDs."
                },
                {
                  "key": "byDate",
                  "value": "0",
                  "description": "Group by date. should the result grouped by date. Values can be 0 or 1.\nDefault value: 0"
                },
                {
                  "key": "siteId",
                  "value": "",
                  "description": "The site id, if provided, result will filtered by that id."
                },
                {
                  "key": "dateFrom",
                  "value": "",
                  "description": "The start date. format: (YYYY-MM-DD).\nDefault value: -7 days from current date"
                },
                {
                  "key": "byCampaign",
                  "value": "0",
                  "description": "Group by campaign. should the result grouped by campaign id. Values can be 0 or 1.\n\nDefault value: 0"
                },
                {
                  "key": "dateTo",
                  "value": "",
                  "description": "The end date. format: (YYYY-MM-DD).\n\nDefault value: CURRENT_DATE"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetCampaignReport",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/report/campaigns/get?advertiserId&dateFrom=&dateTo=&campaignIds[]=&byCampaign=0&byDate=0",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "campaigns",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": null,
                  "description": "The advertiser ID"
                },
                {
                  "key": "dateFrom",
                  "value": "",
                  "description": "The start date. format: (YYYY-MM-DD).\n\nDefault value: -7 days from current date"
                },
                {
                  "key": "dateTo",
                  "value": "",
                  "description": "The end date. format: (YYYY-MM-DD).\n\nDefault value: CURRENT_DATE"
                },
                {
                  "key": "campaignIds[]",
                  "value": "",
                  "description": "The campaign IDs."
                },
                {
                  "key": "byCampaign",
                  "value": "0",
                  "description": "Group by campaign. should the result grouped by campaign id. Values can be 0 or 1."
                },
                {
                  "key": "byDate",
                  "value": "0",
                  "description": "Group by date. should the result grouped by date. Values can be 0 or 1."
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetDeviceIDsCampaignReport",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/report/deviceIds/get?advertiserId&campaignId&dateFrom&dateTo",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "deviceIds",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": null,
                  "description": "The advertiser ID"
                },
                {
                  "key": "campaignId",
                  "value": null,
                  "description": "The campaign ID"
                },
                {
                  "key": "dateFrom",
                  "value": null,
                  "description": "The start date. format: (YYYY-MM-DD).\n\nDefault value: -7 days from current date"
                },
                {
                  "key": "dateTo",
                  "value": null,
                  "description": "The end date. format: (YYYY-MM-DD).\n\nDefault value: CURRENT_DATE"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetVideoCampaignReport",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/report/videoCampaigns/get?advertiserId&byDate=0&byCampaign=0&dateFrom=&dateTo=&campaignIds[]=",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "videoCampaigns",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": null,
                  "description": "The advertiser ID"
                },
                {
                  "key": "byDate",
                  "value": "0",
                  "description": "Group by date. should the result grouped by date. Values can be 0 or 1"
                },
                {
                  "key": "byCampaign",
                  "value": "0",
                  "description": "Group by campaign. should the result grouped by campaign id. Values can be 0 or 1."
                },
                {
                  "key": "dateFrom",
                  "value": "",
                  "description": "The start date. format: (YYYY-MM-DD).\n\nDefault value: -7 days from current date"
                },
                {
                  "key": "dateTo",
                  "value": "",
                  "description": "The end date. format: (YYYY-MM-DD). Default value: CURRENT_DATE"
                },
                {
                  "key": "campaignIds[]",
                  "value": "",
                  "description": "The campaign IDs"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetReportTotals",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/report/totals?advertiserId=&dateFrom=&dateTo=&campaignIds[]=",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "report",
                "totals"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": "",
                  "description": "Advertiser ID"
                },
                {
                  "key": "dateFrom",
                  "value": "",
                  "description": "YYYY-MM-DD"
                },
                {
                  "key": "dateTo",
                  "value": "",
                  "description": "YYYY-MM-DD"
                },
                {
                  "key": "campaignIds[]",
                  "value": "",
                  "description": "(optional) Campaign ID"
                }
              ]
            },
            "description": "Period totals: impressions and deduplicated reach. Use this for total reach; never add up daily reach values."
          },
          "response": []
        }
      ],
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "Sites",
      "item": [
        {
          "name": "GetSitePlatforms",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/sites/platforms/get",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "sites",
                "platforms",
                "get"
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetSiteTypes",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/sites/types/get",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "sites",
                "types",
                "get"
              ]
            }
          },
          "response": []
        },
        {
          "name": "GetSites",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/sites/get",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "sites",
                "get"
              ]
            }
          },
          "response": []
        }
      ],
      "auth": {
        "type": "noauth"
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "packages": {},
            "exec": [
              ""
            ]
          }
        }
      ]
    },
    {
      "name": "Optimisation",
      "item": [
        {
          "name": "GetOptimisation",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/optimisation?advertiserId=&campaignIds=&optimiseBy=creative&dateFrom=&dateTo=",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "optimisation"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": "",
                  "description": "Advertiser ID"
                },
                {
                  "key": "campaignIds",
                  "value": "",
                  "description": "Campaign ID(s)"
                },
                {
                  "key": "optimiseBy",
                  "value": "creative",
                  "description": "(optional) exchange, creative, os, browser, operator, app_site_name, placement or package"
                },
                {
                  "key": "dateFrom",
                  "value": "",
                  "description": "(optional) YYYY-MM-DD"
                },
                {
                  "key": "dateTo",
                  "value": "",
                  "description": "(optional) YYYY-MM-DD"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "OptimisationAction",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/optimisation/action?advertiserId=",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "optimisation",
                "action"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": "",
                  "description": "Advertiser ID owning the campaigns"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"action\": \"stop\",                 // String: start or stop\n  \"optimiseBy\": \"exchange\",         // String: exchange, creative, os, browser, operator, app_site_name, placement or package\n  \"campaignsOptimisationIds\": {\n    \"CAMPAIGN_ID\": [ITEM_ID]        // 1-10 campaigns; item IDs of the optimiseBy type\n  }\n}\n"
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Package",
      "item": [
        {
          "name": "CreatePackage",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/package/create",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "package",
                "create"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"advertiserId\": ADVERTISER_ID,    // Integer: The advertiser ID\n  \"name\": \"PACKAGE_NAME\",           // String: The package name\n  \"dataType\": 1,                    // Integer (optional): 1 Apps/sites, 2 Placements\n  \"auctionType\": 3,                 // Integer (optional): 1 PMP only, 2 Open Auction only, 3 both\n  \"domains\": [\"example.com\"]        // Array (optional): up to 50,000 domains\n}\n"
            }
          },
          "response": []
        },
        {
          "name": "GetPackageList",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/package/get?advertiserId=&page=1&per_page=15",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "package",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": "",
                  "description": "Advertiser ID"
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "(optional)"
                },
                {
                  "key": "per_page",
                  "value": "15",
                  "description": "(optional)"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "UpdatePackage",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/package/update/{{PACKAGE_ID}}",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "package",
                "update",
                "{{PACKAGE_ID}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"advertiserId\": ADVERTISER_ID,    // Integer: The advertiser ID\n  \"name\": \"PACKAGE_NAME\"            // String: The package name\n}\n"
            }
          },
          "response": []
        },
        {
          "name": "WritePackageDomains",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/package/{{PACKAGE_ID}}/domains",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "package",
                "{{PACKAGE_ID}}",
                "domains"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"advertiserId\": ADVERTISER_ID,    // Integer: The advertiser ID\n  \"mode\": \"append\",                 // String: append or replace\n  \"domains\": [\"example.com\"]        // Array: up to 50,000 domains per request\n}\n"
            }
          },
          "response": []
        },
        {
          "name": "DeletePackage",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/package/{{PACKAGE_ID}}?advertiserId=",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "package",
                "{{PACKAGE_ID}}"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": "",
                  "description": "Advertiser ID"
                }
              ]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "BrandSafetySet",
      "item": [
        {
          "name": "CreateBrandSafetySet",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/brandSafetySet/create",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "brandSafetySet",
                "create"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"title\": \"SET_TITLE\",                  // String: Name of the set\n  \"contextOptions\": [\"url\", \"content\"],  // Array: where to match\n  \"matchType\": \"contains\",               // String: match type\n  \"keywords\": \"keyword1, keyword2\"       // String or Array: keywords\n}\n"
            }
          },
          "response": []
        },
        {
          "name": "GetBrandSafetySetList",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{ACCESS_TOKEN}}",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}v1/brandSafetySet/get?advertiserId=&includeKeywords=1",
              "host": [
                "{{base_url}}v1"
              ],
              "path": [
                "brandSafetySet",
                "get"
              ],
              "query": [
                {
                  "key": "advertiserId",
                  "value": "",
                  "description": "Advertiser ID"
                },
                {
                  "key": "includeKeywords",
                  "value": "1",
                  "description": "(optional) 1 to include keywords"
                }
              ]
            }
          },
          "response": []
        }
      ]
    }
  ]
}
```

# How to Launch a Campaign with the API

This page walks through launching a banner, native or video campaign through the Eskimi DSP API, from the creative to the first report. It is for developers and advertisers who already have an access token; if you don't, start with [How to Use the API](https://manual.eskimi.com/books/api/page/how-to-use-the-api).

<p class="callout info">Every request below needs the header `Authorization: Bearer {ACCESS_TOKEN}`. All parameters are described in the API documentation: [https://dsp-api.eskimi.com/docs/api/v1/](https://dsp-api.eskimi.com/docs/api/v1/)</p>

### 1. Look Up the IDs You Need

Campaign settings use IDs, not names. Get them from the reference data endpoints first, for example:

- Countries: `GET /country/get`. Campaigns use the two-letter lowercase code, e.g. `lt`.
- Operators: `GET /operators/get/{country}`
- Device types, brands and operating systems: `GET /device/types/get`, `/device/brands/get`, `/device/oses/get`
- Exchanges and sites: `GET /exchanges/get`, `GET /sites/get`

### 2. Create a Creative Set

`POST /creative/sets/create` with `advertiserId` and a `title`. The response returns the creative set ID.

### 3. Create the Creative and Add Its Assets

First create the creative: `POST /creative/create` with `advertiserId`, `creativeSetId` and a `title`. The response returns the creative ID. Then add its assets, depending on the campaign type:

#### a. Banner

`POST /creative/banner/upload` with `advertiserId`, `creativeId` and `creativeFile`: a base64-encoded zip of .png, .jpg or .gif files.

#### b. Native

`POST /creative/native/upload` with `advertiserId`, `creativeId` and:

- `iconFile`, `imageMainFile` and `image600x600File`: each a base64-encoded zip with one .png, .jpg or .gif image.
- `content`: the ad text. `content.title` is required; description, call to action, sponsor name, price, rating and the other text fields are optional.

#### c. Video

Video creatives cannot be uploaded through the API. Upload them to a creative set in the DSP, then use that creative set's ID in step 4.

### 4. Create the Campaign

Use the endpoint for the campaign type. All three take the same fields:

- Banner: `POST /campaign/banner/create`
- Native: `POST /campaign/native/create`
- Video: `POST /campaign/video/create`

To submit the campaign for review, send at least:

<table id="bkmrk-fieldexample-adverti"><thead><tr><th>Field</th><th>Example</th></tr></thead><tbody><tr><td>`advertiserId`, `name`</td><td>`1234`, `"LT_Spring_Sale_Banner"`</td></tr><tr><td>`dates`</td><td>`{"from": "2026-11-01", "to": "2026-11-30"}`</td></tr><tr><td>`country`</td><td>`"lt"`</td></tr><tr><td>`budget`</td><td>`{"type": "total", "amount": 5000, "pacing": 1}` (pacing: 1 = Even, 0 = None)</td></tr><tr><td>`bid`</td><td>Within the advertiser's minimum and maximum bid</td></tr><tr><td>`creativeSetIds`</td><td>`[5678]`. The sets must hold creatives of the campaign's type, e.g. video creatives for a video campaign</td></tr><tr><td>`clickUrl`, `adDomain`</td><td>`"https://example.com/sale"`, `"example.com"`</td></tr></tbody></table>

Add targeting with the IDs from step 1. The optional `channel` field sets where the campaign runs: `1` display (the default), `2` in-game, `4` DOOH. The response returns the campaign ID.

<p class="callout info">Not ready to submit yet? Send `"status": "draft"`. A draft needs only `advertiserId` and `name`, and is not reviewed until it is completed.</p>

### 5. Review and Approval

A submitted campaign has the status `pending` until it is reviewed. Check it with `GET /campaign/status/get/{campaignId}`. The possible statuses are pending, ready, active, stopped, rejected, daily\_cap, limit\_budget, expired\_date and deleted. For what is reviewed and how long it takes, see [Campaign Approval for Self-Service Accounts](https://manual.eskimi.com/books/eskimi-policies/page/campaign-approval-for-self-service-accounts).

### 6. Start, Stop and Optimise

- Start or stop the whole campaign: `POST /campaign/start/{campaignId}`, `POST /campaign/stop/{campaignId}`
- Start or stop delivery on single exchanges, creatives, operating systems, browsers, operators, sites or apps, placements or packages: `POST /optimisation/action`, up to 10 campaigns per call. Each option must be enabled for the advertiser.
- Change only the budget pacing: `POST /campaign/{campaignId}/pacing` with `{"pacing": 1}` (Even) or `{"pacing": 0}` (None). Not available for campaigns with a daily budget.

### 7. Pull the Report

Use `GET /report/campaigns/get` for daily delivery, the split reports (sites, exchanges, creatives and others) for detail, and `GET /report/totals` for period totals including reach.

### Summary

Look up IDs, create the creative set and creative, add its assets (video in the DSP), create the campaign, wait for review, then manage and report on it through the API. To try each call without writing code, use the [API Postman Template](https://manual.eskimi.com/books/api/page/api-postman-template).

# FAQ: Eskimi DSP API

Short answers to the questions people ask most about the Eskimi DSP API. For the full picture, start with [API Overview](https://manual.eskimi.com/books/api/page/api-overview).

### 1. Getting Started

#### 1.1 What can I do with the API?

Manage campaigns, creatives, audiences, packages and brand safety sets, start or stop delivery on single sites, placements and other items, and pull reports and invoices. The full list is in [API Overview](https://manual.eskimi.com/books/api/page/api-overview).

#### 1.2 How do I get access?

Create an API client in the DSP (three-dot menu → **API Clients** → **Add Client**), then get an access token. The steps are in [How to Use the API](https://manual.eskimi.com/books/api/page/how-to-use-the-api).

#### 1.3 Where is the full documentation?

[https://dsp-api.eskimi.com/docs/api/v1/](https://dsp-api.eskimi.com/docs/api/v1/). It lists every endpoint with its parameters and examples.

#### 1.4 Can I try the API without writing code?

Yes. Import the [API Postman Template](https://manual.eskimi.com/books/api/page/api-postman-template) into Postman; it has a ready-made request for every endpoint.

#### 1.5 Which address do I send requests to?

`https://dsp-api.eskimi.com/api/v1/`. The access token comes from `https://dsp-api.eskimi.com/api/oauth/token`.

### 2. Access Tokens

#### 2.1 How long is an access token valid?

One year. When you request a token with an HTTP call, the response states its lifetime in seconds (`expires_in`).

#### 2.2 How do I renew a token?

Request a new one the same way you got the first: in the DSP, or with `POST /api/oauth/token`. Use the new token for all calls from then on.

#### 2.3 My requests return 401. What is wrong?

The token is missing from the `Authorization: Bearer` header, or it has expired. Request a new token.

#### 2.4 My requests return 403. What is wrong?

Your user has no access to that advertiser. Ask an admin of your account to give your user access to it.

#### 2.5 Can I work with several advertisers with one token?

Yes. The token belongs to your user and works for every advertiser your user has access to. Choose the advertiser with the `advertiserId` parameter in each request.

### 3. Campaigns and Creatives

#### 3.1 Can I create a campaign through the API?

Yes: banner, native and video campaigns. Step by step: [How to Launch a Campaign with the API](https://manual.eskimi.com/books/api/page/how-to-launch-a-campaign-with-the-api).

#### 3.2 Can I save a campaign without submitting it?

Yes. Create it with `"status": "draft"`; a draft needs only the advertiser ID and a name.

#### 3.3 Do campaigns created through the API need approval?

Yes. A submitted campaign stays `pending` until it is reviewed, the same as a campaign created in the DSP. See [Campaign Approval for Self-Service Accounts](https://manual.eskimi.com/books/eskimi-policies/page/campaign-approval-for-self-service-accounts).

#### 3.4 Can I upload video creatives?

Not through the API. It uploads banner and native assets only. Upload video creatives in the DSP, then use them in a campaign created through the API.

#### 3.5 Why did other settings change when I updated a campaign?

An update request should contain all of the campaign's settings, not only the ones you change: settings left out can be reset. Read the campaign first and send its settings back with your change.

#### 3.6 Can I change budget pacing without touching anything else?

Yes: `POST /campaign/{campaignId}/pacing` with `{"pacing": 1}` (Even) or `{"pacing": 0}` (None). It changes nothing else. It is not available for campaigns with a daily budget.

#### 3.7 Can I pause a single site, placement or exchange?

Yes, with `POST /optimisation/action`: stop or start exchanges, creatives, operating systems, browsers, operators, sites or apps, placements or packages, on up to 10 campaigns per call. Each option must be enabled for the advertiser.

### 4. Reports

#### 4.1 Why don't my API numbers match the DSP?

Check three settings: the time zone (`timeZone`: 1 = Vilnius, 2 = local), the spend currency (`spentBased`: 4 = USD, 5 = local currency), and where reach comes from (see the next question).

#### 4.2 How do I get total reach for a period?

Use `GET /report/totals`. Do not add up daily reach from the split reports: the same person would be counted again on every day they were reached.

#### 4.3 Can I get every report split that the DSP shows?

Not every one. The splits available through the API are listed in the Report section of the API documentation.

#### 4.4 How many rows does a list return?

15 per page by default. Set `per_page` up to 100 and use `page` to get the next pages.

### Summary

Most problems come down to the token (missing or expired), access to the advertiser, or report settings (time zone, currency, reach). If your question is not here, contact your Eskimi account manager.