diff --git a/.mcp.json b/.mcp.json index 6cb460bced..7fde327d9b 100644 --- a/.mcp.json +++ b/.mcp.json @@ -2,10 +2,10 @@ "mcpServers": { "local": { "type": "http", - "url": "https://azerion-gaming.sales-agent.yieldpro.improvedigital.com/mcp", + "url": "http://0.0.0.0:8080/mcp", "headers": { - "Authorization": "Bearer tok_JQOJr84VHKMZGD7R6xJe6YIQFToBK8fKVUIJojtxOHI" + "Authorization": "Bearer tok_TsDB5qiLETTMCZab_UAHmUES1cI3tInHt69sxf14TWE" } } } -} \ No newline at end of file +} diff --git a/alembic/versions/a9b8c7d6e5f4_add_adapter_config_locked_at.py b/alembic/versions/a9b8c7d6e5f4_add_adapter_config_locked_at.py new file mode 100644 index 0000000000..3e4a4cfbd0 --- /dev/null +++ b/alembic/versions/a9b8c7d6e5f4_add_adapter_config_locked_at.py @@ -0,0 +1,63 @@ +"""add adapter_config.config_locked_at + +Explicit stored lock state for the adapter-configuration lock +(src/core/database/adapter_config_lock.py): stamped when a tenant's first +inventory sync completes; while non-NULL the ad server configuration is +frozen and only credentials remain editable. Cleared only by platform ops +under super_admin_override. + +Backfill: tenants that already synced inventory (a terminal-success +sync_jobs row of sync_type='inventory', or legacy gam_inventory rows from +before sync history existed) are stamped locked at migration time, so the +lock applies retroactively. + +Revision ID: a9b8c7d6e5f4 +Revises: impd02b3c4d5 +Create Date: 2026-09-04 + +""" + +from collections.abc import Sequence + +import sqlalchemy as sa + +from alembic import op + +revision: str = "a9b8c7d6e5f4" +down_revision: str | Sequence[str] | None = "impd02b3c4d5" +branch_labels: str | Sequence[str] | None = None +depends_on: str | Sequence[str] | None = None + + +def upgrade() -> None: + op.add_column( + "adapter_config", + sa.Column( + "config_locked_at", + sa.DateTime(timezone=True), + nullable=True, + comment=( + "Set when the tenant's first inventory sync completed; while non-NULL " + "the ad server configuration is frozen (only credentials editable)." + ), + ), + ) + + op.execute( + """ + UPDATE adapter_config + SET config_locked_at = NOW() + WHERE config_locked_at IS NULL + AND ( + tenant_id IN ( + SELECT DISTINCT tenant_id FROM sync_jobs + WHERE sync_type = 'inventory' AND status IN ('completed', 'success') + ) + OR tenant_id IN (SELECT DISTINCT tenant_id FROM gam_inventory) + ) + """ + ) + + +def downgrade() -> None: + op.drop_column("adapter_config", "config_locked_at") diff --git a/alembic/versions/impd01_add_improvedigital_inventory.py b/alembic/versions/impd01_add_improvedigital_inventory.py new file mode 100644 index 0000000000..d0a4355375 --- /dev/null +++ b/alembic/versions/impd01_add_improvedigital_inventory.py @@ -0,0 +1,77 @@ +"""add_improvedigital_inventory + +Local cache of Improve Digital 360Yield buy-side inventory (publishers, +placements, reusable packages, creative sizes). Used by the Improve Digital +adapter's product configuration UI so operators can pick placements from +synced inventory without round-tripping to the 360Yield API on every page +render. + +NOT exposed to AdCP buyers -- buyer-facing property discovery goes through +the AAO lookup path (adagents.json + brand.json). This is a private +adapter-side cache. + +Refreshed on demand via the adapter settings "Sync Inventory" button or +the periodic AdapterSyncScheduler. + +Revision ID: impd01a2b3c4 +Revises: e8f1a2b3c4d5 +Create Date: 2026-07-27 19:00:00.000000 +""" + +from collections.abc import Sequence + +import sqlalchemy as sa + +from alembic import op + +# revision identifiers, used by Alembic. +revision: str = "impd01a2b3c4" +down_revision: str | Sequence[str] | None = "e8f1a2b3c4d5" +branch_labels: str | Sequence[str] | None = None +depends_on: str | Sequence[str] | None = None + + +def upgrade() -> None: + """Create improvedigital_inventory table.""" + op.create_table( + "improvedigital_inventory", + sa.Column("tenant_id", sa.String(50), nullable=False), + sa.Column( + "entity_type", + sa.String(40), + nullable=False, + comment="360Yield entity kind: publisher, placement, package, size", + ), + sa.Column("entity_id", sa.String(64), nullable=False), + sa.Column("name", sa.String(512), nullable=True), + sa.Column("parent_id", sa.String(64), nullable=True), + sa.Column( + "raw_json", + sa.JSON().with_variant(sa.dialects.postgresql.JSONB, "postgresql"), + nullable=False, + ), + sa.Column( + "last_synced_at", + sa.DateTime(timezone=True), + nullable=False, + server_default=sa.func.now(), + ), + sa.ForeignKeyConstraint(["tenant_id"], ["tenants.tenant_id"], ondelete="CASCADE"), + sa.PrimaryKeyConstraint("tenant_id", "entity_type", "entity_id"), + ) + op.create_index( + "idx_improvedigital_inventory_tenant_type", + "improvedigital_inventory", + ["tenant_id", "entity_type"], + ) + op.create_index( + "idx_improvedigital_inventory_parent", + "improvedigital_inventory", + ["tenant_id", "parent_id"], + ) + + +def downgrade() -> None: + op.drop_index("idx_improvedigital_inventory_parent", table_name="improvedigital_inventory") + op.drop_index("idx_improvedigital_inventory_tenant_type", table_name="improvedigital_inventory") + op.drop_table("improvedigital_inventory") diff --git a/alembic/versions/impd02_add_improvedigital_line_item_stats.py b/alembic/versions/impd02_add_improvedigital_line_item_stats.py new file mode 100644 index 0000000000..ee6e7f15a0 --- /dev/null +++ b/alembic/versions/impd02_add_improvedigital_line_item_stats.py @@ -0,0 +1,83 @@ +"""add_improvedigital_line_item_stats + +Per-line-item delivery stats cache for the Improve Digital adapter. +Populated by the periodic Report API sync (``POST /report/ext/preview`` +with dimensions campaign_id/line_item_id and metrics impressions, clicks, +advertiser_payout, complete). Read by +``ImproveDigitalAdapter.get_media_buy_delivery`` so AdCP delivery surfaces +serve results without round-tripping to 360Yield on every request. + +Spend is stored as currency-minor-unit micros (1 EUR = 1_000_000 micros) +to avoid floating-point precision loss when aggregating. + +Revision ID: impd02b3c4d5 +Revises: impd01a2b3c4 +Create Date: 2026-08-04 10:00:00.000000 +""" + +from collections.abc import Sequence + +import sqlalchemy as sa + +from alembic import op + +# revision identifiers, used by Alembic. +revision: str = "impd02b3c4d5" +down_revision: str | Sequence[str] | None = "impd01a2b3c4" +branch_labels: str | Sequence[str] | None = None +depends_on: str | Sequence[str] | None = None + + +def upgrade() -> None: + op.create_table( + "improvedigital_line_item_stats", + sa.Column("tenant_id", sa.String(length=50), nullable=False), + sa.Column( + "line_item_id", + sa.String(length=64), + nullable=False, + comment="360Yield Classic line-item ID (maps to the AdCP package)", + ), + sa.Column( + "campaign_id", + sa.String(length=64), + nullable=True, + comment="360Yield Classic campaign ID (maps to the AdCP media buy)", + ), + sa.Column("impressions", sa.BigInteger(), nullable=False, server_default="0"), + sa.Column("clicks", sa.BigInteger(), nullable=True), + sa.Column( + "completed_views", + sa.BigInteger(), + nullable=True, + comment="Video completions (Report API 'complete' metric)", + ), + sa.Column( + "spend_micros", + sa.BigInteger(), + nullable=False, + server_default="0", + comment="Spend in currency-minor-unit micros (advertiser_payout * 1e6)", + ), + sa.Column("currency", sa.String(length=3), nullable=True), + sa.Column("delivery_status", sa.String(length=40), nullable=True), + sa.Column("as_of", sa.DateTime(timezone=True), nullable=False), + sa.Column( + "last_synced_at", + sa.DateTime(timezone=True), + nullable=False, + server_default=sa.text("now()"), + ), + sa.ForeignKeyConstraint(["tenant_id"], ["tenants.tenant_id"], ondelete="CASCADE"), + sa.PrimaryKeyConstraint("tenant_id", "line_item_id"), + ) + op.create_index( + "idx_impd_li_stats_tenant_campaign", + "improvedigital_line_item_stats", + ["tenant_id", "campaign_id"], + ) + + +def downgrade() -> None: + op.drop_index("idx_impd_li_stats_tenant_campaign", table_name="improvedigital_line_item_stats") + op.drop_table("improvedigital_line_item_stats") diff --git a/alembic/versions/impd03_add_improvedigital_inventory_trgm_index.py b/alembic/versions/impd03_add_improvedigital_inventory_trgm_index.py new file mode 100644 index 0000000000..2fc473f2c7 --- /dev/null +++ b/alembic/versions/impd03_add_improvedigital_inventory_trgm_index.py @@ -0,0 +1,77 @@ +"""add trigram index for Improve Digital inventory picker search + +The product-form pickers page through ``improvedigital_inventory`` with a +case-insensitive substring match on ``name`` OR ``entity_id`` (see +``ImproveDigitalInventoryRepository.list_picker_rows`` / +``count_picker_rows``). Without an index every keystroke is a sequential +scan of the tenant's placement rows — hundreds of thousands in dev. A GIN +trigram index lets PostgreSQL answer ``ILIKE '%term%'`` on both columns +with a bitmap scan. + +``pg_trgm`` ships with PostgreSQL (and RDS) and is a *trusted* extension on +PostgreSQL 13+, so the application role can install it. The migration is +defensive anyway: if the extension is unavailable or cannot be created, it +logs a warning and leaves the table unindexed — the search still works, +just slower — rather than failing the boot-time migration and taking the +service down over a performance index. + +Revision ID: impd03c4d5e6 +Revises: a9b8c7d6e5f4 +Create Date: 2026-09-11 + +""" + +from collections.abc import Sequence + +import sqlalchemy as sa + +from alembic import op + +revision: str = "impd03c4d5e6" +down_revision: str | Sequence[str] | None = "a9b8c7d6e5f4" +branch_labels: str | Sequence[str] | None = None +depends_on: str | Sequence[str] | None = None + +INDEX_NAME = "ix_improvedigital_inventory_trgm" + + +def _ensure_pg_trgm(conn: sa.Connection) -> bool: + """Install ``pg_trgm`` if needed. Returns False when it cannot be used.""" + installed = conn.execute(sa.text("SELECT 1 FROM pg_extension WHERE extname = 'pg_trgm'")).scalar() + if installed: + return True + available = conn.execute(sa.text("SELECT 1 FROM pg_available_extensions WHERE name = 'pg_trgm'")).scalar() + if not available: + print("WARNING: pg_trgm is not available on this PostgreSQL server; skipping trigram index") + return False + # Savepoint so a permission failure does not abort the surrounding + # migration transaction. + try: + with conn.begin_nested(): + conn.execute(sa.text("CREATE EXTENSION IF NOT EXISTS pg_trgm")) + except sa.exc.DBAPIError as exc: + print(f"WARNING: could not create pg_trgm extension ({exc.orig}); skipping trigram index") + return False + return True + + +def upgrade() -> None: + conn = op.get_bind() + if conn.dialect.name != "postgresql": + return + if not _ensure_pg_trgm(conn): + return + conn.execute( + sa.text( + f"CREATE INDEX IF NOT EXISTS {INDEX_NAME} " + "ON improvedigital_inventory USING gin (name gin_trgm_ops, entity_id gin_trgm_ops)" + ) + ) + + +def downgrade() -> None: + conn = op.get_bind() + if conn.dialect.name != "postgresql": + return + # The extension is left installed: other objects may come to rely on it. + conn.execute(sa.text(f"DROP INDEX IF EXISTS {INDEX_NAME}")) diff --git a/core/middleware/admin_mount.py b/core/middleware/admin_mount.py index 93c8a6bf9d..a1625657a4 100644 --- a/core/middleware/admin_mount.py +++ b/core/middleware/admin_mount.py @@ -39,10 +39,14 @@ from __future__ import annotations +import logging +import time from typing import Any from src.core.domain_config import get_sales_agent_domain, is_admin_domain +logger = logging.getLogger(__name__) + # Path prefixes the Flask admin claims. Anything under one of these # segments dispatches to Flask; everything else falls through to A2A # (which serves /.well-known/agent-card.json + the A2A RPC endpoint at @@ -118,7 +122,7 @@ async def __call__(self, scope: dict, receive: Any, send: Any) -> None: if self._is_admin_host(scope): new_scope = dict(scope) new_scope["root_path"] = scope.get("root_path", "") + "/admin" - await self.wsgi_app(new_scope, receive, send) + await self._dispatch_wsgi(new_scope, receive, send) return path = scope.get("path", "") @@ -182,12 +186,47 @@ async def __call__(self, scope: dict, receive: Any, send: Any) -> None: # str length for ASCII prefixes. new_scope["raw_path"] = raw[len(prefix) :] or b"/" new_scope["root_path"] = scope.get("root_path", "") + prefix - await self.wsgi_app(new_scope, receive, send) + await self._dispatch_wsgi(new_scope, receive, send) return - await self.wsgi_app(scope, receive, send) + await self._dispatch_wsgi(scope, receive, send) return await self.app(scope, receive, send) + async def _dispatch_wsgi(self, scope: dict, receive: Any, send: Any) -> None: + """Hand an HTTP request to the Flask WSGI app with boundary logging. + + Logs one START line before the request enters the WSGI bridge and one + DONE/FAILED line when it comes back. A START with no matching DONE means + the request died inside the bridge or the worker thread — the case a + reverse proxy reports as 502 while Flask itself never logs anything. + Only unsafe methods are logged at INFO to keep GET noise down. + """ + method = scope.get("method", "?") + path = scope.get("path", "") + noisy = method in ("GET", "HEAD", "OPTIONS") + level = logging.DEBUG if noisy else logging.INFO + content_length = None + for raw_name, raw_value in scope.get("headers", ()): + if raw_name.lower() == b"content-length": + content_length = raw_value.decode("latin-1") + logger.log( + level, + "[admin_mount] START %s %s host=%s content_length=%s", + method, + path, + self._resolve_host(scope), + content_length, + ) + started = time.monotonic() + try: + await self.wsgi_app(scope, receive, send) + except BaseException: + logger.exception( + "[admin_mount] FAILED %s %s after %.0f ms", method, path, (time.monotonic() - started) * 1000 + ) + raise + logger.log(level, "[admin_mount] DONE %s %s in %.0f ms", method, path, (time.monotonic() - started) * 1000) + @staticmethod def _resolve_host(scope: dict) -> str | None: """Pick the externally-visible host from ASGI scope headers. diff --git a/docs/adapters/improvedigital/ADMIN_UI_GUIDE.md b/docs/adapters/improvedigital/ADMIN_UI_GUIDE.md new file mode 100644 index 0000000000..d984ff824a --- /dev/null +++ b/docs/adapters/improvedigital/ADMIN_UI_GUIDE.md @@ -0,0 +1,398 @@ +# Sales Agent Admin UI — Plain-Language Guide + +*(with GAM explained, and what Improve Digital needs on every screen)* + +This guide walks through every part of the tenant admin UI — the top tabs, the +Settings side tabs, and the Configure dropdown — and answers four questions for +each screen: + +1. **What is it?** +2. **Why does it exist?** (with a small example where it helps) +3. **How does GAM use it today?** (what all the GAM words mean) +4. **What does Improve Digital need here?** + +Screens were reviewed on a live, fully-working GAM tenant +(`Azerion Gaming` on sales-agent.yieldpro.improvedigital.com). The engineering +checklist lives in [INTEGRATION_PLAN.md](./INTEGRATION_PLAN.md) — this doc is +the "understand it first" companion. + +--- + +## 0. The big picture (read this first) + +The **sales agent** is an automated salesperson for a publisher's ad space. +AI **buyer agents** (for example, a brand's media-buying AI) talk to it over +the **AdCP protocol** (via MCP or A2A — two "phone lines", same conversation). +The buyer can ask *"what can I buy?"*, *"buy this"*, *"how is my campaign +doing?"* — and the sales agent answers automatically. + +The sales agent doesn't serve ads itself. It takes the buyer's order and +creates it inside a real **ad server**. Which ad server? That's what the +**adapter** decides. Today the tenant we looked at uses **Google Ad Manager +(GAM)**. Our project adds a second option: **Improve Digital** (Azerion's +360 Polaris marketplace). + +One full order, end to end: + +> A buyer agent calls `get_products` → sees "Gaming audience, €5 CPM, NL". +> It calls `create_media_buy` with a €100 budget and two weeks of flight +> dates. The sales agent's **GAM adapter** logs into GAM and creates an +> **Order** (the contract) with a **Line Item** (the delivery instructions: +> where, when, how much). The buyer sends banner images (`sync_creatives`); +> a human approves them in the **Creatives** tab; the adapter uploads them to +> GAM and attaches them to the line item. GAM starts serving. Every hour the +> sales agent pulls delivery numbers from GAM, so when the buyer asks +> `get_media_buy_delivery`, it can answer "34,000 impressions, €170 spent." + +Every screen below exists to set up, watch, or repair some part of that story. + +**The one Improve Digital difference to keep in mind:** GAM is an *ad server* +(it renders the ad itself). Improve Digital is a *marketplace/SSP*: for its +main "Universal Deal" flow, we create a **Campaign + Line Item (a deal)** that +a buyer's DSP then bids into — the creatives usually live on the buyer's side, +not ours. Same shape of story, slightly different casting. + +--- + +## 1. Top tabs (day-to-day work) + +### 1.1 Dashboard + +- **What:** The home page. Revenue for the last 30 days, deals waiting on you + ("Incoming"), deals currently delivering ("Running"), alerts ("8 creatives + need approval", "deal pacing under"), and a ledger of recent activity. +- **Why:** So an operator can answer "is anything on fire?" in ten seconds. + Example: the Azerion Gaming dashboard flagged a running deal at *"0% + delivered · should be 90%"* — that's a paused or broken line item someone + should look at. +- **GAM today:** The money and pacing numbers come from delivery stats that + the GAM sync writes into the local database (impressions/spend per line + item). Everything else (media buys, creatives, audit log) is our own data. +- **Improve Digital needs:** Nothing UI-wise. Once our **reporting sync** + (Improve's Report API → local stats cache) works, the dashboard fills in by + itself. Accuracy depends on us mapping Improve's `advertiser_payout` to + spend and its line-item state to "delivering / not delivering". + +### 1.2 Media Buys + +- **What:** Every order buyers have placed, as a pipeline: *needs creatives → + needs approval → ready → live → completed* (plus *failed*). Each row shows + budget, flight dates, and per-package readiness; broken rows show the error + ("Media buy creation failed", "No creatives uploaded"). +- **Why:** This is the order book. Example: a buy stuck in "needs approval" + means a human must approve it (see Workflows); one stuck in "needs + creatives" means the buyer never sent images. +- **GAM today:** A media buy = a GAM **Order**; each package inside it = a GAM + **Line Item**. Rows named `Order-4098644343` are special: they were + *imported from GAM* (orders that already existed in the ad server), via a + GAM-only "projection" layer. +- **Improve Digital needs:** Our adapter's `create_media_buy` (creates an + Improve **Unified Deal** = campaign + line item in one API call), + `check_media_buy_status` (maps Improve's deal states onto the pipeline), + and `update_media_buy` (pause/resume/budget changes). The "imported orders" + trick is GAM-only; an Improve equivalent (showing pre-existing marketplace + deals) is optional follow-up work (plan item **H5**). + +### 1.3 Products + +- **What:** The catalog you show buyers. Each product = a name + price (e.g. + CPM €5.00) + countries + a slice of inventory it sells. +- **Why:** Buyers don't browse your raw ad server; they browse *products*. + Example: "Gaming audience — €5 CPM — NL" packages up a set of gaming-site ad + slots so a buyer's `get_products` call returns something sellable. +- **GAM today:** When you create/edit a product, an adapter-specific form + section asks *which GAM ad units and placements* the product targets — + pickers filled from synced GAM inventory. +- **Improve Digital needs:** Our own product-config form + (`product_config.html`) with **placement / package / size pickers** filled + from our synced Improve inventory, plus `get_supported_pricing_models` (CPM + to start) so the pricing dropdown offers the right options. + +### 1.4 Inventory (Inventory bundles) + +- **What:** "Bundles" — named bags of ad slots ("spel.nl 728x90" = 2 ad + units). A coverage meter shows how much of your synced inventory is bundled + (Azerion Gaming: 5 of 22 ad units). +- **Why:** Raw ad-server inventory is messy; bundles are the tidy shapes you + compose products from. Example: bundle all leaderboard slots on spel.nl + once, then reuse that bundle in three different products. +- **GAM today:** The page literally says *"Authored against Google Ad + Manager"* and counts GAM entity types (**ad units** — the slot tree in GAM — + and **placements** — GAM's own named groups of ad units). +- **Improve Digital needs:** Bundles must count and pick from **Improve + placements and packages** instead. Our adapter declares + `inventory_entity_label="placement"`; the page must respect adapter entity + types rather than assuming GAM's (plan item **H4**). + +### 1.5 Signals + +- **What:** Audience/targeting data buyers can ask for by name. The page + lists **audience segments** (e.g. "sports fans") to map to buyer-facing + signals, and **custom targeting keys** (key→value labels on ad requests). +- **Why:** A buyer agent may ask "target sports fans" — signals are how the + sales agent knows what that means in your ad server. Example: map the + buyer-visible signal "Gaming enthusiasts" to GAM audience segment #12345, + and deals created for that signal get that segment targeting. +- **GAM today:** Fed entirely by the GAM inventory sync: 10 audience segments + + 240 custom targeting keys (things like `AGE`, `cat`, `amznbid` — labels + GAM publishers attach to ad requests). +- **Improve Digital needs:** Improve's equivalents synced as extra inventory + types: **DMP segments**, **contextual segments** (DoubleVerify, Captify, + Azerion Intelligence), and **key-value targeting keys/values**. Not + order-blocking — planned as a follow-up (plan item **H3**). + +### 1.6 Creatives + +- **What:** The review queue for ad images/videos buyers upload — approve or + reject each (Azerion Gaming: 72 approved). +- **Why:** Publishers don't want unreviewed ads on their sites. Example: a + buyer syncs a 300x250 banner; it sits "pending" here until a human (or an + auto-approval rule, see Policies) passes it; only then does it go to the ad + server. +- **GAM today:** The queue itself is our own database. After approval, the + GAM adapter uploads the file to GAM and binds it to the right line items + (GAM calls that binding a "LICA"). +- **Improve Digital needs:** The queue works unchanged. The upload step is + the known gap **G1**: Improve's v3 API has *no creative-upload endpoint* + (creatives on "Classic" campaigns are made in their UI; on Universal Deals + the buyer's DSP holds the creatives). Start = Universal Deals, where no + upload is needed; ask Improve if a programmatic upload API exists for + Classic. + +### 1.7 Workflows + +- **What:** The task inbox: active media buys, pending human tasks, total + active spend. +- **Why:** Some steps deliberately wait for a human — e.g. "Require manual + approval for order activation" (see Policies) parks each new buy here until + someone clicks approve. +- **GAM today / Improve Digital needs:** Fully generic. Our adapter just + creates the same kind of approval tasks where needed (e.g. for anything the + Improve API can't do automatically). + +### 1.8 Reports + +- **What:** Delivery analytics: impressions, spend, CPM, by advertiser / + country / ad unit / order / line item, with export. +- **Why:** Publishers reconcile revenue and debug delivery here. Example: + "which country did that campaign actually deliver in?" +- **GAM today:** ⚠️ The page is titled **"GAM Reporting"** and is built + directly on GAM's report service — GAM-only dimensions, GAM-only backend. +- **Improve Digital needs:** On an Improve tenant this tab would be + broken/empty. We must build an Improve reporting view (Improve's Report API + gives campaign / line item / placement / country / day / hour dimensions and + impressions / clicks / spend / video metrics) or generalize the tab. Biggest + UI work item (plan item **H1**). + +--- + +## 2. Settings side tabs (one-time setup & access) + +### 2.1 Account 🏢 + +- **What:** Organization name, fixed subdomain, favicon/branding, optional + custom domain, and access control (which email domains/addresses may log + in). +- **Why:** Identity and door policy. The custom domain matters more than it + looks: it becomes your **public agent URL** — the address publishers must + list to authorize you (see Publishers, §3.1). +- **GAM / Improve Digital:** Fully adapter-agnostic. Nothing to build. + +### 2.2 Setup Checklist ✅ + +- **What:** A guided to-do list (Critical / Recommended / Optional) with a + progress bar. "You're Ready to Take Orders!" appears when critical items are + green. +- **Why:** It encodes the dependency chain for going live: connect ad server → + sync inventory → create products → set a default advertiser → get a + publisher to authorize you. +- **GAM today:** Includes GAM-specific items: **"GAM Default Advertiser"** + (where unmatched buyer traffic books to) and **"GAM Advertiser Create + Permission"** (proof the credential can create advertiser records). +- **Improve Digital needs:** Equivalent checklist entries for the Improve + flavor — e.g. "default buying entity (DSP) + seat configured" instead of + "default GAM advertiser" (part of plan item **H2**). + +### 2.3 Users & Access 👥 + +- **What:** SSO configuration (Google/Microsoft/custom OIDC), allowed email + domains, individual users, and a "Setup Mode" switch that permits test + credentials until SSO is ready. +- **Why:** Controls who can administer the tenant. +- **GAM / Improve Digital:** Fully adapter-agnostic. + +### 2.4 Ad Server 🖥️ — *the adapter's home* + +- **What:** Pick your ad serving platform (cards: Mock, **Google Ad Manager**, + Broadstreet, FreeWheel, SpringServe) and fill in its connection details. +- **Why:** This is the single decision that wires a tenant to a real ad + platform. Everything downstream (inventory, products, orders, reports) + flows through this connection. +- **GAM today, decoded:** + - **Service account** (recommended): the platform creates a robot Google + identity (e.g. `adcp-sales-tenant-azerion-gami@…iam.gserviceaccount.com`). + A GAM admin adds that email inside GAM (*Admin → Access & authorization → + Users*) with the **Trafficker** role — "allowed to create and edit + orders". No passwords are exchanged; GAM simply trusts that email. + - **Network code** (e.g. `1015413`): the ID of which GAM network (which + publisher account) to talk to. + - **Test Connection**: does a harmless read to prove the setup works. +- **Improve Digital needs:** A new **"Improve Digital" card** plus a much + simpler form — Improve uses **OAuth2 client credentials**: a Client ID + + Client Secret (issued by Improve's team) that we exchange for a short-lived + token on every session. Form fields: client ID, client secret, default + currency/timezone, default buying entity (DSP) + seat. Plus a + test-connection endpoint. (Plan Phases 4–6.) + +### 2.5 Buyer Agents 👥 + +- **What:** The registered buyer principals — each row = one buyer agent with + an ID, an **access token** (its password for calling our MCP/A2A API), and a + **platform mapping**. +- **Why:** Two jobs: authentication (the token) and identity translation (the + mapping). Example: Azerion Gaming has one principal, "Improve Digital + Marketplace", mapped to `GAM: 5104261184` — every order that buyer places is + booked in GAM under advertiser company #5104261184, so GAM's own reports + group its spend correctly. +- **GAM today:** Mapping = a GAM **advertiser (company) ID**. Fine-grained + routing has moved to the Buyer Routing page (§3.5). +- **Improve Digital needs:** An `improvedigital` mapping type holding the + marketplace buyer identity: **buying entity ID (the DSP)** + **seat IDs** + + **advertiser UUID** — the fields our adapter writes into each Unified Deal. + Principal create/edit forms need these fields (plan item **H2**). + +### 2.6 Danger Zone ⚠️ + +- **What:** "Deactivate Sales Agent" — stops all buys and API access, hides + the tenant, preserves data (support can reactivate). Type-to-confirm. +- **GAM / Improve Digital:** Adapter-agnostic. Nothing to build. + +--- + +## 3. Configure dropdown (operator tools) + +### 3.1 Publishers + +- **What:** Your publisher partnerships. Shows your **agent URL** and the list + of publisher sites, each verified against the publisher's `adagents.json`. +- **Why:** Anti-impersonation. Anyone could claim "I sell spel.nl inventory" — + so the *publisher* proves it by hosting a tiny public file + (`adagents.json`) on their site listing which sales-agent URLs may sell + their inventory. Buyers check that file before trusting you. Example: + spel.nl shows "Pending" with a *"Send AAO link to publisher"* action — the + publisher hasn't added the file yet. +- **GAM / Improve Digital:** Fully adapter-agnostic (it's an AdCP-protocol + thing, not an ad-server thing). + +### 3.2 Browse inventory + +- **What:** Titled **"GAM Inventory Browser"** — search and inspect everything + the sync pulled from GAM: the **ad-unit tree** (the folder-like hierarchy of + slots), placements, labels; with sync status and Sync All / Selective + buttons. +- **Why:** Operators need to see what's actually available before building + bundles/products, and to check "did the sync work?". +- **Improve Digital needs:** An Improve browse view (or a generalized page) + showing our synced **placements** (with publisher, size, placement type, + seller type) and **packages**. GAM-hardcoded today (plan item **H4**). + +### 3.3 Targeting criteria + +- **What:** A browser for synced GAM targeting data: **custom targeting keys** + (labels like `AGE`, `cat` that publishers attach to ad requests), **audience + segments**, **labels** — plus the **AXE key mapping** (choose which three GAM + keys carry AdCP audience-targeting include/exclude/macro values). +- **Why:** So orders can carry audience targeting. Example: if AXE's + "include" key is mapped to GAM key `axe_inc`, a buyer's audience choice + becomes `axe_inc=segment123` targeting on the GAM line item. +- **Improve Digital needs:** The concepts map to Improve's **key-value + targeting** (searchable keys/values per publisher) and **segments** + (DMP/contextual). An Improve version of this browser is follow-up scope + (plan items **H3/H4**). + +### 3.4 Sync inventory + +- **What:** The sync control room: **Incremental Sync** (fetch changes), + **Full Reset** (wipe and re-fetch), **Sync Targeting Data** (keys, segments, + labels *from GAM*), with status and quick stats. +- **Why:** The local inventory cache is what powers every picker and bundle + page; this is where you refresh it or fix it when it's stale. +- **Improve Digital needs:** Our `run_inventory_sync` (placements/packages/ + sizes via Improve's placement-search API) runs automatically on the shared + scheduler; this page's buttons should trigger it too — via the + `sync-inventory` admin endpoint from plan Phase 6. Page copy/wiring is + GAM-specific today (plan item **H4**). + +### 3.5 Buyer routing + +- **What:** Rules deciding **which advertiser account each buyer's order books + under**. A default ("Default GAM advertiser") catches everything unmatched; + rules match (agent, operator, brand) triples, most-specific wins; an + advertiser table syncs "from GAM"; "Recent activity" shows real traffic with + a **Promote ↑** button to turn a seen combination into a rule. +- **Why:** One buyer agent often carries many brands. Booking Nike's and + Adidas's orders under the right advertiser records keeps the publisher's + ad-server reporting and billing clean. Example: everything defaults to + advertiser `5104261184`; when Nike traffic appears in Recent activity, you + "promote" it to a rule pointing at a dedicated Nike advertiser record. +- **GAM today:** Entirely GAM-worded and GAM-backed (advertiser list synced + from GAM's company records; auto-creation of missing advertisers is also + GAM-only). +- **Improve Digital needs:** The same *idea* re-targeted: route each (agent, + operator, brand) to an Improve **buying entity (DSP) + seat + advertiser + UUID**, with a default for unmatched traffic. This is the core of plan item + **H2**. + +### 3.6 Policies & Workflows + +- **What:** House rules: **Budget controls** per currency (min/max per + package), **brand manifest policy**, **naming conventions** (templates like + `Nike - PO-12345 - Oct 7-14, 2025` for order/line-item names), **measurement + providers**, **approval workflow** (manual approval on/off), **creative + review mode**, **advertising policy** (AI brief screening), **AI product + ranking**. +- **Why:** Guardrails. Example: "Max daily package spend €10" stops a buyer + from accidentally booking €10,000/day; "require manual approval" routes + every new order through the Workflows inbox first. +- **GAM today:** Mostly generic, with two GAM touches: the currency list is + "enabled in your **GAM network**", and the naming templates are written to + GAM order/line-item names. +- **Improve Digital needs:** Currencies validate against Improve's supported + set (EUR, USD, GBP + 12 more); naming templates apply to Improve + campaign/line-item names. Small wiring, no new UI. + +### 3.7 Integrations + +- **What:** Slack webhooks (task + audit notifications), AI services (API key, + model choice, optional Logfire), Creative Agents, Signals Discovery Agents. +- **GAM / Improve Digital:** Fully adapter-agnostic. + +### 3.8 Signing keys + +- **What:** Generate an Ed25519 keypair; publish the public half at + `https:///.well-known/jwks.json` so receivers can verify your + **webhook signatures** (proof that "campaign delivered" pings really came + from you). +- **GAM / Improve Digital:** Fully adapter-agnostic. + +### 3.9 Tenant Settings + +Shortcut back to the Settings side tabs (§2). + +--- + +## 4. Cheat sheet — where the Improve Digital work is + +| Surface | Verdict | Work | +|---|---|---| +| Dashboard, Workflows, Creatives queue, Publishers, Integrations, Signing keys, Account, Users, Danger Zone | ✅ Generic | None — works once adapter data flows | +| Ad Server tab | 🔨 Core build | Improve card + client-ID/secret form + test connection (Phases 4–6) | +| Products | 🔨 Core build | Product-config form with placement/package pickers (Phase 5) | +| Media Buys | 🔨 Core build | Deal create/status/update via Unified Deals API (Phase 1) | +| Inventory bundles / Browse / Sync / Targeting criteria | ⚠️ GAM-hardcoded | Improve views or generalization (**H3/H4**) | +| Reports | ⚠️ GAM-hardcoded | Improve reporting view from Report API (**H1**) | +| Buyer Agents + Buyer routing + checklist advertiser items | ⚠️ GAM-hardcoded | Buying-entity/seat/advertiser routing for Improve (**H2**) | +| GAM order import (`Order-…` rows) | 💡 Optional | Improve deal-import projection if wanted (**H5**) | + +**Also needed, not on any screen:** OAuth2 client credentials from the Improve +Digital team (blocker **B2**) — without them nothing can be tested. diff --git a/docs/adapters/improvedigital/INTEGRATION_PLAN.md b/docs/adapters/improvedigital/INTEGRATION_PLAN.md new file mode 100644 index 0000000000..ab74c5cba9 --- /dev/null +++ b/docs/adapters/improvedigital/INTEGRATION_PLAN.md @@ -0,0 +1,556 @@ +# Improve Digital Adapter — Integration Plan + +Goal: add an `improvedigital` ad-server adapter with **full parity with GAM across every +MCP/A2A tool** — media buy creation, update, delivery metrics, inventory, syncing, +creatives, and performance feedback. + +| | | +|---|---| +| **Canonical adapter key** | `improvedigital` | +| **Platform** | Improve Digital 360 Polaris / 360Yield SSP curation marketplace (Azerion) | +| **Primary API doc** | [Marketplace API V3 (Confluence)](https://azerion-advertising.atlassian.net/wiki/spaces/imp/pages/828964865/Marketplace+API+V3) ✅ read (PDF export) | +| **Auth doc** | [Client Authentication (Confluence)](https://azerion-advertising.atlassian.net/wiki/spaces/imp/pages/459317/Client+Authentication) ✅ read | +| **Reporting doc** | [Improve Marketplace Report API (Confluence)](https://azerion-advertising.atlassian.net/wiki/spaces/imp/pages/828997633/Improve+Marketplace+Report+API) ✅ read | +| **API base URL** | `https://api.360yield.com` — v3 endpoints prefixed `/rtb/v3/`; Report API at `/report`; OAuth at `/oauth/token` | +| **OpenAPI spec** | (behind login — grab JSON export during Phase 0 probe) | +| **Auth** | OAuth2 `client_credentials` → short-lived bearer token, **no refresh token** (re-mint on expiry/401); optional `DELETE /oauth/logout/{token}` | +| **Reference implementation** | FreeWheel adapter (`src/adapters/freewheel/`) — the modern, clean template. Borrow GAM's manager decomposition only if needed. | +| **Playbook** | `docs/adapters/adding-a-new-adapter.md` | + +--- + +## Marketplace API V3 — key facts (from the docs) + +### Auth (`Client Authentication` page) + +- `POST https://api.360yield.com/oauth/token`, body `grant_type=client_credentials`, + credentials via `Authorization: Basic base64(client_id:client_secret)` (or form data). +- Response: `{"value": "", "expiresIn": , "tokenType": "bearer", "refreshToken": null, ...}` + — example lifetime was ~11 minutes. **No refresh token**: on expiry the API returns + 401 and the client must mint a new token (exactly the FW `_transport.py` + refresh-on-401 pattern). +- All other calls: `Authorization: Bearer `, `Content-Type/Accept: application/json`. + +### Domain model & conventions + +- **Campaign** = top-level container: buyer, currency, flight dates, budget. + **Line Item** = execution unit: bid price, targeting, inventory selection, frequency + capping, delivery goal (`BUDGET` | `IMPRESSION`). +- **Unified Deal (v3)** = campaign + line item created **atomically in one call** — the + recommended creation flow. This maps 1 MediaBuy+Package pair per call. +- **Two buying types**: `Universal Deal (UDID)` — RTB deal-based, buyer bids via a 3rd + party DSP (the primary v3 flow); `Classic (Direct)` — direct campaigns with creatives + hosted/managed by the Improve adserver. +- Pagination: `offset`/`limit`/`sort` + response metadata + (`totalNumberOfElemements`, `contentRange`). Filtering via `params` query map. +- Errors: `ExceptionWrapper` JSON (`type`, `messages[].errorCode/property/description`); + 400 validation, 401 token expired, 403 insufficient permissions. +- Dates ISO 8601. Currencies: EUR, USD, GBP, DKK, SEK, AUD, CZK, HUF, CHF, NOK, SGD, + HKD, MYR, CAD, TRY. Media types: `BANNER, VIDEO, NATIVE, AUDIO, NATIVE_DISPLAY, NATIVE_VIDEO`. + +### Endpoints by adapter concern + +**Media buy lifecycle** +- Create: `POST /rtb/v3/unified-deals` (`UnifiedDealDto`: required `name`, `start_date`; + plus `end_date`, `budget`, `cpm_bid`, `impression_cap`, `media_type`, + `pricing_model_type`, `frequency_interval(_type)`, `buying_entity_id` (DSP), + `buying_entity_office_ids` (buyer seats), `metadata` (advertiser/agency/buyer IDs), + all targeting fields, `placement_ids`/`excluded_placement_ids`/`package_ids`). +- Read: `GET /rtb/v3/unified-deals/{dealId}`; list `GET /rtb/v3/campaigns`, + `GET /rtb/v3/line-items` (fields incl. `status`, `line_item_state`, `active`). +- Update: `PUT /rtb/v3/unified-deals/{dealId}` — **must send `update_mask=`** + (e.g. `update_mask=budget,name`); same fields as create, all optional. +- Pause/resume: `PUT /rtb/v3/campaigns/{campaignId}/line-items/{lineItemId}/status?active={boolean}`. +- Archive (soft delete): `PUT /rtb/v3/campaigns/{campaignId}/archive`, + `.../line-items/{lineItemId}/archive`, `.../creatives/{creativeId}/archive`. + Hard delete: `DELETE /rtb/v3/unified-deals/{dealId}`. +- Config audit: `GET .../line-items/{lineItemId}/applied-targetings`. +- JSON Schemas for payload validation: `GET /schema/rtb/v3/unified-deal-creation` / `unified-deal-update`. + +**Targeting** (consolidated GET|PUT under `/rtb/v3/targeting/campaigns/{campaignId}/line-items/{lineItemId}/`) +- `/time` (day/hour), `/segments` (brand safety, DV, Captify, Azerion Intelligence, DMP + audience, pixel, IAB topics, SDA), `/placement` (platform/media type/sizes, video + format, playback, CTV content objects), `/location` (region/country/state/city + + up to 10 IP ranges — **no postal codes**), `/environment` (language, ISP/carrier, + device types, OS, browser, device models), `/context` (domains/bundles incl. global + lists, URL substrings, key-values). +- Per-line-item extras: `size-targeting`, `isp-targeting`, `url-substring-targeting`, `pg-tag`. +- Lookup endpoints for every dimension under `/common/v1|v2/*` and `/rtb/v1|v2/*` + (countries, regions, geo search, device types/OS/browsers, ISPs, sizes, languages, + IAB topics, video format types, DMP segments, buying types, DSPs + seats, + advertisers, agencies, sales persons). + +**Inventory (buy-side selection)** +- Placement search: `GET /rtb/v3/placements` — filters: `publisher_ids`, `size_ids`, + `iab_categories`, `placement_types`, `video_format_types`, `allow_pg_deals`, + `azerion_owned`, `seller_types` (`PUBLISHER|INTERMEDIARY|BOTH`), `tier_ids`, + free-text `search`, paginated. +- Packages (reusable placement groupings, with lock feature): + `GET /rtb/v3/line-items/{lineItemId}/packages`, `POST /rtb/v3/automatic-packages` + (auto-populate from a forecasting query). +- Line-item placement assignment: `GET /rtb/v3/line-item-placements/{lineItemId}/search`, + `POST .../load`, `PUT .../update|assign-all|unassign-all|complete|clean-up`. +- All placements dump: `GET /rtb/v1/placements`. Publishers per line item: + `GET /rtb/v3/line-items/{id}/targeted-publishers`. + +**Creatives (Classic campaigns only)** +- List: `GET /rtb/v3/classic/campaigns/{campaignId}/creatives` (with + `assigned_line_items` + per-creative impression counts); export `.../creatives-export`. +- VAST validation: `GET /rtb/v3/classic/creatives/validate-vast-url?url={vastUrl}`. +- Archive: `PUT /rtb/v3/campaigns/{campaignId}/creatives/{creativeId}/archive`. +- ⚠️ **No creative create/upload endpoint documented in v3** — see gap G1. + +**Delivery / reporting** +- Real-time trend: `GET /rtb/v3/line-items/{lineItemId}/impression-delivery` — last 6h + from Graphite, ~15 min delay, explicitly **not a source of truth**. +- Definitive: **Report API** at `https://api.360yield.com/report`: + - `POST /report/ext/generation` — async job, `report_type: "EXT_CONSOLIDATE"`, + CSV/Excel, ≤1M rows; body: `date_range` (quick/relative/fixed), `dimensions` + (≤20: `campaign_id`, `line_item_id`, `placement_id`, `day`, `date_hour`, …), + `metrics` (`impressions`, `clicks`, `advertiser_payout` = spend, `ecpm_mkt`, + video events incl. `complete`/quartiles, viewability), `filters` + (`ColumnOperationValueTriplet`, e.g. `campaign_id IN [...]`), `currency_id` (1=EUR, + 2=USD, …), `timezone`, optional `scheduling` (email delivery). + - `GET /report/ext/generation-status/{report_generation_id}` — `ENQUEUED → GENERATING + → UPLOADED…`, `report_download_url` when done. + - `POST /report/ext/preview` — **synchronous, ≤500 rows returned as JSON** — ideal + for `run_reporting_sync` at our scale (per-tenant campaign/line-item rollups fit + easily in 500 rows; fall back to the async CSV job above if a tenant outgrows it). + - `POST /report/allowed-filters` — dimension/filter discovery. + +### Confirmed entity mapping + +| AdCP entity | GAM | Improve Digital (**confirmed**) | +|---|---|---| +| `MediaBuy` | Order | **Campaign** (created via Unified Deal) | +| `Package` | LineItem | **Line Item** (Unified Deal = campaign+LI atomically; extra packages = extra line items on the campaign) | +| `Creative` | Creative + LICA | Classic-campaign creative (list/archive only in v3 — see G1); UDID deals: creatives live in the buyer's DSP | +| Inventory | AdUnit/Placement tree | **Placements** (buy-side search) + **Packages**; taxonomy: publisher → site → placement (+ sizes, placement types, tiers) | +| Delivery metrics | ReportService | **Report API** `EXT_CONSOLIDATE` (+ real-time `impression-delivery` for trends) | +| Advertiser | Company | `metadata.advertiser_uuid` / `/api/metadata-advertisers` lookup; buyer = `marketplace_buyer` / `buying_entity` (DSP + seat) | +| Targeting | GAM targeting tree | 6 consolidated targeting DTOs per line item | + +--- + +## Blockers & open gaps + +- [x] ~~**B1 — API doc access.**~~ **Resolved** — all three Confluence pages exported to + PDF and read (Marketplace API V3, Client Authentication, Report API). Text + extracts worth committing to `docs/adapters/improvedigital/api-doc/` for future + sessions. +- [ ] **B2 — API credentials.** Need an OAuth2 client ID + secret ("issued to each + customer, one for each client application" — request via the platform team) with + roles covering: unified-deal read/write, placement search, Report API + (needs "an active Polaris user with the necessary permissions"). Confirm whether + a staging/sandbox environment exists. Also grab the OpenAPI JSON from + once we have a login. +- [x] ~~**G1 — Creative upload has no documented v3 endpoint.**~~ **Resolved via the + OpenAPI spec** (committed at `api-doc/rtb-v3-openapi.json`): the **v1 Classic + surface has full creative CRUD** — `POST /rtb/v1/classic/campaigns/{id}/creatives` + (JSON `CreativeDto`; required: `name`, `type`, `size`, `status`, `tag`), bulk + upload (`.../creatives/bulk-upload`, third-party-tag variant), per-creative + GET/PUT/DELETE, `PUT .../creatives/{id}/status?activate=`, and line-item binding + via `PUT .../line-items/{id}/creatives` (`LineItemCreativesDto` with weights). +- [ ] **G2 — `pricing_model_type` allowed values not enumerated** in the doc (plain + "string"). Probe `GET /common/v2/buying-types` + the unified-deal JSON schema + (`GET /schema/rtb/v3/unified-deal-creation`) and confirm with the platform team. + Working assumption: CPM (deals are `cpm_bid`-driven; CPC exists — "BUDGET is + default for CPC line items"). +- [x] ~~**G3 — UDID vs Classic strategy.**~~ **Decided (2026-07-27): Classic first.** + Phase 1 targets Classic (direct) campaigns — the Improve adserver hosts and + serves our creatives (`/rtb/v1/classic/*`: campaign → line items → creatives, + placement assignment via `/rtb/v2/classic/.../placements/assign`). Buyer + principal identity = `advertiser_id` platform mapping (like GAM), plus a + tenant-level `improve_demand_contact_id` (required on every `CampaignDto`). + UDID unified deals become a later milestone. + +--- + +## GAM-hardcoded admin surfaces (found by walking a live GAM tenant) + +Findings from a UI walk of a fully-configured GAM tenant +(`tenant_azerion_gaming` on sales-agent.yieldpro.improvedigital.com, 2026-07-24): +several admin surfaces are **not** adapter-generic. The adding-a-new-adapter +playbook doesn't cover these — they are extra scope for full parity, roughly in +descending impact: + +- [ ] **H1 — Reports tab is GAM-only.** `/tenant//reporting` renders + `templates/gam_reporting.html` backed by `src/adapters/gam_reporting_api.py` + (page title "GAM Reporting", dimensions Advertiser/Country/Ad Unit/Order/Line + Item). On an Improve Digital tenant this tab is broken/empty. Build an + Improve Digital reporting view (dimensions from Report API `EXT_CONSOLIDATE`: + campaign, line item, placement, country, day/hour; metrics: impressions, + clicks, `advertiser_payout`, video events) registered via the adapter's + `register_ui_routes()` — or genericize the Reports tab to dispatch per + adapter. **Without this, "Reports" shows nothing for Improve tenants.** +- [ ] **H2 — Buyer Routing + "GAM Default Advertiser" are GAM-hardcoded.** The + Buyer Routing page (canonical place for buyer → advertiser mapping), the + setup-checklist items "GAM Default Advertiser" / "GAM Advertiser Create + Permission", and the advertiser auto-provision path + (`accounts.py`, gated on `tenant_ad_server == "google_ad_manager"`) all + assume GAM. Improve equivalent: default + per-buyer identity = + `buying_entity_id` (DSP) + `buying_entity_office_ids` (seat) + + `metadata.advertiser_uuid`; principal platform-mapping type + `improvedigital`; principal create/edit form fields; checklist provider + entries for the Improve flavor. +- [ ] **H3 — Signals page is fed by GAM entity types.** `/tenant//signals/` + lists synced `audience_segment` and `custom_targeting_key`/values from the + GAM inventory cache ("Map this segment", "Show values"). For parity, extend + the Improve inventory sync (Phase 2) with extra entity types: DMP segments + (`GET /dmp/v2/dmp-segments`), contextual segments + (`/rtb/v1/contextual-segments`, Azerion Intelligence lookups), and key-value + targeting keys/values (`GET /rtb/v3/keys`, `GET /rtb/v3/values`). Decide + whether this ships in M1 (sync) or as a follow-up — Signals is not + order-blocking. +- [ ] **H4 — Inventory browse/sync/targeting pages are GAM pages (confirmed).** + A Configure-menu walk confirms all three inventory operator pages are + GAM-specific, not just GAM-flavored: `/inventory/browse` is titled "GAM + Inventory Browser" (entity types Ad Units/Placements/Labels, ad-unit + hierarchy tree), `/inventory` (Sync Inventory) says "Sync custom targeting + keys, audience segments, and labels from GAM", and `/targeting` (Targeting + Criteria Browser) is GAM custom-targeting keys + audience segments + labels + + AXE key mapping. The bundles page (`/inventory-profiles/`) is generic-ish + but counts GAM entity types. Improve Digital needs its own + browse/sync/targeting views over placements/packages/sizes (or these pages + generalized to adapter entity types) — the admin sync trigger endpoints in + Phase 6 cover the API side, but the operator UI is extra scope. +- [ ] **H5 — (Optional) Marketplace deal-import projection.** GAM tenants show + imported orders (`Order-` rows) via `src/core/tools/_gam_projection.py` + (`source='gam_import'`). If operators want pre-existing Improve Marketplace + deals visible in `get_media_buys`/Media Buys UI, an analogous + `improvedigital_import` projection is needed. Degrades gracefully if + skipped — new-deal flows are unaffected. + +--- + +## What we have vs. what we need + +### Already in the codebase (nothing to build) + +- **Adapter framework** — `src/adapters/base.py`: `AdServerAdapter` ABC, + `AdapterCapabilities`, `TargetingCapabilities`, `BaseConnectionConfig` / + `BaseProductConfig`, sync-result plumbing (`AdapterSyncResult` → `sync_jobs` table), + `DeliveryDataUnavailable`, and reusable helpers (`_build_package_responses`, + `_aggregate_stat_rows_to_delivery_response`, `_empty_delivery_response`, + `_wrap_sync_run`, `_resolve_pricing_rate`). +- **Tool layer is adapter-agnostic** — all 10 wire tools route + `core/platforms/_delegate.py` → `src/core/tools/*_impl` → `get_adapter()`. No tool + changes needed; we only implement the adapter interface and register it. +- **Shared background schedulers** — `src/services/adapter_sync_scheduler.py` + + `adapter_sync_orchestration.py` run `run_inventory_sync` / `run_reporting_sync` + automatically based on capability flags. `delivery_webhook_scheduler.py` polls + `get_media_buy_delivery` for webhooks. No new scheduler needed. +- **Generic adapter persistence path** — FreeWheel-style `connection_config_class` + persisted through `config_json` (no new `AdapterConfig` columns; do NOT copy GAM's + legacy per-column approach). +- **Admin UI framework** — picker card + per-adapter `connection_config.html` / + `product_config.html` convention, generic capabilities endpoint in + `src/admin/blueprints/adapters.py`, `/admin/scheduling` freshness page. +- **HITL workflow support** — manual-approval steps for anything the API can't do + (GAM `workflow.py` precedent, `manual_approval_required` on connection config). + +### To build (the adapter itself) + +Everything under "Phases" below: the `src/adapters/improvedigital/` package, two DB +cache tables + repositories + migrations, registration in 3 places, two UI templates + +picker card, 3 admin endpoints, tests, docs, regenerated OpenAPI. + +### Required adapter surface for full MCP-tool parity (tool-layer trace × API doc) + +| MCP/A2A tool | Adapter methods it needs | Improve Digital implementation | +|---|---|---| +| `get_products` | `get_supported_pricing_models`, `default_channels` | CPM (+CPC?) — pending G2; channels: display, olv, audio, native (from media types) | +| `create_media_buy` | `validate_media_buy_request`, `create_media_buy`, `add_creative_assets`, `associate_creatives` | `POST /rtb/v3/unified-deals` per package (+ placement/package assignment); creatives: G1 (UDID → not-supported/HITL) | +| `update_media_buy` | `update_media_buy` — actions `pause_media_buy`, `resume_media_buy`, `pause_package`, `resume_package`, `update_package_budget`, generic `update` | pause/resume → `PUT .../line-items/{id}/status?active=false|true` (campaign-level = all its line items); budget/dates → `PUT /rtb/v3/unified-deals/{id}` with `update_mask=` | +| `get_media_buys` (list) | `get_packages_snapshot` (gated by `supports_realtime_reporting`) | Reporting cache (Phase 3); optionally freshen from `GET /rtb/v3/line-items/{id}/impression-delivery` | +| `get_media_buy_delivery` | `get_media_buy_delivery` | Aggregate reporting cache (fed by Report API) | +| `sync_creatives` | none (DB-only) | — | +| `list_creatives` / `list_creative_formats` | none (DB/config-driven) | `formats.py` declares formats from media types + `GET /rtb/v1/sizes-all` | +| `provide_performance_feedback` | `update_media_buy_performance_index` | No platform equivalent → store locally (GAM pattern) | +| `get_signals` | none (operator config) | Future: DMP segments (`/dmp/v2/dmp-segments`) + contextual segments as signals | +| Background jobs | `run_inventory_sync`, `run_reporting_sync`, `latest_*_sync_at` + capability flags | Placement search sweep; Report API preview/generation | +| Ops/UI | `check_permissions`, `get_available_inventory`, `check_media_buy_status`, `get_targeting_capabilities`, `get_creative_formats`, `validate_product_config` | token mint + probe reads; placement cache; `GET /rtb/v3/unified-deals/{id}` status | + +--- + +## Phase 0 — Discovery ⚠️ gate for implementation + +- [x] Obtain + read the Marketplace API V3 doc, Client Authentication, Report API docs. +- [x] Record REST style, pagination, token flow, error format, entity mapping (see + "Key facts" above). +- [ ] Resolve **B2**: get client credentials (+ Polaris user for Report API), confirm + sandbox story, download the OpenAPI JSON from openapi.360yield.com. +- [ ] Probe script (scratchpad) against every endpoint above — classify `200`/`403`/`404` + per entity (FW pattern). Especially: unified-deal create/update/delete, + placement search, Report API preview. +- [ ] Resolve **G2** (pricing models) via `GET /common/v2/buying-types` + JSON schema + + platform team. +- [ ] Resolve **G1/G3** (creatives; UDID vs Classic) with product + Improve team. +- [ ] Get the entity mapping sanity-checked by the Improve Digital platform team. +- [ ] Confirm targeting dimensions to expose in v1 of `targeting.py` (geo country/ + region/city ✅, device ✅, day/hour ✅, domain/bundle ✅, key-value ✅; **no postal + codes** → `TargetingCapabilities(postal_supported=False)` and hard-reject). +- [ ] Document every scope blocker in `docs/adapters/improvedigital/README.md` + ("Scope grants still needed"), tiered by what they unblock. +- [ ] Save probe findings as `.claude/research/improvedigital-api.md`; commit doc + text extracts under `docs/adapters/improvedigital/api-doc/`. + +## Phase 1 — Adapter package scaffolding (`src/adapters/improvedigital/`) + +- [ ] `__init__.py` — export `ImproveDigitalAdapter`, `ImproveDigitalConnectionConfig`, + `ImproveDigitalProductConfig`, error classes. +- [ ] `_transport.py` — OAuth2 client-credentials transport: + `POST /oauth/token` with Basic auth, cache token until `expiresIn`, **re-mint on + 401** (no refresh token), retry/backoff, JSON handling, `DELETE + /oauth/logout/{token}` on close (best-effort), `ExceptionWrapper` → typed errors. +- [ ] `schemas.py` — `ImproveDigitalConnectionConfig(BaseConnectionConfig)`: + `client_id`, `client_secret` (Fernet-encrypted via `@field_serializer`, FW + pattern), optional `api_base_url` override, default `buying_entity_id` + + `buying_entity_office_ids` (UDID), default `currency`, `timezone`. + `ImproveDigitalProductConfig(BaseProductConfig)`: `placement_ids`, + `package_ids`, `size_ids`, `media_type`, placement-search filter defaults + (`azerion_owned`, `seller_types`, `iab_categories`), pricing defaults, + targeting template. +- [ ] `client.py` — facade composing sub-clients: `deals` (unified deals, campaigns, + line items, status/archive), `inventory` (placement search, packages, line-item + placements), `lookups` (sizes, geo, devices, DSPs/seats, advertisers), + `reporting` (Report API generation/status/preview), `creatives` (list/VAST + validate/archive — Classic only). +- [ ] `entities.py` — Pydantic/dataclass models (`UnifiedDealDto`, + `CommonDealLineItemDto`, placement, report rows, pagination envelope). +- [ ] `adapter.py` — `ImproveDigitalAdapter(AdServerAdapter)`: + - [ ] `adapter_name = "improvedigital"`, `default_channels = ["display", "olv", "audio", "native"]`, + `default_delivery_measurement = {"provider": "improvedigital"}` + - [ ] `capabilities = AdapterCapabilities(supports_inventory_sync=True, + supports_reporting_sync=True, supports_realtime_reporting=True, + supports_custom_targeting=True, supports_geo_targeting=True, + inventory_entity_label="placement", supported_pricing_models=[...G2])` + - [ ] `__init__` — resolve principal (buyer/DSP/seat mapping), connection config, auth + - [ ] `validate_media_buy_request`, `create_media_buy` — one unified deal per + package; assign placements/packages; apply targeting overlays + - [ ] `update_media_buy` — **all 5 action strings** + generic update (`update_mask`!) + - [ ] `add_creative_assets`, `associate_creatives`, `process_assets` — per G1: + explicit `FeatureNotSupportedException` or HITL for UDID v1 + - [ ] `check_media_buy_status` — `GET /rtb/v3/unified-deals/{id}` → map + `status`/`line_item_state`/`active` + - [ ] `get_media_buy_delivery`, `get_packages_snapshot` (cache reads, Phase 3) + - [ ] `update_media_buy_performance_index` (local store) + - [ ] `get_supported_pricing_models`, `get_pricing_option_support`, + `get_targeting_capabilities` (postal=False), `get_creative_formats` + - [ ] `get_available_inventory` (async; from placement cache) + - [ ] `check_permissions` — token mint + probe reads per scope + - [ ] `validate_product_config`, `latest_inventory_sync_at`, `latest_reporting_sync_at` +- [ ] `targeting.py` — AdCP `Targeting` overlay → the 6 consolidated targeting DTOs + (geo→`LocationTargetingDto`, device/os/browser→`EnvironmentTargetingDto`, + dayparting→time, key-value/domains→`ContextTargetingDto`, media/size/video→ + placement DTO, audience/contextual→segments DTO). `validate_targeting()` rejects + unsupported dims (postal!) explicitly. +- [ ] `formats.py` — `Format` declarations for BANNER (sizes from `/rtb/v1/sizes-all`), + VIDEO (pre/mid/post-roll via video format types), AUDIO, NATIVE. + +## Phase 2 — Inventory cache + sync + +- [ ] Alembic migration `improvedigital_inventory`: PK `(tenant_id, entity_type, + entity_id)`, `name`, `parent_id`, `raw_json` (JSONType), `last_synced_at`. + Entity types: `publisher`, `placement`, `package`, `size`, `placement_type`. + Check `uv run alembic heads` after rebase. +- [ ] ORM model `ImproveDigitalInventory` in `src/core/database/models.py` + (cascade-delete on tenant). +- [ ] Repository `src/core/database/repositories/improvedigital_inventory.py` — + tenant-scoped reads + `ON CONFLICT DO UPDATE` bulk upsert (all ORM access goes + through it; enforced by `test_architecture_no_raw_select`). +- [ ] `inventory_sync.py` — paginated sweep of `GET /rtb/v3/placements` (+ sizes + + placement types + packages lookups), return `AdapterSyncResult` per-entity + counts + errors; wire as `run_inventory_sync` via `_wrap_sync_run` so the shared + scheduler picks it up. Respect the doc's pagination metadata; JSON IDs → cast + to the right type at the boundary. +- [ ] Signals-feeding entity types (DMP segments, contextual segments, key-value + keys/values) — see **H3**; decide M1 vs follow-up. +- [ ] Verify bundle/browse pages pick up our entity types — see **H4**. + +## Phase 3 — Reporting cache + delivery read path + +- [ ] Alembic migration `improvedigital_line_item_stats`: per line item `impressions`, + `clicks`, `spend_micros` (from `advertiser_payout`, micros — not floats), + `video_completions` (from `complete`), `currency`, `delivery_status`, `as_of`, + `last_synced_at`. +- [ ] ORM model + repository with `get_by_line_item_ids`, `list_by_campaign`, + `bulk_upsert`. +- [ ] `reporting_sync.py` — `run_reporting_sync`: `POST /report/ext/preview` + (synchronous JSON, ≤500 rows) with dimensions `campaign_id, line_item_id`, + metrics `impressions, clicks, advertiser_payout, complete`, filter + `campaign_id IN ()`, date range covering active flights; + fall back to the async `POST /report/ext/generation` → poll + `generation-status/{id}` → download CSV if a tenant exceeds 500 rows. +- [ ] `get_packages_snapshot()` — read cache, `None` for missing rows (never + fabricate); map status → AdCP `DeliveryStatus` (6 values; **no `paused`** — + inactive line item → `not_delivering`). +- [ ] `get_media_buy_delivery()` — aggregate cache rows via + `_aggregate_stat_rows_to_delivery_response`; empty cache → + `_empty_delivery_response`; raise `DeliveryDataUnavailable` only when data can't + exist yet (webhook scheduler then skips instead of sending zeros). +- [ ] Optional (nice-to-have): blend `GET /rtb/v3/line-items/{id}/impression-delivery` + into `get_packages_snapshot` for fresher trend data — but never as source of + truth (the doc is explicit about this). +- [ ] Admin **Reports tab** for Improve Digital tenants — see **H1** (the current + page is GAM-only). + +## Phase 4 — Registration (3 places — miss one and it's unreachable) + +- [ ] `src/adapters/__init__.py` — `ADAPTER_REGISTRY["improvedigital"] = ImproveDigitalAdapter`. +- [ ] `src/admin/api_schemas/tenant_management.py` — + `ImproveDigitalAdapterConfig(BaseModel)` with `type: Literal["improvedigital"]`, + `SecretStr` for the client secret; add to the `AdapterConfig` discriminated union. +- [ ] `src/admin/tenant_management_api.py` — extend `_adapter_config_to_dict()` + + `_persist_adapter_config()` (round-trip secrets through + `ImproveDigitalConnectionConfig` so Fernet lands in `config_json` — the FW path, + **not** GAM's legacy columns); add `_ADAPTER_CATALOG_METADATA` + + `_ADAPTER_CONFIG_TYPED` entries. + +## Phase 5 — Admin UI + +- [ ] Picker card in `templates/tenant_settings.html` (copy the FreeWheel card block). +- [ ] `templates/adapters/improvedigital/connection_config.html` — client ID/secret, + buying entity (DSP) + seat defaults, currency/timezone; Test Connection button + + status div. +- [ ] `templates/adapters/improvedigital/product_config.html` — placement/package/size + pickers with `data-entity-type`, populated from the inventory query endpoint; + filters for `azerion_owned`/`seller_types`. +- [ ] Buyer identity UI — principal `improvedigital` platform-mapping fields (DSP + + seat + advertiser UUID) in principal create/edit, plus the Buyer Routing / + default-buyer equivalent — see **H2**. +- [ ] All JS uses `const scriptRoot = '{{ request.script_root }}' || '';` — never + hardcode paths. + +## Phase 6 — Admin API endpoints (`src/admin/blueprints/adapters.py`) + +- [ ] `POST /api/tenant//adapters/improvedigital/test-connection` — + mint a token + probe read (e.g. `GET /rtb/v3/campaigns?limit=1`); + `@require_tenant_access(role=("admin",), allow_embedded_writes=True)`; + reject submitted ciphertext on secret fields. +- [ ] `GET /api/tenant//adapters/improvedigital/inventory` — read from the + repository, keyed by `entity_type` query param. +- [ ] `POST /api/tenant//adapters/improvedigital/sync-inventory` — + trigger sync, `role=("admin",)`. + +## Phase 7 — Tests + +- [ ] `tests/unit/test_improvedigital_schemas.py` — config round-trips; secret + encryption (ciphertext serialization, round-trip, no double-encryption). +- [ ] `tests/unit/test_improvedigital_adapter.py` — registry wiring, dry-run, + `__init__` cred validation, pricing models, targeting capabilities, + `get_available_inventory` shape via mocked repository. +- [ ] `tests/unit/test_improvedigital_transport.py` — Basic-auth token mint, bearer + header, retry, **re-mint-on-401** (no refresh token), token-expiry handling + (mock at `requests.Session` level). +- [ ] `tests/unit/test_improvedigital_targeting.py` — every AdCP field → DTO mapping, + every rejection path (postal!). +- [ ] `tests/unit/test_improvedigital_inventory_sync.py` — per-entity counts, error + capture, idempotent upsert, pagination handling (mocked client). +- [ ] `tests/unit/test_improvedigital_reporting_cache.py` — empty-cache `None`/empty + response, populated `Snapshot`/`DeliveryTotals`, status-enum mapping, + preview→cache row translation (incl. `advertiser_payout` → micros). +- [ ] `tests/unit/test_improvedigital_update_media_buy.py` — all 5 action strings + + `update_mask` correctness + `affected_packages` shape. +- [ ] `tests/integration/test_improvedigital_live.py` — `@pytest.mark.live`, gated on + `IMPROVEDIGITAL_TEST_CLIENT_ID/SECRET`; token mint, placement search, report + preview, full unified-deal create→check→pause→delete cycle. +- [ ] Extend `tests/unit/test_tenant_management_schemas.py` — happy path, rejection, + discriminator routing through `ProvisionTenantRequest`. +- [ ] Extend `tests/integration/test_tenant_management_api_integration.py::test_list_adapters_returns_supported_catalog`. +- [ ] Respect quality rules: ≤10 mocks per file; AdCP compliance test if any + client-facing schema changes (`tests/unit/test_adcp_contract.py`). + +## Phase 8 — Documentation + +- [ ] `docs/adapters/improvedigital/README.md` — entity mapping table, auth, capability + matrix, live coverage matrix (✅/🟡/⏳/❌ per method), scope grants still needed + (from probe), constraints (no postal targeting, creative upload gap G1, 500-row + preview limit, 1M-row report cap). +- [ ] Commit API-doc text extracts under `docs/adapters/improvedigital/api-doc/`. +- [ ] Update `docs/adapters/README.md` — "Available Adapters" entry + "Choosing an + Adapter" row. + +## Phase 9 — Machine-readable specs + +- [ ] `make openapi` after the tenant-management schema changes + (`test_committed_openapi_json_matches_live_spec` fails otherwise). +- [ ] No adapter-specific OpenAPI artifacts. + +## Phase 10 — Smoke + quality gates + +- [ ] Apply migrations locally: `docker compose exec adcp-server python scripts/ops/migrate.py`. +- [ ] `make quality` green (format, lint, mypy, unit tests incl. structural guards). +- [ ] `tox -e integration` (repositories, sync, persistence all touch the DB layer). +- [ ] Live smoke vs the real platform: token mint → inventory sync → unified-deal + create→status→pause→resume→budget-update→delete → report preview. +- [ ] Playwright check of the product-config UI: every picker populates from the + synced cache. +- [ ] Restart the container after adding blueprint routes + (`docker compose restart adcp-server`) — uvicorn caches imports. + +## Phase 11 — Ship + +- [ ] PR title: `feat(improvedigital): Improve Digital Marketplace API v3 adapter — auth, inventory sync, unified deals, reporting`. +- [ ] Commits reviewable in order: transport/auth → client → inventory sync → adapter + core (unified deals) → targeting → reporting cache → registration/typed config → + UI → tests/docs. +- [ ] PR body: live-coverage matrix + open gaps (G1 creatives, G2 pricing models). +- [ ] Unrelated improvements → separate issues. + +--- + +## Suggested delivery milestones + +1. **M0 — Discovery complete** (Phase 0 remainder): credentials, probe results, G1–G3 + decisions, OpenAPI JSON. *Implementation is gated on this.* +2. **M1 — Read path**: transport + client + inventory (placement) sync + cache + admin + inventory endpoints + connection UI. Independently shippable; immediately useful + for product configuration. +3. **M2 — Buy path**: unified-deal create/update/status, targeting translation, + placement assignment, buyer-identity mapping (**H2**). +4. **M3 — Delivery**: Report API sync + delivery read path + webhook-scheduler + compatibility + admin Reports view for Improve tenants (**H1**). +5. **M4 — Polish & ship**: registration, typed embedder config, tests, docs, OpenAPI, + live smoke. Signals entity sync (**H3**) and deal-import projection (**H5**) can + trail as follow-ups. + +## Quick file checklist + +| File | What | +|---|---| +| `src/adapters/improvedigital/__init__.py` | Public exports | +| `src/adapters/improvedigital/schemas.py` | ConnectionConfig + ProductConfig | +| `src/adapters/improvedigital/adapter.py` | `ImproveDigitalAdapter` | +| `src/adapters/improvedigital/client.py` | API client facade | +| `src/adapters/improvedigital/_transport.py` | OAuth2 transport (re-mint on 401) | +| `src/adapters/improvedigital/entities.py` | Upstream entity models | +| `src/adapters/improvedigital/targeting.py` | AdCP → 6 targeting DTOs | +| `src/adapters/improvedigital/formats.py` | Format declarations | +| `src/adapters/improvedigital/inventory_sync.py` | Placement/package sweep | +| `src/adapters/improvedigital/reporting_sync.py` | Report API preview/generation sync | +| `src/adapters/__init__.py` | `ADAPTER_REGISTRY` entry | +| `src/admin/api_schemas/tenant_management.py` | Typed config + union | +| `src/admin/tenant_management_api.py` | Persistence + catalog | +| `src/admin/blueprints/adapters.py` | test-connection / inventory / sync endpoints | +| `src/core/database/models.py` | 2 cache-table ORM models | +| `src/core/database/repositories/improvedigital_*.py` | 2 repositories | +| `alembic/versions/_improvedigital_*.py` | 2 migrations | +| `templates/tenant_settings.html` | Picker card | +| `templates/adapters/improvedigital/*.html` | Connection + product config forms | +| `tests/unit/test_improvedigital_*.py` | Unit tests (7 files) | +| `tests/integration/test_improvedigital_live.py` | Live smoke | +| `docs/adapters/improvedigital/README.md` | Adapter doc | +| `docs/adapters/improvedigital/api-doc/` | Committed API-doc extracts | +| `docs/api/tenant-management-openapi.{json,yaml}` | `make openapi` | + +## Reference links + +- [Marketplace API V3 (Confluence)](https://azerion-advertising.atlassian.net/wiki/spaces/imp/pages/828964865/Marketplace+API+V3) +- [Client Authentication (Confluence)](https://azerion-advertising.atlassian.net/wiki/spaces/imp/pages/459317/Client+Authentication) +- [Improve Marketplace Report API (Confluence)](https://azerion-advertising.atlassian.net/wiki/spaces/imp/pages/828997633/Improve+Marketplace+Report+API) +- [OpenAPI spec dashboard](https://openapi.360yield.com/dashboard) (login required) +- [azerion/improvedigital-publisher-mcp-server (public; supply-side Publisher API Swagger)](https://github.com/azerion/improvedigital-publisher-mcp-server) +- Internal playbook: `docs/adapters/adding-a-new-adapter.md` +- Reference adapter: `src/adapters/freewheel/` (PR #381) +- GAM manager decomposition (if needed at scale): `src/adapters/gam/managers/` diff --git a/docs/adapters/improvedigital/api-doc/rtb-v3-openapi.json b/docs/adapters/improvedigital/api-doc/rtb-v3-openapi.json new file mode 100644 index 0000000000..9512001ec5 --- /dev/null +++ b/docs/adapters/improvedigital/api-doc/rtb-v3-openapi.json @@ -0,0 +1 @@ +{"openapi":"3.0.1","info":{"title":"360Yield Marketplace","description":"360Yield Marketplace","version":"v3"},"servers":[{"url":"{custom_server}","variables":{"custom_server":{"default":"http://localhost:8080"}}}],"security":[{"bearer_security":[]}],"paths":{"/ui-grid/settings":{"put":{"tags":["ui-grid-settings-controller"],"operationId":"updateUserGridSettings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPreferenceDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPreferenceDto"}}}}}}},"/rtb/v3/unified-deals/{dealId}":{"get":{"tags":["unified-deal-v-3-controller"],"operationId":"getUnifiedDeal","parameters":[{"name":"dealId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"put":{"tags":["unified-deal-v-3-controller"],"operationId":"updateUnifiedDeal","parameters":[{"name":"dealId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnifiedDealUpdateDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"delete":{"tags":["unified-deal-v-3-controller"],"operationId":"deleteDeal","parameters":[{"name":"dealId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/line-items/{lineItemId}/make-template":{"put":{"tags":["line-item-v-3-controller"],"operationId":"makeTemplateFromLineItem","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateLineItemDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v3/line-items/templates/{id}/update-name":{"put":{"tags":["line-item-v-3-controller"],"operationId":"updateTemplateNameById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateLineItemDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v3/line-item-placements/{lineItemId}/update":{"put":{"tags":["line-item-placement-v-3-controller"],"operationId":"updatePlacementsForLineItem","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemPlacementDocument"}}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/line-item-placements/{lineItemId}/unassign-all":{"put":{"tags":["line-item-placement-v-3-controller"],"operationId":"unassignAllPlacementsForLineItem","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlacementFilterV3Dto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/line-item-placements/{lineItemId}/complete":{"put":{"tags":["line-item-placement-v-3-controller"],"operationId":"completePlacementsForLineItem","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/line-item-placements/{lineItemId}/clean-up":{"put":{"tags":["line-item-placement-v-3-controller"],"operationId":"cleanUpPlacementsForLineItem","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/line-item-placements/{lineItemId}/assign-all":{"put":{"tags":["line-item-placement-v-3-controller"],"operationId":"assignAllPlacementsToLineItem","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlacementFilterV3Dto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/global/domain-bundle":{"put":{"tags":["global-domain-bundle-controller"],"operationId":"updateDomainBundle","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleDto"}}}}}},"post":{"tags":["global-domain-bundle-controller"],"operationId":"createDomainBundle","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleDto"}}}}}}},"/rtb/v3/global/domain-bundle-list":{"put":{"tags":["global-domain-bundle-list-controller"],"operationId":"updateDomainBundleList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleListDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleListDto"}}}}}},"post":{"tags":["global-domain-bundle-list-controller"],"operationId":"createDomainBundleList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleListDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleListDto"}}}}}}},"/rtb/v3/campaigns/{campaignId}/line-items/{lineItemId}/url-substring-targeting":{"get":{"tags":["common-line-item-targeting-url-substring-controller"],"operationId":"getLineItemTargetingUrlSubstringV3","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingUrlSubstringsV3Dto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingUrlSubstringsV3Dto"}}}}}},"put":{"tags":["common-line-item-targeting-url-substring-controller"],"operationId":"updateLineItemTargetingUrlSubstringV3","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingUrlSubstringsV3Dto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingUrlSubstringsV3Dto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingUrlSubstringsV3Dto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingUrlSubstringsV3Dto"}}}}}}},"/rtb/v3/campaigns/{campaignId}/line-items/{lineItemId}/status":{"put":{"tags":["universal-deal-line-item-controller"],"operationId":"updateLineItemStatus","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"active","in":"query","required":true,"schema":{"type":"boolean"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}},"/rtb/v3/campaigns/{campaignId}/line-items/{lineItemId}/size-targeting":{"put":{"tags":["line-item-targeting-size-controller"],"operationId":"updateLineItemTargetingSize","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingSizesDtoV3"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingSizesDto"}}}}}}},"/rtb/v3/campaigns/{campaignId}/line-items/{lineItemId}/pg-tag":{"get":{"tags":["universal-deal-line-item-controller"],"operationId":"getLIPgTagInfo","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PgTaggedPlacementInfoDto"}}}}}},"put":{"tags":["universal-deal-line-item-controller"],"operationId":"generatePGTag","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PgTaggedPlacementInfoDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PgTaggedPlacementInfoDto"}}}}}}},"/rtb/v3/campaigns/{campaignId}/line-items/{lineItemId}/isp-targeting":{"get":{"tags":["common-line-item-isp-targeting-controller"],"operationId":"getLineItemIspTargetingV3","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemIspTargetingV3Dto"}}}}}},"put":{"tags":["common-line-item-isp-targeting-controller"],"operationId":"updateLineItemIspTargetingV3","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemIspTargetingV3Dto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemIspTargetingV3Dto"}}}}}}},"/rtb/v3/campaigns/{campaignId}/line-items/{lineItemId}/archive":{"put":{"tags":["global-archiving-controller"],"operationId":"archiveLineItem","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v3/campaigns/{campaignId}/creatives/{creativeId}/archive":{"put":{"tags":["global-archiving-controller"],"operationId":"archiveCreative","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"creativeId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v3/campaigns/{campaignId}/archive":{"put":{"tags":["global-archiving-controller"],"operationId":"archiveCampaign","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v3/campaigns/metadata/bulk-edit":{"put":{"tags":["campaign-metadata-bulk-edit-controller"],"operationId":"bulkUpdateCampaignMetadata","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignMetadataBulkEditDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v2/packages/{packageId}/placements/unassign":{"put":{"tags":["package-placements-controller"],"operationId":"unAssignAllPackagePlacements","parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/rtb/v2/packages/{packageId}/placements/assign":{"put":{"tags":["package-placements-controller"],"operationId":"assignAllPackagePlacements","parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/rtb/v2/classic/campaigns/{campaignId}/line-items/{lineItemId}/placements/unassign":{"put":{"tags":["classic-line-item-placement-controller"],"operationId":"unassignAllLineItemPlacements","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemPlacementsDto"}}}}}}},"/rtb/v2/classic/campaigns/{campaignId}/line-items/{lineItemId}/placements/assign":{"put":{"tags":["classic-line-item-placement-controller"],"operationId":"assignAllLineItemPlacements","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemPlacementsDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}":{"get":{"tags":["universal-deal-campaign-controller"],"operationId":"getCampaign","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}}}}},"put":{"tags":["universal-deal-campaign-controller"],"operationId":"updateCampaign","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}}}}},"delete":{"tags":["universal-deal-campaign-controller"],"operationId":"deleteCampaign","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineitemId}":{"put":{"tags":["universal-deal-line-item-controller"],"operationId":"updateLineItem","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineItemId}/url-substring-targeting":{"get":{"tags":["common-line-item-targeting-url-substring-controller"],"operationId":"getLineItemTargetingUrlSubstring","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingUrlSubstringDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingUrlSubstringDto"}}}}}},"put":{"tags":["common-line-item-targeting-url-substring-controller"],"operationId":"updateLineItemTargetingUrlSubstring","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingUrlSubstringDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingUrlSubstringDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingUrlSubstringDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingUrlSubstringDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineItemId}/segment-targeting":{"get":{"tags":["line-item-segment-targeting-controller"],"operationId":"getUdLineItemSegmentTargeting","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDmpSegmentTargetingDto"}}}}}},"put":{"tags":["line-item-segment-targeting-controller"],"operationId":"updateUdLineItemSegmentTargeting","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDmpSegmentTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDmpSegmentTargetingDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineItemId}/reactivate":{"put":{"tags":["universal-deal-line-item-controller"],"operationId":"reactivateLineItem","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineItemId}/pixel-targeting":{"get":{"tags":["line-item-pixel-controller"],"operationId":"getUdLineItemPixelTargeting","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPixelTargetingDto"}}}}}},"put":{"tags":["line-item-pixel-controller"],"operationId":"updateUdLineItemPixelTargeting","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPixelTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPixelTargetingDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineItemId}/packages":{"get":{"tags":["universal-deal-line-item-package-controller"],"operationId":"getLineItemPackages","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPackagesDto"}}}}}},"put":{"tags":["universal-deal-line-item-package-controller"],"operationId":"updateLineItemPackages","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPackagesDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemInventoryCountDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineItemId}/packages-unassign-all":{"put":{"tags":["universal-deal-line-item-package-controller"],"operationId":"unassignAllLineItemPackages","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"is_dynamic","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineItemId}/media-type-targeting":{"get":{"tags":["line-item-targeting-media-type-controller"],"operationId":"getLineItemTargetingMediaType","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingMediaTypeDto"}}}}}},"put":{"tags":["line-item-targeting-media-type-controller"],"operationId":"updateLineItemTargetingMediaType","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingMediaTypeDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingMediaTypeDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineItemId}/media-attribute-targeting":{"get":{"tags":["line-item-media-attribute-targeting-controller"],"operationId":"getUdLineItemMediaAttributeTargeting","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemMediaAttributeTargetingDto"}}}}}},"put":{"tags":["line-item-media-attribute-targeting-controller"],"operationId":"updateUdLineItemMediaAttributeTargeting","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemMediaAttributeTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemMediaAttributeTargetingDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineItemId}/key-value-targeting":{"get":{"tags":["line-item-key-value-targeting-controller"],"operationId":"getKeyValues","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LineItemKeysValuesDto"}}}}}},"put":{"tags":["line-item-key-value-targeting-controller"],"operationId":"updateKeyValues","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemKeysValuesDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LineItemKeysValuesDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineItemId}/ip-targeting":{"get":{"tags":["line-item-targeting-ip-address-controller"],"operationId":"getLineItemTargetingIpAddresses","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingIpAddressDto"}}}}}},"put":{"tags":["line-item-targeting-ip-address-controller"],"operationId":"updateLineItemTargetingIpAddresses","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingIpAddressDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingIpAddressDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingIpAddressDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingIpAddressDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineItemId}/domain-targeting":{"get":{"tags":["common-line-item-targeting-domain-controller"],"operationId":"getLineItemTargetingDomain","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingDomainsDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingDomainsDto"}}}}}},"put":{"tags":["common-line-item-targeting-domain-controller"],"operationId":"updateLineItemTargetingDomain","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingDomainsDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingDomainsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingDomainsDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingDomainsDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineItemId}/bundle-id-targeting":{"get":{"tags":["common-line-item-targeting-bundle-id-controller"],"operationId":"getLineItemTargetingBundleId","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingBundleIdDto"}}}}}},"put":{"tags":["common-line-item-targeting-bundle-id-controller"],"operationId":"updateLineItemTargetingBundleId","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingBundleIdDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingBundleIdDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingBundleIdDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingBundleIdDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineItemId}/brand-safety-segments/edit":{"put":{"tags":["line-item-brand-safety-segment-controller"],"operationId":"updateLineItemBranSafetySegments","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBrandSafetySegmentsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBrandSafetySegmentsDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemBrandSafetySegmentsDto"}}}}}}},"/rtb/v2/campaigns/line-items/{lineItemId}/deals-targeting":{"get":{"tags":["common-line-item-targeting-deals-controller"],"operationId":"getLineItemTargetingDeals","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}},"application/xml":{"schema":{"type":"object"}}}}}},"put":{"tags":["common-line-item-targeting-deals-controller"],"operationId":"updateLineItemTargetingDeals","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingDealsDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingDealsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}},"application/xml":{"schema":{"type":"object"}}}}}}},"/rtb/v2/campaigns/line-items/{lineItemId}/deals-targeting-clear":{"put":{"tags":["common-line-item-targeting-deals-controller"],"operationId":"clearLineItemTargetingDeals","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}},"application/xml":{"schema":{"type":"object"}}}}}}},"/rtb/v1/special-field/{id}":{"get":{"tags":["special-field-controller"],"operationId":"getSpecialField","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}},"put":{"tags":["special-field-controller"],"operationId":"updateSpecialField","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecialFieldDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}},"delete":{"tags":["special-field-controller"],"operationId":"deleteSpecialField","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/pixels/{pixelId}":{"get":{"tags":["pixel-controller"],"operationId":"getPixel","parameters":[{"name":"pixelId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PixelDto"}}}}}},"put":{"tags":["pixel-controller"],"operationId":"updatePixel","parameters":[{"name":"pixelId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PixelDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PixelDto"}}}}}},"delete":{"tags":["pixel-controller"],"operationId":"deletePixel","parameters":[{"name":"pixelId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PixelDto"}}}}}}},"/rtb/v1/packages/{packageId}":{"get":{"tags":["package-controller"],"operationId":"getPackage","parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageDto"}}}}}},"put":{"tags":["package-controller"],"operationId":"updatePackage","parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageDto"}}}}}},"delete":{"tags":["package-controller"],"operationId":"deletePackage","parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageDto"}}}}}}},"/rtb/v1/packages/{packageId}/placements":{"get":{"tags":["package-placements-controller"],"operationId":"getPackagePlacements","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"packageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackagePlacementsDto"}}}}}},"put":{"tags":["package-placements-controller"],"operationId":"updatePackage_1","parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackagePlacementsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackagePlacementsDto"}}}}}}},"/rtb/v1/line-items/{lineItemId}/public-report-settings":{"get":{"tags":["line-item-public-report-settings-controller"],"operationId":"getLineItemPublicReportSettingForLineItem","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"put":{"tags":["line-item-public-report-settings-controller"],"operationId":"updateLineItemPublicReportSettingForLineItem","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPublicReportSettingsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v1/line-items/{lineItemId}/ad-pods-targeting":{"get":{"tags":["line-item-ad-pods-targeting-controller"],"operationId":"getLineItemAdPodsTargeting","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}},"put":{"tags":["line-item-ad-pods-targeting-controller"],"operationId":"updateLineItemAdPodsTargeting","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemAdPodsTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/line-items/update-dv360-status":{"put":{"tags":["line-item-controller"],"operationId":"updateDV360ObjectStatusByCSV","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}},"application/json":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/line-items/remove-exposure-limitation":{"put":{"tags":["line-item-controller"],"operationId":"removeExposureLimitationFromLineItems","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/LineItemBulkExposureUpdateDto"}},"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBulkExposureUpdateDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/line-items/inactive-by-csv":{"put":{"tags":["line-item-controller"],"operationId":"deactivateLineItemsByCSV","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}},"application/json":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/line-items/bulk-status-change":{"put":{"tags":["line-item-controller"],"operationId":"bulkStatusChange","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBulkStatusEditDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/line-item-ready-tracker/line-item/{lineItemId}":{"get":{"tags":["line-item-controller"],"operationId":"getReadyStateCheck","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}},"put":{"tags":["line-item-controller"],"operationId":"setReadyStateCheck","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/rtb/v1/hybrid-theory-contextual-segments/{name}":{"put":{"tags":["hybrid-theory-segments-controller"],"operationId":"createOrUpdateAzerionSegments","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HybridTheorySegmentDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HybridTheorySegmentDto"}}}}}}},"/rtb/v1/fixed-price-rule/{fixedPriceRuleId}":{"get":{"tags":["fixed-price-rule-controller"],"operationId":"getFixedPriceRule","parameters":[{"name":"fixedPriceRuleId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedPriceRuleResponseDto"}}}}}},"put":{"tags":["fixed-price-rule-controller"],"operationId":"updateFixedPriceRule","parameters":[{"name":"fixedPriceRuleId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedPriceRuleDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedPriceRuleResponseDto"}}}}}},"delete":{"tags":["fixed-price-rule-controller"],"operationId":"deleteFixedPriceRule","parameters":[{"name":"fixedPriceRuleId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedPriceRuleResponseDto"}}}}}}},"/rtb/v1/exclude-placement/line-item/{lineItemId}":{"get":{"tags":["universal-deal-placement-controller"],"operationId":"getExcludedPlacements","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExcludePlacementDto"}}}}}},"put":{"tags":["universal-deal-placement-controller"],"operationId":"excludePlacements","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExcludePlacementDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/rtb/v1/documents/{documentId}":{"get":{"tags":["document-controller"],"operationId":"getDocument","parameters":[{"name":"documentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentDto"}}}}}},"put":{"tags":["document-controller"],"operationId":"updateDocument","parameters":[{"name":"documentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["body"],"type":"object","properties":{"body":{"$ref":"#/components/schemas/DocumentDto"},"file":{"type":"string","format":"binary"}}}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentDto"}}}}}},"delete":{"tags":["document-controller"],"operationId":"deleteDocument","parameters":[{"name":"documentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}":{"get":{"tags":["classic-campaign-controller"],"operationId":"getCampaign_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}}}}},"put":{"tags":["classic-campaign-controller"],"operationId":"updateCampaign_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}}}}},"delete":{"tags":["classic-campaign-controller"],"operationId":"deleteCampaign_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineitemId}":{"put":{"tags":["classic-line-item-controller"],"operationId":"updateLineItem_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineitemId}/geo-targeting":{"get":{"tags":["classic-line-item-geo-targeting-controller"],"operationId":"getLineItemGeoTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemGeoTargetingDto"}}}}}},"put":{"tags":["classic-line-item-geo-targeting-controller"],"operationId":"updateLineItemGeoTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemGeoTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemGeoTargetingDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineitemId}/device-targeting":{"get":{"tags":["classicl-line-item-device-targeting-controller"],"operationId":"getAODLineItemDeviceTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceTargetingDto"}}}}}},"put":{"tags":["classicl-line-item-device-targeting-controller"],"operationId":"updateAODLineItemDeviceTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceTargetingDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/time-targeting":{"get":{"tags":["classic-line-item-time-targeting-controller"],"operationId":"getLineItemTimeTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTimeTargetingDto"}}}}}},"put":{"tags":["classic-line-item-time-targeting-controller"],"operationId":"updateLineItemTimeTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTimeTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTimeTargetingDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/segment-targeting":{"get":{"tags":["line-item-segment-targeting-controller"],"operationId":"getClassicLineItemSegmentTargeting","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDmpSegmentTargetingDto"}}}}}},"put":{"tags":["line-item-segment-targeting-controller"],"operationId":"updateClassicLineItemSegmentTargeting","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDmpSegmentTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDmpSegmentTargetingDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/reactivate":{"put":{"tags":["classic-line-item-controller"],"operationId":"reactivateLineItem_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/placements":{"get":{"tags":["classic-line-item-placement-controller"],"operationId":"getLineItemPlacements","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemPlacementsDto"}}}}}},"put":{"tags":["classic-line-item-placement-controller"],"operationId":"updateLineItemPlacements","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemPlacementsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemPlacementsDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/pixel-targeting":{"get":{"tags":["line-item-pixel-controller"],"operationId":"getClassicLineItemPixelTargeting","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPixelTargetingDto"}}}}}},"put":{"tags":["line-item-pixel-controller"],"operationId":"updateClassicLineItemPixelTargeting","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPixelTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPixelTargetingDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/packages":{"get":{"tags":["classic-line-item-package-controller"],"operationId":"getLineItemPackages_1","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPackagesDto"}}}}}},"put":{"tags":["classic-line-item-package-controller"],"operationId":"updateLineItemPackages_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPackagesDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemInventoryCountDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/packages-unassign-all":{"put":{"tags":["classic-line-item-package-controller"],"operationId":"unassignAllLineItemPackages_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"is_dynamic","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/isp-targeting":{"get":{"tags":["classic-line-item-isp-targeting-controller"],"operationId":"getLineItemIspTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemIspTargetingDto"}}}}}},"put":{"tags":["classic-line-item-isp-targeting-controller"],"operationId":"updateLineItemIspTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemIspTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemIspTargetingDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/creatives":{"get":{"tags":["classic-line-item-creatives-controller"],"operationId":"getLineItemCreatives","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativesDto"}}}}}},"put":{"tags":["classic-line-item-creatives-controller"],"operationId":"updateLineItemCreatives","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"autoAssign","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemCreativesDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemCreativesDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/creatives/unassign-all":{"put":{"tags":["classic-line-item-creatives-controller"],"operationId":"unassignAllLineItemCreatives","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativeBulkUnassignDto"}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/comments/{commentId}":{"get":{"tags":["classic-line-item-comment-controller"],"operationId":"getLineItemComment","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}},"put":{"tags":["classic-line-item-comment-controller"],"operationId":"updateLineItemComment","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}},"delete":{"tags":["classic-line-item-comment-controller"],"operationId":"deleteLineItemComment","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/browser-targeting":{"get":{"tags":["classic-line-item-browser-targeting-controller"],"operationId":"getLineItemBrowserTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBrowserTargetingDto"}}}}}},"put":{"tags":["classic-line-item-browser-targeting-controller"],"operationId":"updateLineItemBrowserTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBrowserTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBrowserTargetingDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/creatives/{creativeId}":{"get":{"tags":["creative-controller"],"operationId":"getCreative","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"creativeId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativeDto"}}}}}},"put":{"tags":["creative-controller"],"operationId":"updateCreative","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"creativeId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"encoded_tag","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["body"],"type":"object","properties":{"body":{"$ref":"#/components/schemas/CreativeDto"},"image":{"type":"string","format":"binary"},"image_square":{"type":"string","format":"binary"},"image_portrait":{"type":"string","format":"binary"},"image_landscape":{"type":"string","format":"binary"},"image_landscape_hd":{"type":"string","format":"binary"},"image_native_ortb":{"type":"string","format":"binary"},"image_native_300x50":{"type":"string","format":"binary"},"image_native_300x250":{"type":"string","format":"binary"},"image_native_320x50":{"type":"string","format":"binary"},"image_native_320x100":{"type":"string","format":"binary"},"image_native_300x600":{"type":"string","format":"binary"},"image_native_900x150":{"type":"string","format":"binary"},"image_native_2160x100":{"type":"string","format":"binary"},"image_native_970x250":{"type":"string","format":"binary"},"image_native_728":{"type":"string","format":"binary"},"image_logo":{"type":"string","format":"binary"},"video":{"type":"string","format":"binary"},"audio":{"type":"string","format":"binary"},"zip":{"type":"string","format":"binary"}}}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativeDto"}}}}}},"delete":{"tags":["creative-controller"],"operationId":"deleteCreative","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"creativeId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativeDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/creatives/{creativeId}/status":{"put":{"tags":["creative-controller"],"operationId":"toggleStatusCreative","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"creativeId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"activate","in":"query","required":true,"schema":{"type":"boolean"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativeDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/creatives/bulk-status-change":{"put":{"tags":["creative-controller"],"operationId":"bulkStatusChange_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativeBulkStatusEditDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/comments/{commentId}":{"get":{"tags":["classic-campaign-comment-controller"],"operationId":"getCampaignComment","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}},"put":{"tags":["classic-campaign-comment-controller"],"operationId":"updateCampaignComment","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}},"delete":{"tags":["classic-campaign-comment-controller"],"operationId":"deleteCampaignComment","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}}},"/rtb/v1/classic/campaigns/line-items/placements/bulk-edit":{"put":{"tags":["classic-line-item-placement-controller"],"operationId":"updateLineItemPlacementsBulkEdit","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemBulkEditPlacementsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK"}}}},"/rtb/v1/campaigns/{campaignId}/public-report-settings":{"get":{"tags":["campaign-public-report-settings-controller"],"operationId":"getCampaignPublicReportSettingForCampaign","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"put":{"tags":["campaign-public-report-settings-controller"],"operationId":"updateCampaignPublicReportSettingForCampaign","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignPublicReportSettingsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineitemId}/geo-targeting":{"get":{"tags":["common-line-item-geo-targeting-controller"],"operationId":"getLineItemGeoTargeting_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemGeoTargetingDto"}}}}}},"put":{"tags":["common-line-item-geo-targeting-controller"],"operationId":"updateLineItemGeoTargeting_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemGeoTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemGeoTargetingDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineitemId}/device-targeting":{"get":{"tags":["universal-deal-line-item-device-targeting-controller"],"operationId":"getLineItemDeviceTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceTargetingDto"}}}}}},"put":{"tags":["universal-deal-line-item-device-targeting-controller"],"operationId":"updateLineItemDeviceTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceTargetingDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/video-audio-format-targeting":{"get":{"tags":["line-item-targeting-video-audio-format-controller"],"operationId":"getTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingVideoAudioFormatsDto"}}}}}},"put":{"tags":["line-item-targeting-video-audio-format-controller"],"operationId":"updateTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingVideoAudioFormatsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingVideoAudioFormatsDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/topic-targeting":{"get":{"tags":["line-item-targeting-topic-controller"],"operationId":"getLineItemTargetedTopics","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicsDto"}}}}}},"put":{"tags":["line-item-targeting-topic-controller"],"operationId":"updateLineItemTargetedTopics","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicsDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/time-targeting":{"get":{"tags":["common-line-item-time-targeting-controller"],"operationId":"getLineItemTimeTargeting_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTimeTargetingDto"}}}}}},"put":{"tags":["common-line-item-time-targeting-controller"],"operationId":"updateLineItemTimeTargeting_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTimeTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTimeTargetingDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/size-targeting":{"get":{"tags":["line-item-targeting-size-controller"],"operationId":"getLineItemTargetingSize","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingSizesDto"}}}}}},"put":{"tags":["line-item-targeting-size-controller"],"operationId":"updateLineItemTargetingSize_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingSizesDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingSizesDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/sda-targeting":{"get":{"tags":["line-item-targeting-topic-controller"],"operationId":"getLineItemTargetedSdas","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SdasDto"}}}}}},"put":{"tags":["line-item-targeting-topic-controller"],"operationId":"updateLineItemTargetedSdas","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SdasDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SdasDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/postal_codes_targeting":{"get":{"tags":["universal-deal-line-item-postal-code-controller"],"operationId":"getPostalCodes","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingPostalCodesDto"}}}}}},"put":{"tags":["universal-deal-line-item-postal-code-controller"],"operationId":"updateLineItemPostalCode","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingPostalCodesDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingPostalCodesDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/playback-targeting":{"get":{"tags":["line-item-targeting-playback-controller"],"operationId":"getLineItemTargetingVideoPlayback","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingPlaybackDto"}}}}}},"put":{"tags":["line-item-targeting-playback-controller"],"operationId":"updateLineItemTargetingVideoPlayback","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingPlaybackDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingPlaybackDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/platform-type-targeting":{"get":{"tags":["line-item-targeting-platform-type-controller"],"operationId":"getLineItemTargetingPlatformType","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingPlatformTypeDto"}}}}}},"put":{"tags":["line-item-targeting-platform-type-controller"],"operationId":"updateLineItemTargetingPlatformType","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingPlatformTypeDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingPlatformTypeDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/placements":{"get":{"tags":["universal-deal-placement-controller"],"operationId":"getUniversalDealLineItemPlacements","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UniversalDealLineItemPlacementsDto"}}}}}},"put":{"tags":["universal-deal-placement-controller"],"operationId":"updateLineItemPlacements_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UniversalDealLineItemPlacementsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UniversalDealLineItemPlacementsDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/placements/unassign":{"put":{"tags":["universal-deal-placement-controller"],"operationId":"unAssignAllLineItemPlacements","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UniversalDealLineItemPlacementsDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/placements/assign":{"put":{"tags":["universal-deal-placement-controller"],"operationId":"assignAllLineItemPlacements_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UniversalDealLineItemPlacementsDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/pixels":{"get":{"tags":["line-item-pixel-controller"],"operationId":"getLineItemPixels","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"assigned","in":"query","required":false,"schema":{"type":"string"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPixelsDto"}}}}}},"put":{"tags":["line-item-pixel-controller"],"operationId":"updateLineItemPixels","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPixelsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPixelsDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/language-targeting":{"get":{"tags":["common-line-item-language-targeting-controller"],"operationId":"getLineItemTargetingLanguage","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemLanguagesTargetingDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemLanguagesTargetingDto"}}}}}},"put":{"tags":["common-line-item-language-targeting-controller"],"operationId":"updateLineItemTargetingLanguage","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemLanguagesTargetingDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemLanguagesTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemLanguagesTargetingDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemLanguagesTargetingDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/isp-targeting":{"get":{"tags":["common-line-item-isp-targeting-controller"],"operationId":"getLineItemIspTargeting_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemIspTargetingDto"}}}}}},"put":{"tags":["common-line-item-isp-targeting-controller"],"operationId":"updateLineItemIspTargeting_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemIspTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemIspTargetingDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/include-keyword-targeting":{"get":{"tags":["line-item-targeting-keyword-inclusion-controller"],"operationId":"getLineItemTargetingIncludeKeyword","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingKeywordInclusionsDto"}}}}}},"put":{"tags":["line-item-targeting-keyword-inclusion-controller"],"operationId":"updateLineItemTargetingIncludeKeyword","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingKeywordInclusionsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingKeywordInclusionsDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/iab-category-targeting":{"get":{"tags":["line-item-targeting-iab-category-controller"],"operationId":"getLineItemTargetingIabCategory","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingIabCategoriesDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingIabCategoriesDto"}}}}}},"put":{"tags":["line-item-targeting-iab-category-controller"],"operationId":"updateLineItemTargetingIabCategories","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingIabCategoriesDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingIabCategoriesDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingIabCategoriesDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemTargetingIabCategoriesDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/grapeshot-targeting":{"get":{"tags":["line-item-grapeshot-targeting-controller"],"operationId":"getLineItemTargetingCategorySegment","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingCategorySegmentsDto"}}}}}},"put":{"tags":["line-item-grapeshot-targeting-controller"],"operationId":"updateLineItemTargetingCategorySegment","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingCategorySegmentsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingCategorySegmentsDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/device-type-targeting":{"get":{"tags":["line-item-device-type-targeting-controller"],"operationId":"getLineItemDeviceTypeTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceTypeTargetingDto"}}}}}},"put":{"tags":["line-item-device-type-targeting-controller"],"operationId":"updateLineItemDeviceTypeTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceTypeTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceTypeTargetingDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/device-os-targeting":{"get":{"tags":["line-item-device-os-targeting-controller"],"operationId":"getLineItemDeviceOsTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceOsTargetingDto"}}}}}},"put":{"tags":["line-item-device-os-targeting-controller"],"operationId":"updateLineItemDeviceOsTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceOsTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceOsTargetingDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/device-model-targeting":{"get":{"tags":["line-item-device-model-targeting-controller"],"operationId":"getLineItemDeviceModelTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceModelTargetingDto"}}}}}},"put":{"tags":["line-item-device-model-targeting-controller"],"operationId":"updateLineItemDeviceModelTargeting","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceModelTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceModelTargetingDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/ctv-targeting":{"get":{"tags":["line-item-targeting-content-object-controller"],"operationId":"getLineItemTargetingContentObject","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingContentObjectsDto"}}}}}},"put":{"tags":["line-item-targeting-content-object-controller"],"operationId":"updateLineItemTargetingContentObject","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingContentObjectsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingContentObjectsDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/contextual-segments-targeting":{"get":{"tags":["line-item-targeting-contextual-segment-controller"],"operationId":"findAll_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"segment_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"segment_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"contextual_provider_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"contextual_segment_type_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"super_types","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["BRAND_SAFETY","CONTEXTUAL"]}}},{"name":"contextual_parent_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}},"put":{"tags":["line-item-targeting-contextual-segment-controller"],"operationId":"addContextualSegmentForLineItem","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"contextual_segment_type_ids","in":"query","required":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"requestBody":{"content":{"application/json":{"schema":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/comments/{commentId}":{"get":{"tags":["line-item-comment-controller"],"operationId":"getLineItemComment_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}},"put":{"tags":["line-item-comment-controller"],"operationId":"updateLineItemComment_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}},"delete":{"tags":["line-item-comment-controller"],"operationId":"deleteLineItemComment_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/browser-targeting":{"get":{"tags":["common-line-item-browser-targeting-controller"],"operationId":"getLineItemBrowserTargeting_1","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBrowserTargetingDto"}}}}}},"put":{"tags":["common-line-item-browser-targeting-controller"],"operationId":"updateLineItemBrowserTargeting_1","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBrowserTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBrowserTargetingDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/azerion-contextual-custom-segments-targeting":{"get":{"tags":["line-item-targeting-hybrid-theory-segments-controller"],"operationId":"getLineItemTargetingAzerionCustomSegments","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingHybridTheorySegmentsDto"}}}}}},"put":{"tags":["line-item-targeting-hybrid-theory-segments-controller"],"operationId":"updateLineItemTargetingAzerionCustomSegments","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingHybridTheorySegmentsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingHybridTheorySegmentsDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/azerion-contextual-category-segments-targeting":{"get":{"tags":["line-item-targeting-hybrid-theory-segments-controller"],"operationId":"getLineItemTargetingHybridTheorySegments","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingHybridTheorySegmentsDto"}}}}}},"put":{"tags":["line-item-targeting-hybrid-theory-segments-controller"],"operationId":"updateLineItemTargetingHybridTheorySegments","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingHybridTheorySegmentsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTargetingHybridTheorySegmentsDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/comments/{commentId}":{"get":{"tags":["campaign-comment-controller"],"operationId":"getCampaignComment_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}},"put":{"tags":["campaign-comment-controller"],"operationId":"updateCampaignComment_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}},"delete":{"tags":["campaign-comment-controller"],"operationId":"deleteCampaignComment_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}}},"/rtb/v1/campaigns/line-items/placements/bulk-edit":{"put":{"tags":["universal-deal-placement-controller"],"operationId":"updateLineItemPlacements_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UniversalDealLineItemBulkEditPlacementsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK"}}}},"/rtb/v1/campaigns/line-items/line-item-bulk-edit":{"put":{"tags":["common-line-item-bulk-edit-controller"],"operationId":"bulkEditLineItems","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBulkEditDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}}},"/rtb/v1/business-unit-inventory-filter/{businessUnitId}":{"get":{"tags":["business-unit-inventory-filtering-controller"],"operationId":"getBUInventoryFiltering","parameters":[{"name":"businessUnitId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BUInventoryFilteringResponseDto"}}}}}},"put":{"tags":["business-unit-inventory-filtering-controller"],"operationId":"updateBUInventoryFiltering","parameters":[{"name":"businessUnitId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BUInventoryFilteringDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BUInventoryFilteringResponseDto"}}}}}},"delete":{"tags":["business-unit-inventory-filtering-controller"],"operationId":"deleteBUInventoryFiltering","parameters":[{"name":"businessUnitId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BUInventoryFilteringResponseDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}":{"get":{"tags":["always-on-deals-campaign-controller"],"operationId":"getCampaign_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}}}}},"put":{"tags":["always-on-deals-campaign-controller"],"operationId":"updateCampaign_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}}}}},"delete":{"tags":["always-on-deals-campaign-controller"],"operationId":"deleteCampaign_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineitemId}/geo-targeting":{"get":{"tags":["always-on-deal-line-item-geo-targeting-controller"],"operationId":"getLineItemGeoTargeting_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemGeoTargetingDto"}}}}}},"put":{"tags":["always-on-deal-line-item-geo-targeting-controller"],"operationId":"updateLineItemGeoTargeting_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemGeoTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemGeoTargetingDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineitemId}/device-targeting":{"get":{"tags":["always-on-deal-line-item-device-targeting-controller"],"operationId":"getAODLineItemDeviceTargeting_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceTargetingDto"}}}}}},"put":{"tags":["always-on-deal-line-item-device-targeting-controller"],"operationId":"updateAODLineItemDeviceTargeting_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemDeviceTargetingDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineItemId}":{"get":{"tags":["always-on-deals-line-item-controller"],"operationId":"getLineItem_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}},"put":{"tags":["always-on-deals-line-item-controller"],"operationId":"updateLineItem_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}},"delete":{"tags":["always-on-deals-line-item-controller"],"operationId":"deleteLineItem_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineItemId}/time-targeting":{"get":{"tags":["always-on-deals-time-targeting-controller"],"operationId":"getLineItemTimeTargeting_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTimeTargetingDto"}}}}}},"put":{"tags":["always-on-deals-time-targeting-controller"],"operationId":"updateLineItemTimeTargeting_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTimeTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemTimeTargetingDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineItemId}/reactivate":{"put":{"tags":["always-on-deals-line-item-controller"],"operationId":"reactivateLineItem_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineItemId}/placements":{"get":{"tags":["always-on-deals-line-item-placement-controller"],"operationId":"getAlwaysOnDealsLineItemPlacements","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemPlacementsDto"}}}}}},"put":{"tags":["always-on-deals-line-item-placement-controller"],"operationId":"updateLineItemPlacements_3","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemPlacementsDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemPlacementsDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineItemId}/packages":{"get":{"tags":["always-on-deal-line-item-packages-controller"],"operationId":"getLineItemPackages_2","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPackagesDto"}}}}}},"put":{"tags":["always-on-deal-line-item-packages-controller"],"operationId":"updateLineItemPackages_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemPackagesDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemInventoryCountDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineItemId}/packages-unassign-all":{"put":{"tags":["always-on-deal-line-item-packages-controller"],"operationId":"unassignAllLineItemPackages_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"is_dynamic","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineItemId}/isp-targeting":{"get":{"tags":["always-on-deals-line-item-isp-targeting-controller"],"operationId":"getLineItemIspTargeting_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemIspTargetingDto"}}}}}},"put":{"tags":["always-on-deals-line-item-isp-targeting-controller"],"operationId":"updateLineItemIspTargeting_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemIspTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemIspTargetingDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineItemId}/comments/{commentId}":{"get":{"tags":["always-on-deals-line-item-comments-controller"],"operationId":"getLineItemComment_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}},"put":{"tags":["always-on-deals-line-item-comments-controller"],"operationId":"updateLineItemComment_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}},"delete":{"tags":["always-on-deals-line-item-comments-controller"],"operationId":"deleteLineItemComment_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineItemId}/buyers":{"get":{"tags":["always-on-deals-line-item-buyers-controller"],"operationId":"getLineItemBuyers","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyersDto"}}}}}},"put":{"tags":["always-on-deals-line-item-buyers-controller"],"operationId":"updateLineItemBuyers","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyersDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyersDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineItemId}/browser-targeting":{"get":{"tags":["always-on-deal-line-item-browser-targeting-controller"],"operationId":"getLineItemBrowserTargeting_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBrowserTargetingDto"}}}}}},"put":{"tags":["always-on-deal-line-item-browser-targeting-controller"],"operationId":"updateLineItemBrowserTargeting_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBrowserTargetingDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBrowserTargetingDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/comments/{commentId}":{"get":{"tags":["always-on-deals-campaign-comment-controller"],"operationId":"getCampaignComment_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}},"put":{"tags":["always-on-deals-campaign-comment-controller"],"operationId":"updateCampaignComment_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}},"delete":{"tags":["always-on-deals-campaign-comment-controller"],"operationId":"deleteCampaignComment_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}}},"/rtb/v1/ad-builder-macro/{id}":{"get":{"tags":["ad-builder-macro-controller"],"operationId":"getAdBuilderMacro","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdBuilderMacroDto"}}}}}},"put":{"tags":["ad-builder-macro-controller"],"operationId":"updateMacro","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdBuilderMacroDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdBuilderMacroDto"}}}}}}},"/rtb/platform-updates/update":{"put":{"tags":["platform-updates-controller"],"operationId":"updatePlatformUpdate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformUpdatesDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformUpdatesDto"}}}}}}},"/rtb/line-item/watched":{"put":{"tags":["user-preference-controller"],"operationId":"addWatchedLineItem","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchedLineItemDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/campaign/watched":{"put":{"tags":["user-preference-controller"],"operationId":"addWatchedCampaign","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchedCampaignDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/dmp/v1/dmp-segments/{dmpSegmentId}":{"get":{"tags":["dmp-segment-controller"],"operationId":"getDmpSegment","parameters":[{"name":"dmpSegmentId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DmpSegmentDto"}}}}}},"put":{"tags":["dmp-segment-controller"],"operationId":"saveDmpSegment","parameters":[{"name":"dmpSegmentId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DmpSegmentDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DmpSegmentDto"}}}}}}},"/api/metadata-sales-persons/{id}":{"get":{"tags":["metadata-sales-person-controller"],"operationId":"getMetadataSalesPersonById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SalesPersonDto"}}}}}},"put":{"tags":["metadata-sales-person-controller"],"operationId":"updateMetadataSalesPerson","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesPersonDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SalesPersonDto"}}}}}},"delete":{"tags":["metadata-sales-person-controller"],"operationId":"deleteMetadataSalesPerson","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK"}}}},"/api/metadata-campaigns/integration-platform/{integration-platform-id}/campaign/{campaign-id}":{"put":{"tags":["campaign-metadata-controller"],"operationId":"updateCampaignMetadata","parameters":[{"name":"integration-platform-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaign-id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignMetadataDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CampaignMetadataDto"}}}}}}},"/api/metadata-advertisers/{id}":{"get":{"tags":["metadata-advertiser-controller"],"operationId":"getMetadataAdvertiserById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MetadataAdvertiser"}}}}}},"put":{"tags":["metadata-advertiser-controller"],"operationId":"updateMetadataAdvertiser","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertiserDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertiserDto"}}}}}},"delete":{"tags":["metadata-advertiser-controller"],"operationId":"deleteMetadataAdvertiser","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK"}}}},"/rtb/v3/unified-deals":{"post":{"tags":["unified-deal-v-3-controller"],"operationId":"createDeal","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnifiedDealLineItemDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/unified-campaigns":{"post":{"tags":["unified-campaign-v-3-controller"],"operationId":"createDeal_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnifiedClassicLineItemDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/line-item-placements/{lineItemId}/load":{"post":{"tags":["line-item-placement-v-3-controller"],"operationId":"loadLineItemPlacements","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/global/domain-bundle/batch-insert":{"post":{"tags":["global-domain-bundle-controller"],"operationId":"createDomainBundleBatch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleDtos"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleDtos"}}}}}}},"/rtb/v3/global/domain-bundle-list/duplicate":{"post":{"tags":["global-domain-bundle-list-controller"],"operationId":"duplicateDomainBundleList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleListDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleListDto"}}}}}}},"/rtb/v3/automatic-packages":{"post":{"tags":["package-controller"],"operationId":"createAutomaticPackage","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomaticPackageDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v2/classic/campaigns/{campaignId}/creatives/{creativeId}/duplicate":{"post":{"tags":["creative-duplicate-v-2-controller"],"operationId":"duplicateCreative","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"creativeId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativeDuplicationDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativeDto"}}}}}}},"/rtb/v2/campaigns":{"get":{"tags":["universal-deal-campaign-controller"],"operationId":"getCampaigns","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignsDto"}}}}}},"post":{"tags":["universal-deal-campaign-controller"],"operationId":"createCampaign","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items":{"get":{"tags":["universal-deal-line-item-controller"],"operationId":"getCampaignLineItems","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemsDto"}}}}}},"post":{"tags":["universal-deal-line-item-controller"],"operationId":"createLineItem","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}},"/rtb/v1/special-field":{"post":{"tags":["special-field-controller"],"operationId":"saveSpecialField","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecialFieldDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/pixels":{"get":{"tags":["pixel-controller"],"operationId":"getPixels","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PixelsDto"}}}}}},"post":{"tags":["pixel-controller"],"operationId":"createPixel","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PixelDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PixelDto"}}}}}}},"/rtb/v1/packages":{"get":{"tags":["package-controller"],"operationId":"getAllPackages","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackagesDto"}}}}}},"post":{"tags":["package-controller"],"operationId":"createPackage","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageDto"}}}}}}},"/rtb/v1/packages/synced-to-hawk":{"post":{"tags":["package-controller"],"operationId":"syncedPackagesToHawk","requestBody":{"content":{"application/json":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/packages/duplicate":{"post":{"tags":["package-controller"],"operationId":"duplicatePackage","parameters":[{"name":"package_id","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"name","in":"query","required":true,"schema":{"type":"string"}},{"name":"description","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackageDto"}}}}}}},"/rtb/v1/inventory-forecasting":{"post":{"tags":["inventory-forecasting-controller"],"operationId":"getInventoryForecasting","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryForecastingQueryParameters"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryForecastingResponseDto"}}}}}}},"/rtb/v1/inventory-forecasting-save-query":{"post":{"tags":["inventory-forecasting-controller"],"operationId":"saveInventoryForecastingQuery","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryForecastingQueryParameters"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/inventory-forecasting-generate-query":{"post":{"tags":["inventory-forecasting-controller"],"operationId":"getInventoryForecastingQuery","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryForecastingQueryParameters"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/fixed-price-rule":{"post":{"tags":["fixed-price-rule-controller"],"operationId":"createFixedPriceRule","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedPriceRuleDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedPriceRuleResponseDto"}}}}}}},"/rtb/v1/documents":{"get":{"tags":["document-controller"],"operationId":"getDocuments","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentsDto"}}}}}},"post":{"tags":["document-controller"],"operationId":"uploadDocument","requestBody":{"content":{"multipart/form-data":{"schema":{"required":["body"],"type":"object","properties":{"body":{"$ref":"#/components/schemas/DocumentDto"},"file":{"type":"string","format":"binary"}}}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentDto"}}}}}}},"/rtb/v1/classic/creative/ad-builder-resource":{"post":{"tags":["ad-builder-controller"],"operationId":"createAdBuilderResource","requestBody":{"content":{"application/json":{"schema":{"required":["resource"],"type":"object","properties":{"resource":{"type":"string","format":"binary"}}}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceUrlDto"}}}}}}},"/rtb/v1/classic/campaigns":{"get":{"tags":["classic-campaign-controller"],"operationId":"getClassicCampaigns","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignsDto"}}}}}},"post":{"tags":["classic-campaign-controller"],"operationId":"createCampaign_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items":{"get":{"tags":["classic-line-item-controller"],"operationId":"getCampaignLineItems_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemsDto"}}}}}},"post":{"tags":["classic-line-item-controller"],"operationId":"createLineItem_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/line-item-bids":{"get":{"tags":["classic-line-item-bid-controller"],"operationId":"getLineItemBidsForLineItem","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBidsDto"}}}}}},"post":{"tags":["classic-line-item-bid-controller"],"operationId":"createLineItemBid","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBidDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBidDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/comments":{"get":{"tags":["classic-line-item-comment-controller"],"operationId":"getLineItemComments","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentsDto"}}}}}},"post":{"tags":["classic-line-item-comment-controller"],"operationId":"createLineItemComment","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/creatives":{"get":{"tags":["creative-controller"],"operationId":"getCreatives","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativesDto"}}}}}},"post":{"tags":["creative-controller"],"operationId":"createCreative","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"encoded_tag","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"required":["body"],"type":"object","properties":{"body":{"$ref":"#/components/schemas/CreativeDto"},"image":{"type":"string","format":"binary"},"image_square":{"type":"string","format":"binary"},"image_portrait":{"type":"string","format":"binary"},"image_landscape":{"type":"string","format":"binary"},"image_landscape_hd":{"type":"string","format":"binary"},"image_native_ortb":{"type":"string","format":"binary"},"image_native_300x50":{"type":"string","format":"binary"},"image_native_300x250":{"type":"string","format":"binary"},"image_native_320x50":{"type":"string","format":"binary"},"image_native_320x100":{"type":"string","format":"binary"},"image_native_300x600":{"type":"string","format":"binary"},"image_native_900x150":{"type":"string","format":"binary"},"image_native_2160x100":{"type":"string","format":"binary"},"image_native_970x250":{"type":"string","format":"binary"},"image_native_728":{"type":"string","format":"binary"},"image_logo":{"type":"string","format":"binary"},"video":{"type":"string","format":"binary"},"audio":{"type":"string","format":"binary"},"zip":{"type":"string","format":"binary"}}}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativeDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/creatives/{creativeId}/duplicate":{"post":{"tags":["creative-duplicate-controller"],"operationId":"duplicateCreative_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"creativeId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"creative-name","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativeDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/comments":{"get":{"tags":["classic-campaign-comment-controller"],"operationId":"getCampaignComments","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentsDto"}}}}}},"post":{"tags":["classic-campaign-comment-controller"],"operationId":"createCampaignComment","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}}},"/rtb/v1/classic/campaigns/creatives/bulk-upload":{"post":{"tags":["creative-controller"],"operationId":"createCreativeInBulk","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativeBulkUploadDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreativeDto"}}}}}}}},"/rtb/v1/classic/campaign/creatives/third-party-tag/bulk-upload":{"post":{"tags":["creative-controller"],"operationId":"createThirdPartyTagCreativeBulk","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativeBulkUploadDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreativeDto"}}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/line-item-bids":{"get":{"tags":["line-item-bid-controller"],"operationId":"getLineItemBidsForLineItem_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBidsDto"}}}}}},"post":{"tags":["line-item-bid-controller"],"operationId":"createLineItemBid_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBidDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBidDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/duplicate":{"post":{"tags":["universal-deal-line-item-controller"],"operationId":"duplicateLineItem","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"target_campaign_id","in":"query","required":false,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DuplicateLineItemDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/comments":{"get":{"tags":["line-item-comment-controller"],"operationId":"getLineItemComments_1","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentsDto"}}}}}},"post":{"tags":["line-item-comment-controller"],"operationId":"createLineItemComment_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/bulk-duplicate":{"post":{"tags":["universal-deal-line-item-controller"],"operationId":"bulkDuplicateLineItem","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"copy_creative","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"is_coppa_compliant","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"keep_creative_association","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemsDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/comments":{"get":{"tags":["campaign-comment-controller"],"operationId":"getCampaignComments_1","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentsDto"}}}}}},"post":{"tags":["campaign-comment-controller"],"operationId":"createCampaignComment_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}}},"/rtb/v1/buyer-fields":{"get":{"tags":["buyer-field-controller"],"operationId":"getAllBuyerField","parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"buyer_name","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"special_field_name","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"buyer_id","in":"query","required":false,"schema":{"type":"integer","format":"int64","default":0}},{"name":"special_field_id","in":"query","required":false,"schema":{"type":"integer","format":"int64","default":0}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}},"post":{"tags":["buyer-field-controller"],"operationId":"saveBuyerField","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyerFieldDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/business-unit-inventory-filter":{"post":{"tags":["business-unit-inventory-filtering-controller"],"operationId":"createBUInventoryFiltering","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BUInventoryFilteringDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BUInventoryFilteringResponseDto"}}}}}}},"/rtb/v1/business-unit-field":{"post":{"tags":["business-unit-field-controller"],"operationId":"saveBusinessUnitField","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessUnitFieldDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/aod/campaigns":{"get":{"tags":["always-on-deals-campaign-controller"],"operationId":"getAlwaysOnDealCampaigns","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignsDto"}}}}}},"post":{"tags":["always-on-deals-campaign-controller"],"operationId":"createAlwaysOnDealCampaign","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items":{"get":{"tags":["always-on-deals-line-item-controller"],"operationId":"getCampaignLineItems_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemsDto"}}}}}},"post":{"tags":["always-on-deals-line-item-controller"],"operationId":"createLineItem_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineItemId}/line-item-bids":{"get":{"tags":["always-on-deals-line-item-bid-controller"],"operationId":"getLineItemBidsForLineItem_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBidsDto"}}}}}},"post":{"tags":["always-on-deals-line-item-bid-controller"],"operationId":"createLineItemBid_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBidDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBidDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineItemId}/duplicate":{"post":{"tags":["always-on-deals-line-item-duplicate-controller"],"operationId":"duplicateLineItem_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DuplicateLineItemDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineItemId}/comments":{"get":{"tags":["always-on-deals-line-item-comments-controller"],"operationId":"getLineItemComments_2","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentsDto"}}}}}},"post":{"tags":["always-on-deals-line-item-comments-controller"],"operationId":"createLineItemComment_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/comments":{"get":{"tags":["always-on-deals-campaign-comment-controller"],"operationId":"getCampaignComments_2","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentsDto"}}}}}},"post":{"tags":["always-on-deals-campaign-comment-controller"],"operationId":"createCampaignComment_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentDto"}}}}}}},"/rtb/v1/ad-builder-macro":{"post":{"tags":["ad-builder-macro-controller"],"operationId":"create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdBuilderMacroDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdBuilderMacroDto"}}}}}}},"/rtb/platform-updates/user-optout":{"post":{"tags":["platform-updates-controller"],"operationId":"userOptOut","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformUpdatesDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformUpdatesDto"}}}}}}},"/rtb/platform-updates/save":{"post":{"tags":["platform-updates-controller"],"operationId":"savePlatformUpdate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformUpdatesDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformUpdatesDto"}}}}}}},"/publisher/v3/publishers/campaigns/{campaignId}/duplicate-external":{"post":{"tags":["universal-deal-campaign-controller"],"operationId":"duplicateExternalCampaignV3","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDuplicateLiteDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDuplicateDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/CampaignDuplicateDto"}}}}}}},"/publisher/v2/publishers/campaigns/{campaignId}/duplicate-external":{"post":{"tags":["universal-deal-campaign-controller"],"operationId":"duplicateExternalCampaign","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaign-name","in":"query","required":true,"schema":{"type":"string"}},{"name":"start-date","in":"query","required":true,"schema":{"type":"string"}},{"name":"end-date","in":"query","required":false,"schema":{"type":"string"}},{"name":"is_deal_sync","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"is_consentless","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"is_any_buyer","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"is_multiple_beos","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"is_coppa_compliant","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"is_programmatic_guaranteed","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"budget","in":"query","required":false,"schema":{"type":"string"}},{"name":"copy-line-items","in":"query","required":true,"schema":{"type":"string"}},{"name":"copy-creatives","in":"query","required":false,"schema":{"type":"string","default":"false"}},{"name":"buying_entity_id","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"buying-entity-office-id","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"buying_entity_office_ids","in":"query","required":false,"schema":{"type":"string"}},{"name":"marketplace_selection","in":"query","required":false,"schema":{"type":"string"}},{"name":"dv360_central_partner","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"pricing_model_type","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignDuplicateDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/CampaignDuplicateDto"}}}}}}},"/api/metadata-sales-persons":{"get":{"tags":["metadata-sales-person-controller"],"operationId":"getAllMetadataSalesPersons","parameters":[{"name":"search","in":"query","required":false,"schema":{"type":"string","default":""}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SalesPersonDto"}}}}}}},"post":{"tags":["metadata-sales-person-controller"],"operationId":"createMetadataSalesPerson","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesPersonDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SalesPersonDto"}}}}}}},"/api/metadata-campaigns":{"get":{"tags":["campaign-metadata-controller"],"operationId":"getAllCampaignMetadata","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"is_completed","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"integration_platform_ids","in":"query","required":false,"schema":{"type":"string"}},{"name":"business_unit_ids","in":"query","required":false,"schema":{"type":"string"}},{"name":"buyer_ids","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":25}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CampaignMetadatasDto"}}}}}},"post":{"tags":["campaign-metadata-controller"],"operationId":"createCampaignMetadata","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignMetadataDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CampaignMetadataDto"}}}}}}},"/api/metadata-agencies":{"get":{"tags":["metadata-agency-controller"],"operationId":"getAllAgencies","parameters":[{"name":"search","in":"query","required":false,"schema":{"type":"string","default":""}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgencyDto"}}}}}}},"post":{"tags":["metadata-agency-controller"],"operationId":"createOrUpdateAgency","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgencyDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AgencyDto"}}}}}}},"/api/metadata-advertisers":{"get":{"tags":["metadata-advertiser-controller"],"operationId":"getAllMetadataAdvertisers","parameters":[{"name":"search","in":"query","required":false,"schema":{"type":"string","default":""}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdvertiserDto"}}}}}}},"post":{"tags":["metadata-advertiser-controller"],"operationId":"createMetadataAdvertiser","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertiserDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AdvertiserDto"}}}}}}},"/api/agency-groups":{"get":{"tags":["metadata-agency-group-controller"],"operationId":"getAllAgencyGroups","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgencyGroupDto"}}}}}}},"post":{"tags":["metadata-agency-group-controller"],"operationId":"createOrUpdateAgencyGroup","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgencyGroupDto"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AgencyGroupDto"}}}}}}},"/schema/ui-grid/settings":{"get":{"tags":["ui-grid-settings-controller"],"operationId":"getUiGridSettingsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v3/unified-deal-update":{"get":{"tags":["unified-deal-v-3-controller"],"operationId":"getUnifiedDealPatchSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/schema/rtb/v3/unified-deal-creation":{"get":{"tags":["unified-deal-v-3-controller"],"operationId":"getUnifiedDealCreationSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/schema/rtb/v3/unified-campaigns":{"get":{"tags":["unified-campaign-v-3-controller"],"operationId":"getUnifiedCampaignCreationSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/schema/rtb/v3/global/domain-bundle-list/history":{"get":{"tags":["global-domain-bundle-history-controller"],"operationId":"getGlobalDomainBundleSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v3/campaigns/metadata/bulk-edit":{"get":{"tags":["campaign-metadata-bulk-edit-controller"],"operationId":"getCampaignMetaDataBulkUpdateSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v3/campaigns/line-items/url-substring-targeting":{"get":{"tags":["common-line-item-targeting-url-substring-controller"],"operationId":"getLineItemTargetingUrlSubstringV3Schema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}},"application/xml":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v3/campaigns/line-items/size-targeting":{"get":{"tags":["line-item-targeting-size-controller"],"operationId":"getLineItemTargetingSizeSchemaV3","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v3/campaigns/line-items/pg-tag":{"get":{"tags":["universal-deal-line-item-controller"],"operationId":"getPgtPlacementInfoSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v3/campaigns/line-items/isp-targeting":{"get":{"tags":["common-line-item-isp-targeting-controller"],"operationId":"getLineItemsIspTargetingV3Schema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/zones":{"get":{"tags":["universal-deal-zone-controller"],"operationId":"getPlacementsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/line-items":{"get":{"tags":["universal-deal-line-item-controller"],"operationId":"getLineItemsOverviewCollectionSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/inventories":{"get":{"tags":["universal-deal-inventory-controller"],"operationId":"getUniversalDealInventoriesSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/global-search":{"get":{"tags":["search-controller"],"operationId":"getGlobalSearchSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/classic/campaigns/creatives/duplicate":{"get":{"tags":["creative-duplicate-v-2-controller"],"operationId":"getCreativeDuplicationSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns":{"get":{"tags":["universal-deal-campaign-controller"],"operationId":"getCampaignsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/line-items":{"get":{"tags":["universal-deal-line-item-controller"],"operationId":"getLineItemsCollectionSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/line-items/url-substring-targeting":{"get":{"tags":["common-line-item-targeting-url-substring-controller"],"operationId":"getLineItemTargetingUrlSubstringSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}},"application/xml":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/line-items/packages":{"get":{"tags":["universal-deal-line-item-package-controller"],"operationId":"getLineItemPackagesSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/line-items/media-type-targeting":{"get":{"tags":["line-item-targeting-media-type-controller"],"operationId":"getLineItemTargetingMediaTypeSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/line-items/media-attribute-targeting":{"get":{"tags":["line-item-media-attribute-targeting-controller"],"operationId":"getLineItemMediaAttributeTargetingSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/line-items/line-item":{"get":{"tags":["universal-deal-line-item-controller"],"operationId":"getLineItemSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/line-items/key-value-targeting":{"get":{"tags":["line-item-key-value-targeting-controller"],"operationId":"getLineItemTargetingKeyValueSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/line-items/ip-targeting":{"get":{"tags":["line-item-targeting-ip-address-controller"],"operationId":"getLineItemTargetingContentObjectSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/line-items/domain-targeting":{"get":{"tags":["common-line-item-targeting-domain-controller"],"operationId":"getLineItemTargetingDomainSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}},"application/xml":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/line-items/deals-targeting":{"get":{"tags":["common-line-item-targeting-deals-controller"],"operationId":"getLineItemTargetingDealsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}},"application/xml":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/line-items/bundle-id-targeting":{"get":{"tags":["common-line-item-targeting-bundle-id-controller"],"operationId":"getLineItemTargetingBundleIdSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/line-items/brand-safety-segments":{"get":{"tags":["line-item-brand-safety-segment-controller"],"operationId":"getLineItemBrandSafetySegmentSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/campaign":{"get":{"tags":["universal-deal-campaign-controller"],"operationId":"getCampaignSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/campaign-duplication":{"get":{"tags":["universal-deal-campaign-controller"],"operationId":"getCampaignDuplicationSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/video-format-types":{"get":{"tags":["inventory-helper-controller"],"operationId":"getVideoFormatTypesV1Json","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/sizes":{"get":{"tags":["size-controller"],"operationId":"getSizesSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/site-types":{"get":{"tags":["site-type-controller"],"operationId":"getProtocolsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/roles":{"get":{"tags":["role-controller"],"operationId":"getRolesSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/regions":{"get":{"tags":["region-controller"],"operationId":"getCountriesSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/regions/countries":{"get":{"tags":["country-controller"],"operationId":"getCountriesSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/positive-keywords":{"get":{"tags":["custom-segment-positive-controller"],"operationId":"getLineItemTargetingGrapeshotSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/placements":{"get":{"tags":["universal-deal-placement-controller"],"operationId":"getPlacementsSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/pixels":{"get":{"tags":["pixel-controller"],"operationId":"getPixelsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/pixels/pixel":{"get":{"tags":["pixel-controller"],"operationId":"getPixelSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/packages":{"get":{"tags":["package-controller"],"operationId":"getPackagesSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/packages/placements":{"get":{"tags":["package-placements-controller"],"operationId":"getPackagesSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/packages/package":{"get":{"tags":["package-controller"],"operationId":"getPackageSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/packages/history":{"get":{"tags":["package-history-controller"],"operationId":"getPackageSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/line-items/remove-exposure-limitation":{"get":{"tags":["line-item-controller"],"operationId":"getLineItemBulkRemoveExposureLimitationSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/line-items/public-report-settings":{"get":{"tags":["line-item-public-report-settings-controller"],"operationId":"getLineItemPublicReportSettingsJson","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/line-items/ad-pods-targeting":{"get":{"tags":["line-item-ad-pods-targeting-controller"],"operationId":"getLineItemsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/schema/rtb/v1/languages":{"get":{"tags":["language-controller"],"operationId":"getLanguagesSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/inventory-types":{"get":{"tags":["inventory-helper-controller"],"operationId":"getInventoryTypesV1Json","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/inventory-forecasting":{"get":{"tags":["inventory-forecasting-controller"],"operationId":"getForecastingSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/inventory-forecasting-v2":{"get":{"tags":["inventory-forecasting-controller"],"operationId":"getForecastingV2Schema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/grapeshot-categories":{"get":{"tags":["category-segment-controller"],"operationId":"getLineItemTargetingGrapeshotSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/fixed-price-rule":{"get":{"tags":["fixed-price-rule-controller"],"operationId":"getForecastingSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/documents":{"get":{"tags":["document-controller"],"operationId":"getDocumentsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/documents/document":{"get":{"tags":["document-controller"],"operationId":"getDocumentSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/currency":{"get":{"tags":["currency-info-controller"],"operationId":"getCurrencySchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/contextual-segments":{"get":{"tags":["contextual-segment-controller"],"operationId":"getSchemaJson","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/content-objects":{"get":{"tags":["content-object-controller"],"operationId":"getLineItemTargetingContentObjectSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/line-items":{"get":{"tags":["classic-line-item-controller"],"operationId":"getLineItemsOverviewCollectionSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/creative-types/sizes":{"get":{"tags":["creative-size-type-controller"],"operationId":"getSizesSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns":{"get":{"tags":["classic-campaign-controller"],"operationId":"getCampaignsSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items":{"get":{"tags":["classic-line-item-controller"],"operationId":"getLineItemsCollectionSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/time-targeting":{"get":{"tags":["classic-line-item-time-targeting-controller"],"operationId":"getLineItemTimeTargetingSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/line-items/segment-targeting":{"get":{"tags":["line-item-segment-targeting-controller"],"operationId":"getLineItemSegmentTargetingSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/segment-targeting":{"get":{"tags":["line-item-segment-targeting-controller"],"operationId":"getLineItemSegmentTargetingSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/placements":{"get":{"tags":["classic-line-item-placement-controller"],"operationId":"getLineItemPlacementsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/placements/bulk-edit":{"get":{"tags":["classic-line-item-placement-controller"],"operationId":"getLineItemBulkPlacementsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/pixel-targeting":{"get":{"tags":["line-item-pixel-controller"],"operationId":"getLineItemPixelTargetingSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v2/campaigns/line-items/pixel-targeting":{"get":{"tags":["line-item-pixel-controller"],"operationId":"getLineItemPixelTargetingSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/packages":{"get":{"tags":["classic-line-item-package-controller"],"operationId":"getLineItemPackagesSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/line-item":{"get":{"tags":["classic-line-item-controller"],"operationId":"getLineItemSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/line-item-bids":{"get":{"tags":["classic-line-item-bid-controller"],"operationId":"getLineItemBidsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/line-item-bids/line-item-bid":{"get":{"tags":["classic-line-item-bid-controller"],"operationId":"getLineItemBidSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/isp-targeting":{"get":{"tags":["classic-line-item-isp-targeting-controller"],"operationId":"getLineItemsIspTargetingSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/history":{"get":{"tags":["classic-line-item-history-controller"],"operationId":"getLineItemHistorySchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/geo-targeting":{"get":{"tags":["classic-line-item-geo-targeting-controller"],"operationId":"getLineItemGeoTargetingSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/device-targeting":{"get":{"tags":["classicl-line-item-device-targeting-controller"],"operationId":"getLineItemsSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/comments":{"get":{"tags":["classic-line-item-comment-controller"],"operationId":"getLineItemCommentsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/comments/comment":{"get":{"tags":["classic-line-item-comment-controller"],"operationId":"getLineItemCommentSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/line-items/browser-targeting":{"get":{"tags":["classic-line-item-browser-targeting-controller"],"operationId":"getLineItemBrowserTargetingSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/history":{"get":{"tags":["campaign-history-controller"],"operationId":"getCampaignHistorySchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/creatives":{"get":{"tags":["creative-controller"],"operationId":"getCreativesSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/creatives/history":{"get":{"tags":["creative-history-controller"],"operationId":"getCreativeHistorySchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/creatives/duplicate":{"get":{"tags":["creative-duplicate-controller"],"operationId":"getCreativesSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/creatives/creative":{"get":{"tags":["creative-controller"],"operationId":"getCreativeSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/comments":{"get":{"tags":["classic-campaign-comment-controller"],"operationId":"getCampaignCommentsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/comments/comment":{"get":{"tags":["classic-campaign-comment-controller"],"operationId":"getCampaignCommentSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/classic/campaigns/campaign":{"get":{"tags":["classic-campaign-controller"],"operationId":"getCampaignSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/public-report-settings":{"get":{"tags":["campaign-public-report-settings-controller"],"operationId":"getCampaignPublicReportSettingsJson","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/video-audio-format-targeting":{"get":{"tags":["line-item-targeting-video-audio-format-controller"],"operationId":"getTargetingSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/topic-targeting":{"get":{"tags":["line-item-targeting-topic-controller"],"operationId":"getLineItemTargetingTopicSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/time-targeting":{"get":{"tags":["common-line-item-time-targeting-controller"],"operationId":"getLineItemTimeTargetingSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/size-targeting":{"get":{"tags":["line-item-targeting-size-controller"],"operationId":"getLineItemTargetingSizeSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/sda-targeting":{"get":{"tags":["line-item-targeting-topic-controller"],"operationId":"getLineItemTargetingSdaSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/postal-code":{"get":{"tags":["universal-deal-line-item-postal-code-controller"],"operationId":"getLineItemPostalCodesSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/playback-targeting":{"get":{"tags":["line-item-targeting-playback-controller"],"operationId":"getLineItemTargetingVideoPlaybackSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/platform-type-targeting":{"get":{"tags":["line-item-targeting-platform-type-controller"],"operationId":"getLineItemTargetingPlatformTypeSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/placements":{"get":{"tags":["universal-deal-placement-controller"],"operationId":"getLineItemPlacementsSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/placements/bulk-edit":{"get":{"tags":["universal-deal-placement-controller"],"operationId":"getLineItemBulkEditSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/pixels":{"get":{"tags":["line-item-pixel-controller"],"operationId":"getLineItemPixelsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/line-item-bulk-edit":{"get":{"tags":["common-line-item-bulk-edit-controller"],"operationId":"getLineItemBulkEditSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/line-item-bids":{"get":{"tags":["line-item-bid-controller"],"operationId":"getLineItemBidsSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/line-item-bids/line-item-bid":{"get":{"tags":["line-item-bid-controller"],"operationId":"getLineItemBidSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/language-targeting":{"get":{"tags":["common-line-item-language-targeting-controller"],"operationId":"getLineItemTargetingLanguageSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}},"application/xml":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/isp-targeting":{"get":{"tags":["common-line-item-isp-targeting-controller"],"operationId":"getLineItemsIspTargetingSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/include-keyword-targeting":{"get":{"tags":["line-item-targeting-keyword-inclusion-controller"],"operationId":"getLineItemTargetingKeywordInclusionSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/iab-category-targeting":{"get":{"tags":["line-item-targeting-iab-category-controller"],"operationId":"getLineItemTargetingIabCategorySchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}},"application/xml":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/history":{"get":{"tags":["universal-deal-history-controller"],"operationId":"getLineItemHistorySchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/grapeshot-targeting":{"get":{"tags":["line-item-grapeshot-targeting-controller"],"operationId":"getLineItemTargetingGrapeshotSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/geo-targeting":{"get":{"tags":["common-line-item-geo-targeting-controller"],"operationId":"getLineItemGeoTargetingSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/duplicate":{"get":{"tags":["universal-deal-line-item-controller"],"operationId":"getLineItemDuplicationCollectionSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/device-type-targeting":{"get":{"tags":["line-item-device-type-targeting-controller"],"operationId":"getLineItemsSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/device-targeting":{"get":{"tags":["universal-deal-line-item-device-targeting-controller"],"operationId":"getLineItemsSchema_3","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/device-os-targeting":{"get":{"tags":["line-item-device-os-targeting-controller"],"operationId":"getLineItemsSchema_4","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/device-model-targeting":{"get":{"tags":["line-item-device-model-targeting-controller"],"operationId":"getLineItemsSchema_5","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/ctv-targeting":{"get":{"tags":["line-item-targeting-content-object-controller"],"operationId":"getLineItemTargetingContentObjectSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/contextual-segments-targeting":{"get":{"tags":["line-item-targeting-contextual-segment-controller"],"operationId":"getSchemaJson_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/contextual-segments-targeting-lite":{"get":{"tags":["line-item-targeting-contextual-segment-controller"],"operationId":"getSchemaLiteJson","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/comments":{"get":{"tags":["line-item-comment-controller"],"operationId":"getLineItemCommentsSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/comments/comment":{"get":{"tags":["line-item-comment-controller"],"operationId":"getLineItemCommentSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/browser-targeting":{"get":{"tags":["common-line-item-browser-targeting-controller"],"operationId":"getLineItemBrowserTargetingSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/line-items/azerion-contextual-segments-targeting":{"get":{"tags":["line-item-targeting-hybrid-theory-segments-controller"],"operationId":"getLineItemTargetingAzerionSegmentsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/history":{"get":{"tags":["universal-deal-history-controller"],"operationId":"getCampaignHistorySchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/comments":{"get":{"tags":["campaign-comment-controller"],"operationId":"getCampaignCommentsSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/campaigns/comments/comment":{"get":{"tags":["campaign-comment-controller"],"operationId":"getCampaignCommentSchema_1","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/business-unit-inventory-filter":{"get":{"tags":["business-unit-inventory-filtering-controller"],"operationId":"getForecastingSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/azerion-contextual-segments":{"get":{"tags":["hybrid-theory-segments-controller"],"operationId":"getHybridTheorySegmentsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns":{"get":{"tags":["always-on-deals-campaign-controller"],"operationId":"getCampaignsSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/line-items":{"get":{"tags":["always-on-deals-line-item-controller"],"operationId":"getLineItemsCollectionSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/line-items/time-targeting":{"get":{"tags":["always-on-deals-time-targeting-controller"],"operationId":"getLineItemTimeTargetingSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/line-items/placements":{"get":{"tags":["always-on-deals-line-item-placement-controller"],"operationId":"getLineItemPlacementsSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/line-items/packages":{"get":{"tags":["always-on-deal-line-item-packages-controller"],"operationId":"getLineItemPackagesSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/line-items/line-item":{"get":{"tags":["always-on-deals-line-item-controller"],"operationId":"getLineItemSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/line-items/line-item-bids":{"get":{"tags":["always-on-deals-line-item-bid-controller"],"operationId":"getLineItemBidsSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/line-items/line-item-bids/line-item-bid":{"get":{"tags":["always-on-deals-line-item-bid-controller"],"operationId":"getLineItemBidSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/line-items/isp-targeting":{"get":{"tags":["always-on-deals-line-item-isp-targeting-controller"],"operationId":"getLineItemsIspTargetingSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/line-items/history":{"get":{"tags":["always-on-deals-history-controller"],"operationId":"getLineItemHistorySchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/line-items/geo-targeting":{"get":{"tags":["always-on-deal-line-item-geo-targeting-controller"],"operationId":"getLineItemGeoTargetingSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/line-items/device-targeting":{"get":{"tags":["always-on-deal-line-item-device-targeting-controller"],"operationId":"getLineItemsSchema_6","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/line-items/comments":{"get":{"tags":["always-on-deals-line-item-comments-controller"],"operationId":"getLineItemCommentsSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/line-items/comments/comment":{"get":{"tags":["always-on-deals-line-item-comments-controller"],"operationId":"getLineItemCommentSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/line-items/buyers":{"get":{"tags":["always-on-deals-line-item-buyers-controller"],"operationId":"getBuyersSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/line-items/browser-targeting":{"get":{"tags":["always-on-deal-line-item-browser-targeting-controller"],"operationId":"getLineItemBrowserTargetingSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/history":{"get":{"tags":["always-on-deals-history-controller"],"operationId":"getCampaignHistorySchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/comments":{"get":{"tags":["always-on-deals-campaign-comment-controller"],"operationId":"getCampaignCommentsSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/comments/comment":{"get":{"tags":["always-on-deals-campaign-comment-controller"],"operationId":"getCampaignCommentSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/aod/campaigns/campaign":{"get":{"tags":["always-on-deals-campaign-controller"],"operationId":"getCampaignSchema_2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/ad-builder-macros":{"get":{"tags":["ad-builder-macro-controller"],"operationId":"getAdBuilderMacrosSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rtb/v1/ad-builder-macro":{"get":{"tags":["ad-builder-macro-controller"],"operationId":"getAdBuilderMacroSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/rb1/v1/classic/campaigns/line-items/creatives":{"get":{"tags":["classic-line-item-creatives-controller"],"operationId":"getLineItemsSchema_7","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/dmp/v2/dmp-segments":{"get":{"tags":["dmp-segment-controller"],"operationId":"getDataManagementPlatformSegmentsSchemaV2","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/dmp/v1/dmp-segments":{"get":{"tags":["dmp-segment-controller"],"operationId":"getDataManagementPlatformSegmentsSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/schema/dmp/v1/dmp-segments/dmp-segment":{"get":{"tags":["dmp-segment-controller"],"operationId":"getDataManagementPlatformSegmentSchema","parameters":[{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/rtb/v3/values":{"get":{"tags":["key-values-cached-data-controller"],"operationId":"findAdRequestValues","parameters":[{"name":"search","in":"query","required":true,"schema":{"type":"string"}},{"name":"key","in":"query","required":true,"schema":{"type":"string"}},{"name":"publisher_id","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/unified-campaigns/{lineItemId}":{"get":{"tags":["unified-campaign-v-3-controller"],"operationId":"getUnifiedDeal_1","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/political-ads/parties":{"get":{"tags":["political-ads-v-3-controller"],"operationId":"searchPoliticalParties","parameters":[{"name":"search","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/political-ads/campaigns":{"get":{"tags":["political-ads-v-3-controller"],"operationId":"searchPoliticalCampaigns","parameters":[{"name":"search","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/placements":{"get":{"tags":["placement-v-3-controller"],"operationId":"placementSearch","parameters":[{"name":"campaign_id","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"placement_status","in":"query","required":false,"schema":{"type":"string"}},{"name":"publisher_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"business_unit_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"size_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"iab_categories","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"placement_type_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"placement_types","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"video_format_type_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"video_format_types","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"allow_pg_deals","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"azerion_owned","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"seller_types","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["PUBLISHER","INTERMEDIARY","BOTH"]}}},{"name":"tier_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int32"}}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/packages/{packageId}/targeted-publishers":{"get":{"tags":["package-v-3-controller"],"operationId":"findTargetedPublishersByPackage","parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v3/line-items":{"get":{"tags":["universal-deal-line-item-controller"],"operationId":"getAllLineItems","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemsDto"}}}}}}},"/rtb/v3/line-items/{lineItemId}/targeted-publishers":{"get":{"tags":["line-item-v-3-controller"],"operationId":"findTargetedPublishers","parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v3/line-items/{lineItemId}/packages":{"get":{"tags":["line-item-package-v-3-controller"],"operationId":"getPackages","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackagesDto"}}}}}}},"/rtb/v3/line-items/{lineItemId}/impression-delivery":{"get":{"tags":["line-item-grafana-data-controller"],"operationId":"getImpressionDeliverDataFromGrafana","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v3/line-items/templates":{"get":{"tags":["line-item-v-3-controller"],"operationId":"findTemplates","parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"own_template","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v3/line-items/templates/{id}":{"get":{"tags":["line-item-v-3-controller"],"operationId":"findTemplateById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v3/line-items/templates/{id}/assigned-inventories":{"get":{"tags":["line-item-template-inventory-controller"],"operationId":"findAssignedInventoriesByTemplateId","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v3/line-items/export":{"get":{"tags":["line-item-export-controller"],"operationId":"exportLineItemDataByBuyerId","parameters":[{"name":"buyer_id","in":"query","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string","format":"binary"}}}}}}},"/rtb/v3/line-item-placements/{lineItemId}/search":{"get":{"tags":["line-item-placement-v-3-controller"],"operationId":"lineItemPlacementSearch","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"placement_status","in":"query","required":false,"schema":{"type":"string"}},{"name":"publisher_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"business_unit_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"size_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"iab_categories","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"placement_type_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"placement_types","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"video_format_type_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"video_format_types","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"allow_pg_deals","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"azerion_owned","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"seller_types","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["PUBLISHER","INTERMEDIARY","BOTH"]}}},{"name":"tier_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int32"}}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"assigned","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/keys":{"get":{"tags":["key-values-cached-data-controller"],"operationId":"findAdRequestKeys","parameters":[{"name":"search","in":"query","required":true,"schema":{"type":"string"}},{"name":"publisher_id","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/global/domain-bundle/{id}":{"get":{"tags":["global-domain-bundle-controller"],"operationId":"getDomainBundleById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleDto"}}}}}}},"/rtb/v3/global/domain-bundle/list/{id}":{"get":{"tags":["global-domain-bundle-controller"],"operationId":"getAllDomainBundle","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"value","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleDtos"}}}}}}},"/rtb/v3/global/domain-bundle-list/{id}":{"get":{"tags":["global-domain-bundle-list-controller"],"operationId":"getDomainBundleListById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleListDto"}}}}}},"delete":{"tags":["global-domain-bundle-list-controller"],"operationId":"deleteDomainBundleListById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleListDto"}}}}}}},"/rtb/v3/global/domain-bundle-list/{id}/lineitems":{"get":{"tags":["global-domain-bundle-list-controller"],"operationId":"getLineItemsByDomainBundleListById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemsLiteDto"}}}}}}},"/rtb/v3/global/domain-bundle-list/{id}/history":{"get":{"tags":["global-domain-bundle-history-controller"],"operationId":"getGlobalDomainBundleHistory","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoriesDto"}}}}}}},"/rtb/v3/global/domain-bundle-list/{id}/histories/{historyId}/download":{"get":{"tags":["global-domain-bundle-history-controller"],"operationId":"downloadGlobalDomainBundleIdsFromHistory","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"historyId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/rtb/v3/global/domain-bundle-list/{id}/histories/download":{"get":{"tags":["global-domain-bundle-history-controller"],"operationId":"downloadGlobalDomainBundleHistory","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoriesDto"}}}}}}},"/rtb/v3/global/domain-bundle-list/list":{"get":{"tags":["global-domain-bundle-list-controller"],"operationId":"getAllDomainBundleList","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleListDtos"}}}}}}},"/rtb/v3/content-objects":{"get":{"tags":["content-object-v-3-controller"],"operationId":"findContentObjects","parameters":[{"name":"keyword","in":"query","required":true,"schema":{"type":"string"}},{"name":"value","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v3/classic/creatives/validate-vast-url":{"get":{"tags":["creative-controller"],"operationId":"validateVastUrl","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VastUrlValidationResponse"}}}}}}},"/rtb/v3/classic/campaigns/{campaignId}/creatives":{"get":{"tags":["creative-controller"],"operationId":"getCreativesV3","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativesDtoV3"}}}}}}},"/rtb/v3/classic/campaigns/{campaignId}/creatives-export":{"get":{"tags":["creative-controller"],"operationId":"exportCreativesV3","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"creativeIds","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"},"default":[]}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativesDtoV3"}}}}}}},"/rtb/v3/campaigns":{"get":{"tags":["universal-deal-campaign-controller"],"operationId":"getAllCampaigns","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignsDto"}}}}}}},"/rtb/v3/campaigns/{campaignId}/line-items/{lineItemId}":{"get":{"tags":["universal-deal-line-item-controller"],"operationId":"getLineItemById","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}},"/rtb/v3/campaigns/{campaignId}/line-items/{lineItemId}/applied-targetings":{"get":{"tags":["common-line-item-targeting-controller"],"operationId":"getAllAppliedTargetings","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}},"application/xml":{"schema":{"type":"object"}}}}}}},"/rtb/v2/zones":{"get":{"tags":["universal-deal-zone-controller"],"operationId":"getZones","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UniversalDealZonesDto"}}}}}}},"/rtb/v2/packages/{packageId}/placements/filter":{"get":{"tags":["package-placements-controller"],"operationId":"getPlacementsByFilters","parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlacementsFilteringDto"}}}}}}},"/rtb/v2/oss":{"get":{"tags":["line-item-device-os-targeting-controller"],"operationId":"getAllOperatingSystem","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OssDto"}}}}}}},"/rtb/v2/line-items":{"get":{"tags":["universal-deal-line-item-controller"],"operationId":"getLineItems","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemsDto"}}}}}}},"/rtb/v2/inventories":{"get":{"tags":["universal-deal-inventory-controller"],"operationId":"getUniversalDealInventories","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UniversalDealInventoriesDto"}}}}}}},"/rtb/v2/global-search":{"get":{"tags":["search-controller"],"operationId":"doGlobalSearch","parameters":[{"name":"search","in":"query","required":true,"schema":{"type":"string"}},{"name":"current_user_data_only","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResultDto"}}}}}}},"/rtb/v2/device-types":{"get":{"tags":["line-item-device-type-targeting-controller"],"operationId":"getAllDeviceTypes","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceTypesDto"}}}}}}},"/rtb/v2/device-models":{"get":{"tags":["line-item-device-model-targeting-controller"],"operationId":"getAllDeviceModels","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceModelsDto"}}}}}}},"/rtb/v2/classic/campaigns/{campaignId}/line-items/{lineItemId}/placements":{"get":{"tags":["classic-line-item-placement-controller"],"operationId":"getAllLineItemPlacements","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemPlacementsDto"}}}}}}},"/rtb/v2/classic/campaigns/{campaignId}/line-items/{lineItemId}/placements/filter":{"get":{"tags":["classic-line-item-placement-controller"],"operationId":"getPlacementsByFilters_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlacementsFilteringDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineItemId}":{"get":{"tags":["universal-deal-line-item-controller"],"operationId":"getLineItem","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}},"delete":{"tags":["universal-deal-line-item-controller"],"operationId":"deleteLineItem","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}},"/rtb/v2/campaigns/{campaignId}/line-items/{lineItemId}/brand-safety-segments":{"get":{"tags":["line-item-brand-safety-segment-controller"],"operationId":"getCustomLineItemBrandSafetySegments","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemBrandSafetySegmentsDto"}},"application/xml":{"schema":{"$ref":"#/components/schemas/LineItemBrandSafetySegmentsDto"}}}}}}},"/rtb/v2/browsers":{"get":{"tags":["common-line-item-browser-targeting-controller"],"operationId":"getAllBrowsers","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowsersDto"}}}}}}},"/rtb/v1/video-playbacks":{"get":{"tags":["line-item-targeting-playback-controller"],"operationId":"getVideoPlaybacks","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoPlaybackMethodDto"}}}}}}},"/rtb/v1/video-format-types":{"get":{"tags":["inventory-helper-controller"],"operationId":"getVideoFormatTypes","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoFormatTypesDto"}}}}}}},"/rtb/v1/topics":{"get":{"tags":["line-item-targeting-topic-controller"],"operationId":"getTopics","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicsDto"}}}}}}},"/rtb/v1/special-fields":{"get":{"tags":["special-field-controller"],"operationId":"getAllSpecialField","parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"name","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"id","in":"query","required":false,"schema":{"type":"integer","format":"int64","default":0}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/sizes":{"get":{"tags":["size-controller"],"operationId":"getSizes","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"is_paginated","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SizesDto"}}}}}}},"/rtb/v1/sizes-all":{"get":{"tags":["size-controller"],"operationId":"getSizes_1","parameters":[{"name":"id","in":"query","required":false,"schema":{"type":"string"}},{"name":"ids","in":"query","required":false,"schema":{"type":"string"}},{"name":"name","in":"query","required":false,"schema":{"type":"string"}},{"name":"type","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SizesDto"}}}}}}},"/rtb/v1/site-types":{"get":{"tags":["site-type-controller"],"operationId":"getSiteTypes","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteTypesDto"}}}}}}},"/rtb/v1/sdas":{"get":{"tags":["line-item-targeting-topic-controller"],"operationId":"getSdaTargets","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SdasDto"}}}}}}},"/rtb/v1/roles":{"get":{"tags":["role-controller"],"operationId":"getRoles","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolesDto"}}}}}}},"/rtb/v1/regions":{"get":{"tags":["region-controller"],"operationId":"getRegions","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegionsDto"}}}}}}},"/rtb/v1/regions/{regionName}/countries":{"get":{"tags":["country-controller"],"operationId":"getCountries","parameters":[{"name":"regionName","in":"path","required":true,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountriesDto"}}}}}}},"/rtb/v1/positive-keywords":{"get":{"tags":["custom-segment-positive-controller"],"operationId":"getAllCategorySegments","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BsCustomSegmentsPositiveDto"}}}}}}},"/rtb/v1/placements":{"get":{"tags":["universal-deal-placement-controller"],"operationId":"getUniversalDealPlacements","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UniversalDealPlacementsDto"}}}}}}},"/rtb/v1/packages/{packageId}/history":{"get":{"tags":["package-history-controller"],"operationId":"getPackageHistory","parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoriesDto"}}}}}}},"/rtb/v1/packages/{packageId}/histories/{historyId}/download":{"get":{"tags":["package-history-controller"],"operationId":"downloadInventoryIdsFromHistory","parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"historyId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/rtb/v1/packages/{packageId}/histories/download":{"get":{"tags":["package-history-controller"],"operationId":"downloadPackageHistory","parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoriesDto"}}}}}}},"/rtb/v1/packages/{packageId}/assigned-line-items":{"get":{"tags":["package-controller"],"operationId":"getAllLineItemsByPackageId","parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemsLiteDto"}}}}}}},"/rtb/v1/packages/{packageId}/assigned-line-items/page":{"get":{"tags":["package-controller"],"operationId":"getAllLineItemsByPackageId_1","parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemsLiteDto"}}}}}}},"/rtb/v1/line-items":{"get":{"tags":["line-item-controller"],"operationId":"getAllLineItems_1","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemNameValueDto"}}}}}}},"/rtb/v1/line-items/{lineItemId}/histories/{historyId}/download":{"get":{"tags":["classic-line-item-history-controller"],"operationId":"downloadInventoryIdsFromHistory_1","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"historyId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/rtb/v1/line-items/{lineItemId}/histories/download":{"get":{"tags":["classic-line-item-history-controller"],"operationId":"downloadLineItemHistory","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoriesDto"}}}}}}},"/rtb/v1/line-item/{lineItemId}/targeting-status":{"get":{"tags":["line-item-targeting-status-controller"],"operationId":"getLineItemTargetingStatus","parameters":[{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/rtb/v1/line-item-ready-tracker/campaign/{campaignId}":{"get":{"tags":["line-item-controller"],"operationId":"getLineItemReadyTracker","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemReadyTrackersDto"}}}}}}},"/rtb/v1/languages":{"get":{"tags":["language-controller"],"operationId":"getCountries_1","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguagesDto"}}}}}}},"/rtb/v1/isps":{"get":{"tags":["common-line-item-isp-targeting-controller"],"operationId":"getAllISPs","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineItemIspsTargetingDto"}}}}}}},"/rtb/v1/inventory-types":{"get":{"tags":["inventory-helper-controller"],"operationId":"getInventoryTypes","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryTypesDto"}}}}}}},"/rtb/v1/inventory-forecasting-get-query/{id}":{"get":{"tags":["inventory-forecasting-controller"],"operationId":"getSingleInventoryForecastingQuery","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/inventory-forecasting-get-queries":{"get":{"tags":["inventory-forecasting-controller"],"operationId":"getAllInventoryForecastingQuery","parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/grapeshot-categories":{"get":{"tags":["category-segment-controller"],"operationId":"getAllCategorySegments_1","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategorySegmentsDto"}}}}}}},"/rtb/v1/fixed-price-rule/list":{"get":{"tags":["fixed-price-rule-controller"],"operationId":"getFixedPriceRules","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FixedPriceRulesDto"}}}}}}},"/rtb/v1/currency":{"get":{"tags":["currency-info-controller"],"operationId":"getCurrencyInfo","parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurrencyInfoDto"}}}}}}},"/rtb/v1/contextual-segments":{"get":{"tags":["contextual-segment-controller"],"operationId":"findAll","parameters":[{"name":"id","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"segment_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"segment_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"contextual_provider_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"contextual_provider_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"contextual_segment_type_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"contextual_segment_type_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"super_types","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["BRAND_SAFETY","CONTEXTUAL"]}}},{"name":"contextual_parent_ids","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"contextual_parent_name","in":"query","required":false,"schema":{"type":"string"}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/content-objects":{"get":{"tags":["content-object-controller"],"operationId":"getAllContentObjects","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"attribute"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentObjectsDto"}}}}}}},"/rtb/v1/classic/line-items":{"get":{"tags":["classic-line-item-controller"],"operationId":"getAllLineItems_2","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemsDto"}}}}}}},"/rtb/v1/classic/creative-types/{creativeType}/sizes":{"get":{"tags":["creative-size-type-controller"],"operationId":"getSizesByCreativeTypes","parameters":[{"name":"creativeType","in":"path","required":true,"schema":{"type":"string"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}},{"name":"platformTypes","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SizesDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}":{"get":{"tags":["classic-line-item-controller"],"operationId":"getLineItem_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}},"delete":{"tags":["classic-line-item-controller"],"operationId":"deleteLineItem_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/history":{"get":{"tags":["classic-line-item-history-controller"],"operationId":"getClassicLineItemHistory","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoriesDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/line-items/{lineItemId}/creatives-total-weight":{"get":{"tags":["classic-line-item-creatives-controller"],"operationId":"sumLineItemCreativesWeight","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/history":{"get":{"tags":["campaign-history-controller"],"operationId":"getCampaignHistory","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoriesDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/creatives/{creativeId}/history":{"get":{"tags":["creative-history-controller"],"operationId":"getCreativeHistory","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"creativeId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoriesDto"}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/creatives/{creativeId}/content":{"get":{"tags":["creative-controller"],"operationId":"getCreativeContent","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"creativeId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"Accept","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"image/jpeg":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}},"image/png":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}},"image/gif":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}},"application/zip":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}},"application/octet-stream":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}},"application/json":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}},"application/xml":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}},"video/mp4":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}},"video/x-msvideo":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}},"video/quicktime":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}},"video/x-m4v":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}}},"/rtb/v1/classic/campaigns/{campaignId}/creatives-export":{"get":{"tags":["creative-controller"],"operationId":"exportCreatives","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"creativeIds","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"},"default":[]}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativesDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineitemId}/history":{"get":{"tags":["universal-deal-history-controller"],"operationId":"getLineItemHistory","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoriesDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/placements/filter":{"get":{"tags":["universal-deal-placement-controller"],"operationId":"getPlacementsByFilters_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlacementsFilteringDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/placements/download":{"get":{"tags":["universal-deal-placement-controller"],"operationId":"downloadAssignedUniversalDealLineItemPlacements","parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemPlacementsDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/line-items/{lineItemId}/packages/download":{"get":{"tags":["universal-deal-line-item-package-controller"],"operationId":"downloadAssignedUniversalDealLineItemPackages","parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineItemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommonDealLineItemPackagesDto"}}}}}}},"/rtb/v1/campaigns/{campaignId}/history":{"get":{"tags":["universal-deal-history-controller"],"operationId":"getCampaignHistory_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoriesDto"}}}}}}},"/rtb/v1/business-unit-inventory-filter/list":{"get":{"tags":["business-unit-inventory-filtering-controller"],"operationId":"getBUInventoryFilterings","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BUInventoryFilteringsDto"}}}}}}},"/rtb/v1/business-unit-fields":{"get":{"tags":["business-unit-field-controller"],"operationId":"getAllBusinessUnitField","parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"business_unit_name","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"special_field_name","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"business_unit_id","in":"query","required":false,"schema":{"type":"integer","format":"int64","default":0}},{"name":"special_field_id","in":"query","required":false,"schema":{"type":"integer","format":"int64","default":0}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/azerion-contextual-custom-segments":{"get":{"tags":["hybrid-theory-segments-controller"],"operationId":"getAllAzerionCustomSegments","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HybridTheorySegmentsDto"}}}}}}},"/rtb/v1/azerion-contextual-category-segments":{"get":{"tags":["hybrid-theory-segments-controller"],"operationId":"getAllAzerionCategorySegments","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HybridTheorySegmentsDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/line-items/{lineitemId}/history":{"get":{"tags":["always-on-deals-history-controller"],"operationId":"getLineItemHistory_1","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"lineitemId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoriesDto"}}}}}}},"/rtb/v1/aod/campaigns/{campaignId}/history":{"get":{"tags":["always-on-deals-history-controller"],"operationId":"getCampaignHistory_2","parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoriesDto"}}}}}}},"/rtb/v1/ad-builder-macros":{"get":{"tags":["ad-builder-macro-controller"],"operationId":"getAllAdBuilderMacros","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdBuilderMacrosDto"}}}}}}},"/rtb/platform-updates/fetch":{"get":{"tags":["platform-updates-controller"],"operationId":"getPlatformUpdate","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PlatformUpdatesDto"}}}}}}}},"/rtb/platform-updates/fetch/{id}":{"get":{"tags":["platform-updates-controller"],"operationId":"getPlatformUpdateById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformUpdatesDto"}}}}}}},"/rtb/platform-updates/fetch-all":{"get":{"tags":["platform-updates-controller"],"operationId":"fetchALl","parameters":[{"name":"last_active_message","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PlatformUpdatesDto"}}}}}}}},"/rtb/item-count":{"get":{"tags":["universal-deal-line-item-controller"],"operationId":"getCounts","parameters":[{"name":"params","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemCountDto"}}}}}}},"/public/v1/classic/creative/{creativeHash}":{"get":{"tags":["creative-controller"],"operationId":"getPreview","parameters":[{"name":"creativeHash","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativeDto"}}}}}}},"/dmp/v2/dmp-segments":{"get":{"tags":["dmp-segment-controller"],"operationId":"getDmpSegmentsV2","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"requestParams","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DmpSegmentsDtoV2"}}}}}}},"/dmp/v1/dmp-segments":{"get":{"tags":["dmp-segment-controller"],"operationId":"getDmpSegments","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}},{"name":"fields","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"line_item_id","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"dmp_ids","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"requestParams","in":"query","required":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DmpSegmentsDto"}}}}}}},"/api/metadata-integration-platforms":{"get":{"tags":["metadata-dsp-controller"],"operationId":"getAllDSPs","parameters":[{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":25}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MetadataDSPDto"}}}}}}}},"/api/metadata-integration-platforms/{id}":{"get":{"tags":["metadata-dsp-controller"],"operationId":"getDSPById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MetadataDSPDto"}}}}}}},"/api/metadata-integration-platforms/{id}/seats":{"get":{"tags":["metadata-dsp-controller"],"operationId":"getDspSeatsByDspId","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MetadataDSPSeatDto"}}}}}}}},"/api/metadata-campaigns/integration-platform/{integrationPlatformId}/seat/{seatId}/campaign/{campaignId}":{"get":{"tags":["campaign-metadata-controller"],"operationId":"getCampaignMetadataByIPIdAndCampaignId","parameters":[{"name":"integrationPlatformId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"seatId","in":"path","required":true,"schema":{"type":"string"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CampaignMetadataDto"}}}}}}},"/api/metadata-campaigns/integration-platform/{integrationPlatformId}/campaign/{campaignId}":{"get":{"tags":["campaign-metadata-controller"],"operationId":"getCampaignMetadataByIPIdAndCampaignIdWithDefault","parameters":[{"name":"integrationPlatformId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CampaignMetadataDto"}}}}}}},"/rtb/v3/global/domain-bundle/batch-delete":{"delete":{"tags":["global-domain-bundle-controller"],"operationId":"deleteDomainBundleBatch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleDtos"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalDomainBundleDtos"}}}}}}},"/rtb/v1/inventory-forecasting-delete-query/{id}":{"delete":{"tags":["inventory-forecasting-controller"],"operationId":"deleteInventoryForecastingQuery","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/buyer-fields/{bu_id}/{sf_id}":{"delete":{"tags":["buyer-field-controller"],"operationId":"deleteBuyerField","parameters":[{"name":"bu_id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sf_id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/rtb/v1/business-unit-field/{bu_id}/{sf_id}":{"delete":{"tags":["business-unit-field-controller"],"operationId":"deleteBusinessUnitField","parameters":[{"name":"bu_id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"sf_id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"409":{"description":"Conflict","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"413":{"description":"Payload Too Large","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionWrapper"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"schemas":{"ExceptionWrapper":{"type":"object","properties":{"type":{"type":"string"},"messages":{"type":"array","xml":{"wrapped":true},"items":{"$ref":"#/components/schemas/Message"}}},"xml":{"name":"error"}},"Message":{"required":["description"],"type":"object","properties":{"errorCode":{"type":"string","xml":{"name":"error_code"}},"property":{"type":"string","xml":{"name":"property_name"}},"description":{"type":"string"}}},"UserPreferenceDto":{"type":"object","properties":{"user_preferences":{"type":"object","additionalProperties":{"type":"string"}}}},"DayTargeting":{"type":"object","properties":{"exclude":{"type":"boolean"},"day":{"type":"string"},"hours_targeting":{"$ref":"#/components/schemas/HoursTargeting"}}},"DaysTargeting":{"type":"object","properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/DayTargeting"}}}},"Geo":{"type":"object","properties":{"region":{"type":"string"},"country":{"type":"string"},"countryToken":{"type":"string"},"state":{"type":"string"},"city":{"type":"string"},"exclude":{"type":"boolean"}}},"GlobalDomainBundleListDto":{"required":["name","type"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"maxLength":100,"minLength":1,"type":"string"},"status":{"type":"integer","format":"int32"},"type":{"type":"string"},"user_id":{"type":"integer","format":"int64"},"created_at":{"type":"string","format":"date-time"},"list_size":{"type":"integer","format":"int32"},"line_item_count":{"type":"integer","format":"int32"}}},"HoursTargeting":{"type":"object","properties":{"exclude":{"type":"boolean"},"hours":{"type":"array","items":{"type":"string"}}}},"IdNameTuple":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"LineItemContextualSegmentLiteDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"inclusion":{"type":"boolean"},"segment_id":{"type":"string"},"segment_name":{"type":"string"}}},"LineItemDeviceTypeTargetingDtoV3":{"type":"object","properties":{"exclude":{"type":"boolean"},"device_types":{"type":"array","items":{"type":"string","enum":["UNKNOWN","PC","PHONE","TABLET","CONNECTED_TV","CONNECTED_DEVICE","SET_TOP_BOX","MOBILE_TABLET","DOOH"]}}}},"LineItemDmpSegmentTargetingDto":{"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"segment_groups":{"type":"array","items":{"$ref":"#/components/schemas/SegmentGroup"}}}},"LineItemTargetingBundleIdDto":{"type":"object","properties":{"bundle_ids":{"type":"array","items":{"type":"string"}},"bundle_list":{"type":"array","items":{"$ref":"#/components/schemas/GlobalDomainBundleListDto"}},"exclude":{"type":"boolean"},"operation":{"type":"string","enum":["AND","OR"]}}},"LineItemTargetingDomainDto":{"type":"object","properties":{"domain":{"type":"string"},"inc_subdomains":{"type":"boolean"}}},"LineItemTargetingDomainsDto":{"type":"object","properties":{"domains":{"type":"array","items":{"$ref":"#/components/schemas/LineItemTargetingDomainDto"}},"exclude":{"type":"boolean"},"global_domain_list":{"$ref":"#/components/schemas/LineItemTargetingGlobalDomainListDto"}}},"LineItemTargetingGlobalDomainListDto":{"type":"object","properties":{"domain_list":{"type":"array","items":{"$ref":"#/components/schemas/GlobalDomainBundleListDto"}},"include_subdomain":{"type":"boolean"},"operation":{"type":"string","enum":["AND","OR"]}}},"LineItemTargetingVideoAudioFormatsDto":{"type":"object","properties":{"video-formats":{"type":"array","items":{"$ref":"#/components/schemas/LineItemTargetingVideoFormatDto"}},"is-rewarded-allowed":{"type":"boolean"},"oneskin_targeting":{"type":"boolean"},"companion_ad_targeting":{"type":"boolean"},"companion_ad_targeting_sizes":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}}}},"LineItemTargetingVideoFormatDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"include":{"type":"boolean"}}},"LineItemTimeTargetingDto":{"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"days_targeting":{"$ref":"#/components/schemas/DaysTargeting"}}},"MetadataDto":{"type":"object","properties":{"ad_ops_person_id":{"type":"integer","format":"int64"},"advertiser_uuid":{"type":"string"},"agency_id":{"type":"integer","format":"int64"},"buyer_id":{"type":"integer","format":"int64"},"sales_person_id":{"type":"string"}}},"Segment":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"operator":{"type":"string","enum":["AND","OR"]},"price":{"type":"number","format":"double"}}},"SegmentGroup":{"type":"object","properties":{"dmp_segment_ids":{"type":"array","items":{"$ref":"#/components/schemas/Segment"}},"group_operator":{"type":"string","enum":["AND","OR"]},"exclude":{"type":"boolean"}}},"TTDContactDetailsDto":{"required":["email","first_name","last_name"],"type":"object","properties":{"first_name":{"maxLength":128,"minLength":1,"type":"string"},"last_name":{"maxLength":128,"minLength":1,"type":"string"},"email":{"maxLength":128,"minLength":0,"type":"string"}}},"UnifiedDealUpdateDto":{"type":"object","properties":{"update_mask":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"name":{"maxLength":128,"minLength":1,"type":"string"},"type":{"type":"string"},"start_date":{"type":"string","format":"date-time"},"end_date":{"type":"string","format":"date-time"},"metadata":{"$ref":"#/components/schemas/MetadataDto"},"ttd_contact_details":{"$ref":"#/components/schemas/TTDContactDetailsDto"},"cpm_bid":{"type":"number","format":"double"},"impression_cap":{"minimum":1,"type":"integer","format":"int32"},"budget":{"minimum":0.01,"exclusiveMinimum":false,"type":"number","format":"double"},"margin":{"type":"number","format":"double"},"reference_number":{"maxLength":128,"minLength":0,"type":"string"},"pricing_model_type":{"type":"string"},"track_viewability":{"type":"boolean"},"is_consentless":{"type":"boolean"},"is_coppa_compliant":{"type":"boolean"},"is_optimised":{"type":"boolean"},"is_dynamic_optimization":{"type":"boolean"},"dynamic_optimization_kpi_type":{"type":"string"},"dynamic_optimization_kpi_value":{"type":"string"},"frequency_interval_type":{"type":"string","enum":["months","weeks","days","hours","minutes"]},"frequency_interval":{"type":"number","format":"double"},"status":{"type":"string"},"package_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"placement_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"excluded_placement_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"no_geo_targeting_restriction":{"type":"boolean"},"geo_targeting":{"type":"array","items":{"$ref":"#/components/schemas/Geo"}},"media_type":{"type":"string","enum":["BANNER","VIDEO","NATIVE","AUDIO","NATIVE_DISPLAY","NATIVE_VIDEO"]},"size_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"device_type_targeting":{"$ref":"#/components/schemas/LineItemDeviceTypeTargetingDtoV3"},"language_targeting":{"type":"array","items":{"type":"string","enum":["EN","AA","AB","AF","AM","AR","AS","AY","AZ","BA","BE","BG","BH","BI","BN","BO","BR","CA","CO","CS","CY","DA","DE","DZ","EL","EO","ES","ET","EU","FA","FI","FJ","FO","FR","FY","GA","GD","GL","GN","GU","HA","HI","HR","HU","HY","IA","IE","IK","IN","IS","IT","IW","JA","JI","JW","KA","KK","KL","KM","KN","KO","KS","KU","KY","LA","LN","LO","LT","LV","MG","MI","MK","ML","MN","MO","MR","MS","MT","MY","NA","NE","NL","NO","OC","OM","PA","PL","PS","PT","QU","RM","RN","RO","RU","RW","SA","SD","SG","SH","SI","SK","SL","SM","SN","SO","SQ","SR","SS","ST","SU","SV","SW","TA","TE","TG","TH","TI","TK","TL","TN","TO","TR","TS","TT","TW","UK","UR","UZ","VI","VO","WO","XH","YO","ZH","ZU"]}},"brand_safety_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"captify_contextual_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"doubleverify_standard_iab_plus_contextual_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"azerion_intelligence_contextual_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"azerion_intelligence_custom_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"audience_segments":{"$ref":"#/components/schemas/LineItemDmpSegmentTargetingDto"},"domain_targeting":{"$ref":"#/components/schemas/LineItemTargetingDomainsDto"},"bundle_targeting":{"$ref":"#/components/schemas/LineItemTargetingBundleIdDto"},"time_targeting":{"$ref":"#/components/schemas/LineItemTimeTargetingDto"},"video_format_targeting":{"$ref":"#/components/schemas/LineItemTargetingVideoAudioFormatsDto"},"platform_type_targeting":{"type":"string","enum":["WEB_AND_MOBILE","WEB","MOBILE","DOOH"]}}},"TemplateLineItemDto":{"required":["name"],"type":"object","properties":{"name":{"type":"string"}}},"LineItemPlacementDocument":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"assigned":{"type":"boolean"},"placement_id":{"type":"integer","format":"int64"}}},"ObjectId":{"type":"object","properties":{"timestamp":{"type":"integer","format":"int32"},"date":{"type":"string","format":"date-time"}}},"PlacementFilterV3Dto":{"type":"object","properties":{"placement_status":{"type":"string"},"placement_status_id":{"type":"integer","format":"int32"},"publisher_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"excluded_publisher_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"business_unit_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"size_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"iab_categories":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"placement_type_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"video_format_type_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"allow_pg_deals":{"type":"boolean"},"azerion_owned":{"type":"boolean"},"seller_types":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["PUBLISHER","INTERMEDIARY","BOTH"]}},"tier_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int32"}},"search":{"type":"string"},"assigned":{"type":"string"},"is_assigned":{"type":"boolean"}}},"GlobalDomainBundleDto":{"required":["domain_bundle_list_id","value"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"value":{"maxLength":255,"minLength":1,"type":"string"},"domain_bundle_list_id":{"type":"integer","format":"int64"}}},"LineItemTargetingUrlSubstringV3Dto":{"type":"object","properties":{"url_substring":{"type":"string"},"exclude":{"type":"boolean"}}},"LineItemTargetingUrlSubstringsV3Dto":{"type":"object","properties":{"url_substrings":{"type":"array","items":{"$ref":"#/components/schemas/LineItemTargetingUrlSubstringV3Dto"}}}},"CommonDealLineItemDto":{"required":["name","start_date"],"type":"object","properties":{"filter":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"watched":{"type":"boolean"},"auction":{"type":"string"},"budget":{"minimum":0.01,"exclusiveMinimum":false,"type":"number","format":"double"},"currency":{"type":"string","enum":["EUR","USD","GBP","DKK","SEK","AUD","CZK","HUF","CHF","NOK","SGD","HKD","MYR","CAD","TRY"]},"placements":{"type":"integer","format":"int64"},"packages":{"type":"integer","format":"int64"},"template":{"type":"boolean"},"pgtlineItem":{"type":"boolean"},"coppaCompliant":{"type":"boolean"},"consentLess":{"type":"boolean"},"programmaticGuaranteed":{"type":"boolean"},"ctrOptimized":{"type":"boolean"},"dealSync":{"type":"boolean"},"contentRange":{"type":"string"},"name":{"maxLength":128,"minLength":1,"type":"string"},"type":{"type":"string"},"third_party_inventory":{"type":"boolean"},"campaign_id":{"type":"integer","format":"int64"},"campaign_name":{"type":"string"},"buying_type":{"type":"string"},"buying_entity":{"type":"string"},"buying_entity_office":{"type":"string"},"buying_entity_offices":{"type":"array","items":{"type":"string"}},"ready":{"type":"boolean"},"active":{"type":"boolean"},"line_item_status":{"type":"string"},"line_item_state":{"type":"string"},"reference_number":{"maxLength":128,"minLength":0,"type":"string"},"start_date":{"type":"string","format":"date-time"},"end_date":{"type":"string","format":"date-time"},"time_zone":{"type":"string"},"pricing_model":{"type":"string"},"cpm_bid":{"type":"number","format":"double"},"cpc_bid":{"type":"number","format":"double"},"allow_expendable":{"type":"boolean"},"pricing_model_type":{"type":"string"},"invoice_type":{"type":"string"},"impression_cap":{"minimum":1,"type":"integer","format":"int32"},"impression_cap_daily":{"type":"boolean"},"click_cap":{"minimum":0,"type":"integer","format":"int32"},"frequency_cap":{"minimum":0,"type":"integer","format":"int32"},"frequency_interval":{"type":"number","format":"double"},"frequency_interval_type":{"type":"string","enum":["months","weeks","days","hours","minutes"]},"browser_session_capping":{"minimum":0,"type":"integer","format":"int64"},"budget_is_daily":{"type":"boolean"},"daily_impression_caps":{"type":"array","items":{"$ref":"#/components/schemas/DailyImpressionCap"}},"custom_budgets":{"type":"array","items":{"$ref":"#/components/schemas/CustomBudget"}},"margin_percentage":{"minimum":0,"type":"number","format":"double"},"no_of_creatives":{"type":"integer","format":"int64"},"no_of_package_placements":{"type":"integer","format":"int64"},"no_of_dynamic_packages":{"type":"integer","format":"int64"},"no_of_excluded_placements":{"type":"integer","format":"int64"},"smart_guaranteed":{"type":"boolean"},"delivery_schedule":{"type":"string"},"delivery_schedule_pacing_mode":{"type":"string"},"retargeting_pixel_id":{"type":"integer","format":"int64"},"retargeting_pixel_click_only":{"type":"boolean"},"track_viewability":{"type":"boolean"},"improve_demand_contact_id":{"type":"integer","format":"int64"},"improve_demand_contact_name":{"type":"string"},"user_id":{"type":"integer","format":"int64"},"business_unit_id":{"type":"integer","format":"int64"},"buyer_id":{"type":"integer","format":"int64"},"buyer_name":{"type":"string"},"budget_progression":{"type":"number","format":"double"},"time_progression":{"type":"number","format":"double"},"impression_today":{"type":"integer","format":"int64"},"click_today":{"type":"integer","format":"int64"},"revenue_today":{"type":"number","format":"double"},"margin_today":{"type":"number","format":"double"},"impression_yesterday":{"type":"integer","format":"int64"},"click_yesterday":{"type":"integer","format":"int64"},"spent_yesterday":{"type":"number","format":"double"},"spent_today":{"type":"number","format":"double"},"clicks":{"type":"integer","format":"int64"},"impressions":{"type":"integer","format":"int64"},"booked_impressions":{"type":"integer","format":"int64"},"spent":{"type":"number","format":"double"},"deal_sync_status":{"type":"integer","format":"int32"},"is_deal_sync":{"type":"boolean"},"is_programmatic_guaranteed":{"type":"boolean"},"is_optimised":{"type":"boolean"},"owned_publishers":{"type":"object","additionalProperties":{"type":"string"}},"targeting_deals":{"type":"array","items":{"$ref":"#/components/schemas/LineItemTargetingDealDto"}},"deal_sync_fail_reason":{"type":"string"},"deal_sync_id":{"type":"string"},"remaining_budget":{"type":"number","format":"double"},"click_through_rate":{"type":"number","format":"double"},"is_consentless":{"type":"boolean"},"is_coppa_compliant":{"type":"boolean"},"optimized_kpi_click":{"type":"boolean"},"click_through_rate_yesterday":{"type":"number","format":"double"},"click_through_rate_today":{"type":"number","format":"double"},"margin":{"type":"number","format":"double"},"margin_yesterday":{"type":"number","format":"double"},"keep_on_delivering":{"type":"boolean"},"status":{"type":"string"},"xandr_deal_id":{"type":"integer","format":"int64"},"limited_exposure":{"type":"boolean"},"conversion_tracking_enabled":{"type":"boolean"},"event_name":{"maxLength":128,"minLength":0,"type":"string"},"geotargeting_applied":{"type":"boolean"},"is_creative_weight_assigned":{"type":"boolean"},"margin_yesterday_pct":{"type":"number","format":"double"},"margin_today_pct":{"type":"number","format":"double"},"margin_pct":{"type":"number","format":"double"},"optout_mechanism":{"type":"array","items":{"$ref":"#/components/schemas/OptOutMechanismDto"}},"external_deal_id":{"type":"string"},"is_dynamic_optimization":{"type":"boolean"},"dynamic_optimization_kpi_type":{"type":"string"},"dynamic_optimization_kpi_value":{"type":"string"},"goal":{"type":"string","enum":["BUDGET","IMPRESSION"]},"template_id":{"type":"integer","format":"int64"},"vtr":{"type":"number","format":"double"},"vtr_yesterday":{"type":"number","format":"double"},"vtr_today":{"type":"number","format":"double"},"no_geo_targeting_restriction":{"type":"boolean"},"is_pgt_li":{"type":"boolean"},"pg_tagged_placement_info":{"$ref":"#/components/schemas/PgTaggedPlacementInfoDto"},"info":{"$ref":"#/components/schemas/InfoDto"},"placement_under_processing":{"type":"boolean"},"kids_safety_filter":{"type":"boolean"},"political_ads":{"type":"boolean"},"political_ads_details":{"$ref":"#/components/schemas/PoliticalAdsDto"},"ttd_contact_details":{"$ref":"#/components/schemas/TTDContactDetailsDto"}}},"CustomBudget":{"required":["cb_start_date"],"type":"object","properties":{"cb_id":{"type":"integer","format":"int64"},"cb_start_date":{"type":"string","format":"date-time"},"cb_end_date":{"type":"string","format":"date-time"},"cb_budget_for_period":{"type":"number","format":"double"}}},"DailyImpressionCap":{"required":["dic_end_date","dic_start_date"],"type":"object","properties":{"dic_id":{"type":"integer","format":"int64"},"dic_start_date":{"type":"string","format":"date-time"},"dic_end_date":{"type":"string","format":"date-time"},"dic_impression_cap_for_date":{"type":"integer","format":"int64"}}},"InfoDto":{"type":"object","properties":{"creator":{"$ref":"#/components/schemas/IdNameTuple"},"modifier":{"$ref":"#/components/schemas/IdNameTuple"},"created_at":{"type":"string","format":"date-time"},"modified_at":{"type":"string","format":"date-time"}}},"LineItemTargetingDealDto":{"type":"object","properties":{"publisher_id":{"type":"integer","format":"int64"},"publisher_name":{"type":"string"},"deal_id":{"type":"string"}}},"OptOutMechanismDto":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"}}},"PgTaggedPlacementInfoDto":{"type":"object","properties":{"placement_id":{"type":"integer","format":"int64"},"zone_id":{"type":"integer","format":"int64"},"inventory_id":{"type":"integer","format":"int64"},"publisher_id":{"type":"integer","format":"int64"},"publisher_name":{"type":"string"}}},"PoliticalAdsDto":{"required":["contact_email","contact_name","political_campaign","political_party","start_time"],"type":"object","properties":{"political_party":{"maxLength":128,"minLength":1,"type":"string"},"political_campaign":{"maxLength":128,"minLength":1,"type":"string"},"start_time":{"type":"string","format":"date-time"},"end_time":{"type":"string","format":"date-time"},"budget":{"minimum":1.00,"exclusiveMinimum":false,"type":"number","format":"double"},"currency":{"type":"string"},"origin_of_funds":{"type":"string"},"is_funded_from_eu":{"type":"boolean"},"contact_name":{"maxLength":128,"minLength":0,"type":"string"},"contact_email":{"maxLength":128,"minLength":0,"type":"string"},"contact_phone":{"maxLength":32,"minLength":0,"type":"string"},"contact_address":{"maxLength":256,"minLength":1,"type":"string"}}},"LineItemTargetingSizesDtoV3":{"type":"object","properties":{"size_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}},"LineItemTargetingSizeDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"LineItemTargetingSizesDto":{"type":"object","properties":{"sizes":{"type":"array","items":{"$ref":"#/components/schemas/LineItemTargetingSizeDto"}}}},"IspDto":{"required":["name"],"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"id":{"type":"integer","format":"int64"},"name":{"maxLength":32,"minLength":1,"type":"string"}}},"LineItemIspTargetingV3Dto":{"type":"object","properties":{"filter":{"type":"boolean"},"isps":{"type":"array","items":{"$ref":"#/components/schemas/IspDto"}},"exclude":{"type":"boolean"},"contentRange":{"type":"string"}}},"CampaignMetadataBulkEditDto":{"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/MetadataDto"},"campaign_ids":{"type":"array","items":{"type":"integer","format":"int64"}}}},"CommonDealLineItemPlacementsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"oneskin":{"type":"boolean"},"contentRange":{"type":"string"},"line_item_placements":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CommonPlacementDto"}},"is_oneskin":{"type":"boolean"},"assigned_placement_count":{"type":"integer","format":"int64"},"li_no_of_placements":{"type":"integer","format":"int64"},"li_no_of_package_placements":{"type":"integer","format":"int64"},"li_no_of_packages":{"type":"integer","format":"int64"}}},"CommonPlacementDto":{"required":["assigned","id"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"status":{"type":"string"},"fold":{"type":"string"},"placement_type_id":{"type":"integer","format":"int64"},"publisher_id":{"type":"integer","format":"int64"},"publisher_name":{"type":"string"},"zone_id":{"type":"integer","format":"int64"},"zone_name":{"type":"string"},"site_id":{"type":"integer","format":"int64"},"site_name":{"type":"string"},"site_type_id":{"type":"integer","format":"int64"},"iab_categories":{"type":"array","items":{"type":"integer","format":"int64"}},"iab_secondary_categories":{"type":"array","items":{"type":"integer","format":"int64"}},"video_format_type":{"type":"string"},"business_unit_id":{"type":"integer","format":"int64"},"assigned":{"type":"boolean"}}},"CampaignDto":{"required":["improve_demand_contact_id","name","start_date"],"type":"object","properties":{"filter":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"name":{"maxLength":128,"minLength":1,"type":"string"},"watched":{"type":"boolean"},"agencyDiscount":{"maximum":100,"minimum":0,"type":"number","format":"double","xml":{"name":"agency_discount"}},"clientReferenceNumber":{"maxLength":128,"minLength":0,"type":"string","xml":{"name":"client_reference_number"}},"companionId":{"type":"integer","format":"int64","xml":{"name":"companion_id"}},"operationsContactId":{"type":"integer","format":"int64","xml":{"name":"operations_contact_id"}},"publisherContactId":{"type":"integer","format":"int64","xml":{"name":"publisher_contact_id"}},"salesContactId":{"type":"integer","format":"int64","xml":{"name":"sales_contact_id"}},"advertiserContactId":{"type":"integer","format":"int64","xml":{"name":"advertiser_contact_id"}},"advertiserId":{"type":"integer","format":"int64","xml":{"name":"advertiser_id"}},"agencyId":{"type":"integer","format":"int64","xml":{"name":"agency_id"}},"agencyContactId":{"type":"integer","format":"int64","xml":{"name":"agency_contact_id"}},"contentRange":{"type":"string"},"type":{"type":"string"},"reference_number":{"maxLength":128,"minLength":0,"type":"string"},"buying_entity_id":{"type":"integer","format":"int64"},"buying_entity":{"type":"string"},"buying_entity_reference_number":{"maxLength":128,"minLength":0,"type":"string"},"buying_entity_office_id":{"type":"integer","format":"int64"},"buying_entity_office_ids":{"type":"array","items":{"type":"integer","format":"int64"}},"buying_entity_office":{"type":"string"},"buying_entity_offices":{"type":"array","items":{"type":"string"}},"buying_entity_office_reference_number":{"maxLength":128,"minLength":0,"type":"string"},"deal_sync_fail_reason":{"type":"string"},"currency":{"type":"string","enum":["EUR","USD","GBP","DKK","SEK","AUD","CZK","HUF","CHF","NOK","SGD","HKD","MYR","CAD","TRY"]},"improve_demand_contact_id":{"type":"integer","format":"int64"},"start_date":{"type":"string","format":"date-time"},"end_date":{"type":"string","format":"date-time"},"time_zone":{"type":"string"},"days_left":{"type":"integer","format":"int32"},"days_before_start":{"type":"integer","format":"int32"},"ready":{"type":"boolean"},"active":{"type":"boolean"},"line_items_active":{"type":"integer","format":"int64"},"line_items_total":{"type":"integer","format":"int64"},"budget":{"minimum":0,"type":"number","format":"double"},"booked_budget":{"type":"number","format":"double"},"remaining_budget":{"type":"number","format":"double"},"status":{"type":"string"},"text_ads_tiling":{"type":"boolean"},"display_tiling":{"type":"boolean"},"publisher_id":{"type":"integer","format":"int64"},"business_unit_id":{"type":"integer","format":"int64"},"li_business_unit_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"li_buyer_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"is_multiple_beos":{"type":"boolean"},"is_any_buyer":{"type":"boolean"},"is_deal_sync":{"type":"boolean"},"is_programmatic_guaranteed":{"type":"boolean"},"is_pg_tag":{"type":"boolean"},"deal_sync_status":{"type":"integer","format":"int32"},"user_id":{"type":"integer","format":"int64"},"third_party_inventory":{"type":"boolean"},"booked_impressions":{"type":"integer","format":"int64"},"impressions":{"type":"integer","format":"int64"},"impression_today":{"type":"integer","format":"int64"},"impression_yesterday":{"type":"integer","format":"int64"},"spent":{"type":"number","format":"double"},"spent_today":{"type":"number","format":"double"},"spent_yesterday":{"type":"number","format":"double"},"clicks":{"type":"integer","format":"int64"},"click_today":{"type":"integer","format":"int64"},"click_yesterday":{"type":"integer","format":"int64"},"click_through_rate":{"type":"number","format":"double"},"click_through_rate_today":{"type":"number","format":"double"},"click_through_rate_yesterday":{"type":"number","format":"double"},"vtr":{"type":"number","format":"double"},"vtr_today":{"type":"number","format":"double"},"vtr_yesterday":{"type":"number","format":"double"},"margin":{"type":"number","format":"double"},"margin_today":{"type":"number","format":"double"},"margin_yesterday":{"type":"number","format":"double"},"revenue_today":{"type":"number","format":"double"},"budget_progression":{"type":"number","format":"double"},"time_progression":{"type":"number","format":"double"},"margin_pct":{"type":"number","format":"double"},"margin_today_pct":{"type":"number","format":"double"},"margin_yesterday_pct":{"type":"number","format":"double"},"info":{"$ref":"#/components/schemas/InfoDto"},"allowed_pricing_model_type":{"type":"string"},"dv360_central_partner":{"type":"boolean"}}},"LineItemTargetingUrlSubstringDto":{"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"url_substrings":{"type":"array","items":{"type":"string"}}}},"LineItemPixelTargetingDto":{"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"pixel_groups":{"type":"array","items":{"$ref":"#/components/schemas/PixelGroup"}}}},"PixelGroup":{"type":"object","properties":{"pixel_ids":{"type":"array","items":{"$ref":"#/components/schemas/PixelId"}},"group_operator":{"type":"string","enum":["AND","OR"]},"exclude":{"type":"boolean"}}},"PixelId":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"operator":{"type":"string","enum":["AND","OR"]}}},"LineItemPackageDto":{"required":["assigned","id"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"assigned":{"type":"boolean"}}},"LineItemPackagesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"line_item_packages":{"type":"array","items":{"$ref":"#/components/schemas/LineItemPackageDto"}},"li_no_of_placements":{"type":"integer","format":"int64"},"li_no_of_packages":{"type":"integer","format":"int64"}}},"LineItemInventoryCountDto":{"type":"object","properties":{"li_no_of_placements":{"type":"integer","format":"int64"},"li_no_of_packages":{"type":"integer","format":"int64"},"li_no_of_dynamic_packages":{"type":"integer","format":"int64"},"message":{"type":"string"}}},"LineItemTargetingMediaTypeDto":{"type":"object","properties":{"media_type_id":{"type":"integer","format":"int64"}}},"LineItemMediaAttributeTargetingDto":{"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"feeds":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["MUSIC","FM","PODCAST","CATCH_UP_RADIO","WEB_RADIO","VIDEO_GAME","TEXT_TO_SPEECH"]}},"start_delays":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["PRE","MID","POST"]}},"delivery_types":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["STREAMING","PROGRESSIVE","DOWNLOAD"]}},"skippable_traffic_targeting":{"type":"boolean"}}},"LineItemKeyValueDto":{"type":"object","properties":{"key":{"type":"string"},"values":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"exclude":{"type":"boolean"},"operator":{"type":"string","enum":["ALL","ANY"]}}},"LineItemKeysValuesDto":{"type":"object","properties":{"keyValues":{"type":"array","items":{"$ref":"#/components/schemas/LineItemKeyValueDto"}}}},"LineItemTargetingIpAddressDto":{"type":"object","properties":{"ip_addresses":{"maxItems":10,"minItems":0,"uniqueItems":true,"type":"array","items":{"type":"string"}}}},"BrandSafetySegmentDto":{"type":"object","properties":{"filter":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"assigned":{"type":"boolean"},"contentRange":{"type":"string"},"display_name":{"type":"string"},"type_id":{"type":"integer","format":"int64"}}},"LineItemBrandSafetyKeywordDto":{"type":"object","properties":{"filter":{"type":"boolean"},"content":{"type":"array","items":{"$ref":"#/components/schemas/BrandSafetySegmentDto"}},"inclusion":{"type":"boolean"},"contentRange":{"type":"string"}}},"LineItemBrandSafetySegmentDto":{"type":"object","properties":{"filter":{"type":"boolean"},"content":{"type":"array","items":{"$ref":"#/components/schemas/BrandSafetySegmentDto"}},"contentRange":{"type":"string"},"all_safe":{"type":"boolean"}}},"LineItemBrandSafetySegmentsDto":{"type":"object","properties":{"filter":{"type":"boolean"},"segments":{"$ref":"#/components/schemas/LineItemBrandSafetySegmentDto"},"keywords":{"$ref":"#/components/schemas/LineItemBrandSafetyKeywordDto"},"contentRange":{"type":"string"},"keywords_include":{"$ref":"#/components/schemas/LineItemBrandSafetyKeywordDto"}}},"LineItemTargetingDealsDto":{"type":"object","properties":{"content_objects":{"type":"array","items":{"$ref":"#/components/schemas/LineItemTargetingDealDto"}},"strict_targeting":{"type":"boolean"}}},"SpecialFieldDto":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"maxLength":128,"minLength":1,"type":"string"},"group_id":{"type":"integer","format":"int64"},"desc":{"type":"string"}}},"PixelDto":{"required":["active","created_at","format","name","secure","source","type"],"type":"object","properties":{"filter":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"name":{"maxLength":128,"minLength":1,"type":"string"},"secure":{"type":"boolean"},"expiration":{"minimum":1,"type":"integer","format":"int32"},"contentRange":{"type":"string"},"source":{"type":"string"},"type":{"type":"string"},"format":{"type":"string"},"active":{"type":"boolean"},"post_view_interval":{"maximum":2147483647,"type":"integer","format":"int64"},"post_click_interval":{"maximum":2147483647,"type":"integer","format":"int64"},"conversion_interval":{"maximum":2147483647,"type":"integer","format":"int64"},"created_at":{"type":"string","format":"date-time"},"uniques_yesterday":{"type":"integer","format":"int64"},"uniques_last_7_days":{"type":"integer","format":"int64"},"uniques_last_30_days":{"type":"integer","format":"int64"},"created_by":{"type":"integer","format":"int64"}}},"PackageDto":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"description":{"maxLength":1024,"minLength":0,"type":"string"},"sizes":{"type":"array","items":{"type":"integer","format":"int64"}},"countries":{"type":"array","items":{"type":"string"}},"assigned":{"type":"boolean"},"locked":{"type":"boolean"},"name":{"maxLength":128,"minLength":0,"type":"string"},"iab_category_id":{"type":"integer","format":"int64"},"price":{"type":"number","format":"double"},"num_of_placements":{"type":"integer","format":"int64"},"num_of_line_items":{"type":"integer","format":"int64"},"total_number_of_placements":{"type":"integer","format":"int64"},"is_dynamic":{"type":"boolean"},"created_by_id":{"type":"integer","format":"int64"},"country_token":{"type":"string"},"country_id":{"type":"integer","format":"int64"},"buyer_id":{"type":"integer","format":"int64"},"inventory_type_ids":{"type":"array","items":{"type":"integer","format":"int64"}},"platform_types":{"type":"array","items":{"type":"string"}},"allow_pg_deals":{"type":"boolean"},"improve_user_id":{"type":"integer","format":"int64"}}},"PackagePlacementsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"invalidPlacements":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"totalAssignedPackages":{"type":"integer","format":"int64"},"contentRange":{"type":"string"},"package_placements":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CommonPlacementDto"}}}},"LineItemPublicReportSettingsDto":{"required":["time_zone"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"uuid":{"type":"string"},"enable":{"type":"boolean"},"impressions":{"type":"boolean"},"clicks":{"type":"boolean"},"ctr":{"type":"boolean"},"spent":{"type":"boolean"},"duration_in_days":{"type":"integer","format":"int32"},"currency_id":{"type":"integer","format":"int64"},"currency_code":{"type":"string"},"time_zone":{"type":"string"},"line_item_id":{"type":"integer","format":"int64"},"line_item_name":{"type":"string"}}},"LineItemAdPodsTargetingDto":{"required":["slot_in_pod_targeting"],"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"slot_in_pod_targeting":{"type":"integer","format":"int32"}}},"LineItemBulkExposureUpdateDto":{"required":["line_item_ids"],"type":"object","properties":{"message":{"type":"string"},"line_item_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}},"LineItemBulkStatusEditDto":{"type":"object","properties":{"active":{"type":"boolean"},"line_item_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}},"HybridTheorySegmentDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"display_name":{"type":"string"},"type":{"type":"string"},"type_id":{"type":"integer","format":"int64"}}},"FixedPriceRuleDto":{"required":["business_unit_id","cpm_bid","status"],"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"business_unit_id":{"type":"integer","format":"int64"},"cpm_bid":{"type":"number","format":"double"},"status":{"type":"string"},"status_id":{"type":"integer","format":"int64"},"currency_code":{"type":"string"},"placement_ids":{"type":"array","items":{"type":"integer","format":"int64"}},"publisher_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"line_items":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}},"FixedPriceRuleResponseDto":{"required":["business_unit","cpm_bid"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"business_unit":{"$ref":"#/components/schemas/IdNameTuple"},"cpm_bid":{"type":"number","format":"double"},"status_id":{"type":"integer","format":"int64"},"currency":{"$ref":"#/components/schemas/IdNameTuple"},"placements":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}},"publishers":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}},"line_items":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}}}},"ExcludePlacementDto":{"type":"object","properties":{"placement_ids":{"type":"array","items":{"type":"integer","format":"int64"}}}},"DocumentDto":{"type":"object","properties":{"filter":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"description":{"type":"string"},"status":{"type":"string"},"url":{"type":"string"},"name":{"maxLength":128,"minLength":0,"type":"string"},"date":{"type":"string","format":"date-time"},"contentRange":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"document_type":{"type":"string"},"document_type_target":{"type":"string"},"download_url":{"type":"string"}}},"LineItemGeoTargetingDto":{"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"geo_targeting":{"type":"array","items":{"$ref":"#/components/schemas/Geo"}}}},"DeviceDto":{"type":"object","properties":{"type":{"type":"string"},"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"exclude":{"type":"boolean"},"excludeAsInteger":{"type":"integer","format":"int32"}}},"LineItemDeviceTargetingDto":{"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"device_targeting":{"type":"array","items":{"$ref":"#/components/schemas/DeviceDto"}}}},"LineItemIspTargetingDto":{"type":"object","properties":{"filter":{"type":"boolean"},"isps":{"type":"array","items":{"type":"string"}},"exclude":{"type":"boolean"},"contentRange":{"type":"string"}}},"LineItemCreativeDto":{"required":["name","size","size_id"],"type":"object","properties":{"filter":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"assigned":{"type":"boolean"},"weight":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"start_date":{"type":"string","format":"date-time"},"end_date":{"type":"string","format":"date-time"},"size":{"maxLength":128,"minLength":1,"type":"string"},"size_id":{"type":"integer","format":"int64"},"name":{"maxLength":128,"minLength":1,"type":"string"},"status":{"type":"string"}}},"LineItemCreativesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"line_item_creatives":{"type":"array","items":{"$ref":"#/components/schemas/LineItemCreativeDto"}}}},"CreativeBulkUnassignDto":{"type":"object","properties":{"creative_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}},"CommentDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"content":{"maxLength":5000,"minLength":0,"type":"string"}}},"Browsers":{"type":"object","properties":{"exclude":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"browser":{"type":"string"},"versions":{"type":"array","items":{"$ref":"#/components/schemas/Version"}}}},"LineItemBrowserTargetingDto":{"type":"object","properties":{"filter":{"type":"boolean"},"browsers":{"type":"array","items":{"$ref":"#/components/schemas/Browsers"}},"contentRange":{"type":"string"}}},"Version":{"type":"object","properties":{"version":{"type":"string"},"exclude":{"type":"boolean"}}},"AdBuilderMacroDtoV2":{"type":"object","properties":{"macro":{"type":"string"},"value":{"type":"string"}}},"AdBuilderPropertyDto":{"type":"object","properties":{"feature_type":{"type":"string"},"global_redirection":{"type":"boolean"},"json_settings":{"type":"string"}}},"ClickTag":{"required":["ct_id","ct_tag","ct_url"],"type":"object","properties":{"ct_id":{"type":"integer","format":"int64"},"ct_tag":{"type":"string"},"ct_url":{"type":"string"}}},"CreativeDto":{"required":["name","size","status","tag","type"],"type":"object","properties":{"filter":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"creativeHash":{"maxLength":128,"minLength":1,"type":"string"},"type":{"maxLength":128,"minLength":0,"type":"string"},"typeId":{"maximum":128,"minimum":0,"type":"integer","format":"int64"},"size":{"maxLength":128,"minLength":0,"type":"string"},"width":{"maximum":4096,"minimum":0,"type":"integer","format":"int32"},"height":{"maximum":4096,"minimum":0,"type":"integer","format":"int32"},"image":{"$ref":"#/components/schemas/FileDto"},"skippable":{"type":"boolean"},"contentRange":{"type":"string"},"name":{"maxLength":128,"minLength":1,"type":"string"},"campaign_id":{"type":"integer","format":"int64"},"size_id":{"type":"integer","format":"int64"},"status":{"maxLength":128,"minLength":0,"type":"string"},"image_click_url":{"maxLength":65535,"minLength":0,"type":"string"},"image_url":{"maxLength":65535,"minLength":0,"type":"string"},"image_alt_text":{"maxLength":255,"minLength":0,"type":"string"},"tag":{"type":"string"},"tag_secure":{"type":"boolean"},"tag_identifier_hash":{"maxLength":255,"minLength":0,"type":"string"},"can_track_clicks":{"type":"boolean"},"max_width":{"type":"integer","format":"int32"},"max_height":{"type":"integer","format":"int32"},"iab_category":{"type":"string"},"mraid_type":{"type":"string"},"impression_tracker":{"maxLength":65535,"minLength":0,"type":"string"},"impression_tracker_js":{"maxLength":65535,"minLength":0,"type":"string"},"third_party_type":{"type":"string"},"assets":{"type":"array","items":{"$ref":"#/components/schemas/CreativeNativeAssetDto"}},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"platform_types":{"type":"array","items":{"type":"string"}},"advertiser_domain":{"type":"string"},"video_file_name":{"type":"string"},"click_tags":{"type":"array","items":{"$ref":"#/components/schemas/ClickTag"}},"clicktracking":{"type":"string"},"skip_after_time":{"type":"integer","format":"int64"},"tracking_events":{"$ref":"#/components/schemas/TrackingEvents"},"spot_type":{"maxLength":128,"minLength":0,"type":"string"},"ad_break_position":{"maxLength":128,"minLength":0,"type":"string"},"vpaid_ad_tag_uri":{"type":"string"},"vpaid_ad_tag_uri_secure":{"type":"boolean"},"vpaid_duration":{"type":"integer","format":"int64"},"player_compatibilities":{"type":"array","items":{"type":"string"}},"vpaid_version":{"type":"string"},"link_url":{"type":"string"},"ad_builder_properties":{"$ref":"#/components/schemas/AdBuilderPropertyDto"},"macros":{"type":"array","items":{"$ref":"#/components/schemas/AdBuilderMacroDtoV2"}},"assigned":{"type":"boolean"},"weight":{"type":"integer","format":"int32"},"creative_assgined_li":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"start_date":{"type":"string","format":"date-time"},"end_date":{"type":"string","format":"date-time"},"message":{"type":"string"},"ready":{"type":"boolean"},"interactive_endcard":{"type":"boolean"},"info":{"$ref":"#/components/schemas/InfoDto"},"self_hosted":{"type":"boolean"},"self_hosted_vast_status":{"type":"string","enum":["IN_PROGRESS","COMPLETED","FAILED"]},"self_hosted_vast_error":{"type":"string"},"self_hosted_vast_assets_deleted":{"type":"boolean"}}},"CreativeNativeAssetDto":{"type":"object","properties":{"filter":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"type":{"type":"string"},"value":{"type":"string"},"text":{"type":"string"},"image":{"$ref":"#/components/schemas/FileDto"},"imageUrl":{"type":"string","writeOnly":true},"vastTag":{"type":"string"},"contentRange":{"type":"string"},"asset_type_id":{"type":"integer","format":"int64"},"multipart_key":{"type":"string"}}},"FileDto":{"required":["created_at","mime_type","name","size"],"type":"object","properties":{"filter":{"type":"boolean"},"id":{"maxLength":128,"minLength":0,"type":"string"},"name":{"maxLength":128,"minLength":0,"type":"string"},"size":{"type":"integer","format":"int64"},"width":{"type":"integer","format":"int32"},"height":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"mime_type":{"maxLength":128,"minLength":0,"type":"string"},"created_at":{"type":"string","format":"date-time"}}},"TrackingEvents":{"type":"object","properties":{"impression":{"maxLength":65535,"minLength":0,"type":"string"},"start":{"maxLength":65535,"minLength":0,"type":"string"},"complete":{"maxLength":65535,"minLength":0,"type":"string"},"mute":{"maxLength":65535,"minLength":0,"type":"string"},"unmute":{"maxLength":65535,"minLength":0,"type":"string"},"pause":{"maxLength":65535,"minLength":0,"type":"string"},"resume":{"maxLength":65535,"minLength":0,"type":"string"},"rewind":{"maxLength":65535,"minLength":0,"type":"string"},"fullscreen":{"maxLength":65535,"minLength":0,"type":"string"},"close":{"maxLength":65535,"minLength":0,"type":"string"},"expand":{"maxLength":65535,"minLength":0,"type":"string"},"collapse":{"maxLength":65535,"minLength":0,"type":"string"},"click":{"maxLength":65535,"minLength":0,"type":"string"},"skip":{"maxLength":65535,"minLength":0,"type":"string"},"creative_view":{"maxLength":65535,"minLength":0,"type":"string"},"first_quartile":{"maxLength":65535,"minLength":0,"type":"string"},"mid_point":{"maxLength":65535,"minLength":0,"type":"string"},"third_quartile":{"maxLength":65535,"minLength":0,"type":"string"}}},"CreativeBulkStatusEditDto":{"type":"object","properties":{"creative_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"active":{"type":"boolean"},"message":{"type":"string"}}},"CommonDealLineItemBulkEditPlacementsDto":{"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"line_item_ids":{"type":"array","items":{"type":"integer","format":"int64"}},"line_item_placements":{"$ref":"#/components/schemas/CommonDealLineItemPlacementsDto"}}},"CampaignPublicReportSettingsDto":{"required":["time_zone"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"uuid":{"type":"string"},"enable":{"type":"boolean"},"impressions":{"type":"boolean"},"clicks":{"type":"boolean"},"ctr":{"type":"boolean"},"spent":{"type":"boolean"},"duration_in_days":{"type":"integer","format":"int32"},"currency_id":{"type":"integer","format":"int64"},"currency_code":{"type":"string"},"time_zone":{"type":"string"},"campaign_id":{"type":"integer","format":"int64"},"campaign_name":{"type":"string"}}},"TopicDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"TopicsDto":{"type":"object","properties":{"topics":{"type":"array","items":{"$ref":"#/components/schemas/TopicDto"}}}},"SdasDto":{"type":"object","properties":{"sdas":{"type":"array","items":{"$ref":"#/components/schemas/TopicDto"}}}},"LineItemTargetingPostalCodeDto":{"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"postal_code":{"type":"string"},"country_iso_code":{"type":"string"}}},"LineItemTargetingPostalCodesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"postal_codes":{"type":"array","items":{"$ref":"#/components/schemas/LineItemTargetingPostalCodeDto"}}}},"LineItemTargetingPlaybackDto":{"type":"object","properties":{"sound":{"type":"boolean"},"onclick":{"type":"boolean"},"mouseover":{"type":"boolean"},"autoplay":{"type":"boolean"},"inview":{"type":"boolean"}}},"LineItemTargetingPlatformTypeDto":{"type":"object","properties":{"platform-type":{"type":"string"}}},"UniversalDealLineItemPlacementsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"ud_line_item_placements":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CommonPlacementDto"}},"invalid_placements":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"assigned_placement_count":{"type":"integer","format":"int64"},"li_no_of_placements":{"type":"integer","format":"int64"},"li_no_of_packages":{"type":"integer","format":"int64"}}},"LineItemPixelDto":{"required":["assigned","id"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"format":{"type":"string"},"secure":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"assigned":{"type":"boolean"}}},"LineItemPixelsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"line_item_pixels":{"type":"array","items":{"$ref":"#/components/schemas/LineItemPixelDto"}}}},"LineItemLanguageTargetingDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"iso_code":{"type":"string"}}},"LineItemLanguagesTargetingDto":{"type":"object","properties":{"languages":{"type":"array","items":{"$ref":"#/components/schemas/LineItemLanguageTargetingDto"}}}},"LineItemTargetingKeywordInclusionDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"display_name":{"type":"string"},"include":{"type":"boolean"}}},"LineItemTargetingKeywordInclusionsDto":{"type":"object","properties":{"keywords":{"type":"array","items":{"$ref":"#/components/schemas/LineItemTargetingKeywordInclusionDto"}}}},"IabCategorySecondaryDto":{"type":"object","properties":{"filter":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string"},"exclude":{"type":"boolean"},"contentRange":{"type":"string"}}},"LineItemTargetingIabCategoriesDto":{"type":"object","properties":{"iab_categories":{"type":"array","items":{"$ref":"#/components/schemas/LineItemTargetingIabCategoryDto"}}}},"LineItemTargetingIabCategoryDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string"},"is_parent_selected":{"type":"boolean"},"sub_categories":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/IabCategorySecondaryDto"}}}},"LineItemTargetingCategorySegmentDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"display_name":{"type":"string"},"include":{"type":"boolean"}}},"LineItemTargetingCategorySegmentsDto":{"type":"object","properties":{"category_segments":{"type":"array","items":{"$ref":"#/components/schemas/LineItemTargetingCategorySegmentDto"}},"standard_predicts":{"type":"array","items":{"$ref":"#/components/schemas/LineItemTargetingCategorySegmentDto"}},"custom_predicts":{"type":"array","items":{"$ref":"#/components/schemas/LineItemTargetingCategorySegmentDto"}}}},"LineItemDeviceTypeTargetingDto":{"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"device_type_targeting":{"type":"array","items":{"$ref":"#/components/schemas/DeviceDto"}}}},"LineItemDeviceOsTargetingDto":{"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"device_os_targeting":{"type":"array","items":{"$ref":"#/components/schemas/DeviceDto"}}}},"LineItemDeviceModelTargetingDto":{"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"device_model_targeting":{"type":"array","items":{"$ref":"#/components/schemas/DeviceDto"}}}},"LineItemTargetingContentObjectDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"attribute":{"type":"string"},"value":{"type":"string"}}},"LineItemTargetingContentObjectsDto":{"type":"object","properties":{"content_objects":{"type":"array","items":{"$ref":"#/components/schemas/LineItemTargetingContentObjectDto"}}}},"LineItemTargetingHybridTheorySegmentDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"display_name":{"type":"string"},"include":{"type":"boolean"}}},"LineItemTargetingHybridTheorySegmentsDto":{"type":"object","properties":{"segments":{"type":"array","items":{"$ref":"#/components/schemas/LineItemTargetingHybridTheorySegmentDto"}}}},"UniversalDealLineItemBulkEditPlacementsDto":{"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"line_item_ids":{"type":"array","items":{"type":"integer","format":"int64"}},"line_item_placements":{"$ref":"#/components/schemas/UniversalDealLineItemPlacementsDto"}}},"LineItemBidDto":{"required":["start_date"],"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"start_date":{"type":"string","format":"date-time"},"end_date":{"type":"string","format":"date-time"},"pricing_model":{"type":"string"},"cpm_bid":{"type":"number","format":"double"},"cpc_bid":{"type":"number","format":"double"}}},"LineItemBulkEditDto":{"required":["start_date"],"type":"object","properties":{"line_item_ids":{"type":"array","items":{"type":"integer","format":"int64"}},"start_date":{"type":"string","format":"date-time"},"end_date":{"type":"string","format":"date-time"},"line_item_bid":{"$ref":"#/components/schemas/LineItemBidDto"},"margin_percentage":{"type":"number","format":"double"},"bundle_ids":{"type":"array","items":{"type":"string"}},"targeting_domains":{"type":"array","items":{"$ref":"#/components/schemas/LineItemTargetingDomainDto"}},"exclude_domains":{"type":"boolean"},"exclude_bundles":{"type":"boolean"},"global_domains":{"$ref":"#/components/schemas/LineItemTargetingGlobalDomainListDto"},"global_bundles":{"$ref":"#/components/schemas/LineItemTargetingBundleIdDto"},"package_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"line_item_creatives":{"type":"array","items":{"$ref":"#/components/schemas/LineItemCreativeDto"}},"device_targeting":{"type":"array","items":{"$ref":"#/components/schemas/DeviceDto"}},"platform_type":{"type":"string"},"brand_safety_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"iab_standard_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"category_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}}}},"BUInventoryFilteringDto":{"required":["business_unit_id"],"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"business_unit_id":{"type":"integer","format":"int64"},"placement_ids":{"type":"array","items":{"type":"integer","format":"int64"}},"publisher_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"owned_publisher_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"package_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"pixel_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"dmp_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"segment_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}},"BUInventoryFilteringResponseDto":{"required":["business_unit"],"type":"object","properties":{"business_unit":{"$ref":"#/components/schemas/IdNameTuple"},"packages":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}},"publishers":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}},"owned_publishers":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}},"placements":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}},"pixels":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}},"dmps":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}},"segments":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}}}},"BuyerDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"assigned":{"type":"boolean"},"buyer_id":{"type":"string"}}},"BuyersDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"buyers":{"type":"array","items":{"$ref":"#/components/schemas/BuyerDto"}},"contentRange":{"type":"string"}}},"AdBuilderMacroDto":{"type":"object","properties":{"filter":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"contentRange":{"type":"string"},"macro":{"type":"string"},"value":{"type":"string"}}},"PlatformUpdatesDto":{"required":["duration","message"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"message":{"type":"string"},"duration":{"type":"integer","format":"int32"},"priority":{"type":"integer","format":"int32"},"is_active":{"type":"boolean"},"opt_out":{"type":"boolean"}}},"WatchedLineItemDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"watched":{"type":"boolean"}}},"WatchedCampaignDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"watched":{"type":"boolean"}}},"DmpSegmentDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"maxLength":128,"minLength":0,"type":"string"},"price":{"type":"number","format":"double"},"category":{"type":"string"},"data_management_platform_id":{"type":"integer","format":"int64"},"data_management_platform_name":{"type":"string"},"external_segment_id":{"type":"string"},"external_segment_status":{"type":"boolean"}}},"SalesPersonDto":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"CampaignMetadataDto":{"required":["campaignId"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"campaignId":{"type":"string"},"campaignName":{"type":"string"},"campaignType":{"type":"string"},"netRevenue":{"type":"number","format":"double"},"currencyCode":{"type":"string"},"entityStatus":{"type":"string"},"campaignStartDate":{"type":"string","format":"date-time"},"campaignEndDate":{"type":"string","format":"date-time"},"advertiserName":{"type":"string"},"agencyId":{"type":"integer","format":"int64"},"agencyName":{"type":"string"},"businessUnitId":{"type":"integer","format":"int64"},"businessUnitName":{"type":"string"},"buyerId":{"type":"integer","format":"int64"},"buyerName":{"type":"string"},"integrationPlatformId":{"type":"integer","format":"int64"},"dspName":{"type":"string"},"dspAlias":{"type":"string"},"seatId":{"type":"string"},"seatName":{"type":"string"},"adOpsPersonId":{"type":"integer","format":"int64"},"adOpsPersonName":{"type":"string"},"salesPersonId":{"type":"string"},"salesPersonName":{"type":"string"},"advertiserUuid":{"type":"string"},"entityType":{"type":"string"},"businessUnitRegion":{"type":"string"},"updatedByUserAt":{"type":"string","format":"date-time"},"completed":{"type":"boolean"},"netRevenueUnknown":{"type":"boolean"},"isCompleted":{"type":"boolean"}}},"AdvertiserDto":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"UnifiedDealLineItemDto":{"required":["name","start_date"],"type":"object","properties":{"budget":{"minimum":0.01,"exclusiveMinimum":false,"type":"number","format":"double"},"id":{"type":"integer","format":"int64"},"campaign_id":{"type":"integer","format":"int64"},"name":{"maxLength":128,"minLength":1,"type":"string"},"type":{"type":"string"},"start_date":{"type":"string","format":"date-time"},"end_date":{"type":"string","format":"date-time"},"time_zone":{"type":"string"},"dv360_central_partner":{"type":"boolean"},"third_party_inventory":{"type":"boolean"},"cpm_bid":{"type":"number","format":"double"},"impression_cap":{"minimum":1,"type":"integer","format":"int32"},"margin":{"type":"number","format":"double"},"pricing_model_type":{"type":"string"},"track_viewability":{"type":"boolean"},"is_consentless":{"type":"boolean"},"is_coppa_compliant":{"type":"boolean"},"is_optimised":{"type":"boolean"},"is_dynamic_optimization":{"type":"boolean"},"dynamic_optimization_kpi_type":{"type":"string"},"dynamic_optimization_kpi_value":{"type":"string"},"frequency_interval_type":{"type":"string","enum":["months","weeks","days","hours","minutes"]},"frequency_interval":{"type":"number","format":"double"},"reference_number":{"maxLength":128,"minLength":0,"type":"string"},"status":{"type":"string"},"buying_entity_id":{"type":"integer","format":"int64"},"buying_entity_office_ids":{"maxItems":10,"minItems":1,"type":"array","items":{"type":"integer","format":"int64"}},"metadata":{"$ref":"#/components/schemas/MetadataDto"},"package_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"placement_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"excluded_placement_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"geo_targeting":{"type":"array","items":{"$ref":"#/components/schemas/Geo"}},"media_type":{"type":"string","enum":["BANNER","VIDEO","NATIVE","AUDIO","NATIVE_DISPLAY","NATIVE_VIDEO"]},"size_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"device_type_targeting":{"$ref":"#/components/schemas/LineItemDeviceTypeTargetingDtoV3"},"platform_type_targeting":{"type":"string","enum":["WEB_AND_MOBILE","WEB","MOBILE","DOOH"]},"language_targeting":{"type":"array","items":{"type":"string","enum":["EN","AA","AB","AF","AM","AR","AS","AY","AZ","BA","BE","BG","BH","BI","BN","BO","BR","CA","CO","CS","CY","DA","DE","DZ","EL","EO","ES","ET","EU","FA","FI","FJ","FO","FR","FY","GA","GD","GL","GN","GU","HA","HI","HR","HU","HY","IA","IE","IK","IN","IS","IT","IW","JA","JI","JW","KA","KK","KL","KM","KN","KO","KS","KU","KY","LA","LN","LO","LT","LV","MG","MI","MK","ML","MN","MO","MR","MS","MT","MY","NA","NE","NL","NO","OC","OM","PA","PL","PS","PT","QU","RM","RN","RO","RU","RW","SA","SD","SG","SH","SI","SK","SL","SM","SN","SO","SQ","SR","SS","ST","SU","SV","SW","TA","TE","TG","TH","TI","TK","TL","TN","TO","TR","TS","TT","TW","UK","UR","UZ","VI","VO","WO","XH","YO","ZH","ZU"]}},"brand_safety_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"captify_contextual_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"doubleverify_standard_iab_plus_contextual_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"azerion_intelligence_contextual_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"azerion_intelligence_custom_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"audience_segments":{"$ref":"#/components/schemas/LineItemDmpSegmentTargetingDto"},"domain_targeting":{"$ref":"#/components/schemas/LineItemTargetingDomainsDto"},"bundle_targeting":{"$ref":"#/components/schemas/LineItemTargetingBundleIdDto"},"time_targeting":{"$ref":"#/components/schemas/LineItemTimeTargetingDto"},"video_format_targeting":{"$ref":"#/components/schemas/LineItemTargetingVideoAudioFormatsDto"},"is_deal_sync":{"type":"boolean"},"is_programmatic_guaranteed":{"type":"boolean"},"is_pg_tag":{"type":"boolean"},"publisher_id":{"type":"integer","format":"int64"},"tag_info":{"$ref":"#/components/schemas/PgTaggedPlacementInfoDto"},"no_geo_targeting_restriction":{"type":"boolean"},"ttd_contact_details":{"$ref":"#/components/schemas/TTDContactDetailsDto"}}},"UnifiedClassicLineItemDto":{"required":["name","start_date"],"type":"object","properties":{"budget":{"minimum":0.01,"exclusiveMinimum":false,"type":"number","format":"double"},"id":{"type":"integer","format":"int64"},"campaign_id":{"type":"integer","format":"int64"},"name":{"maxLength":128,"minLength":1,"type":"string"},"type":{"type":"string"},"start_date":{"type":"string","format":"date-time"},"end_date":{"type":"string","format":"date-time"},"time_zone":{"type":"string"},"dv360_central_partner":{"type":"boolean"},"third_party_inventory":{"type":"boolean"},"cpm_bid":{"type":"number","format":"double"},"impression_cap":{"minimum":1,"type":"integer","format":"int32"},"margin":{"type":"number","format":"double"},"pricing_model_type":{"type":"string"},"track_viewability":{"type":"boolean"},"is_consentless":{"type":"boolean"},"is_coppa_compliant":{"type":"boolean"},"is_optimised":{"type":"boolean"},"is_dynamic_optimization":{"type":"boolean"},"dynamic_optimization_kpi_type":{"type":"string"},"dynamic_optimization_kpi_value":{"type":"string"},"frequency_interval_type":{"type":"string","enum":["months","weeks","days","hours","minutes"]},"frequency_interval":{"type":"number","format":"double"},"reference_number":{"maxLength":128,"minLength":0,"type":"string"},"status":{"type":"string"},"buying_entity_id":{"type":"integer","format":"int64"},"buying_entity_office_ids":{"maxItems":10,"minItems":1,"type":"array","items":{"type":"integer","format":"int64"}},"metadata":{"$ref":"#/components/schemas/MetadataDto"},"package_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"placement_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"excluded_placement_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"geo_targeting":{"type":"array","items":{"$ref":"#/components/schemas/Geo"}},"media_type":{"type":"string","enum":["BANNER","VIDEO","NATIVE","AUDIO","NATIVE_DISPLAY","NATIVE_VIDEO"]},"size_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"device_type_targeting":{"$ref":"#/components/schemas/LineItemDeviceTypeTargetingDtoV3"},"platform_type_targeting":{"type":"string","enum":["WEB_AND_MOBILE","WEB","MOBILE","DOOH"]},"language_targeting":{"type":"array","items":{"type":"string","enum":["EN","AA","AB","AF","AM","AR","AS","AY","AZ","BA","BE","BG","BH","BI","BN","BO","BR","CA","CO","CS","CY","DA","DE","DZ","EL","EO","ES","ET","EU","FA","FI","FJ","FO","FR","FY","GA","GD","GL","GN","GU","HA","HI","HR","HU","HY","IA","IE","IK","IN","IS","IT","IW","JA","JI","JW","KA","KK","KL","KM","KN","KO","KS","KU","KY","LA","LN","LO","LT","LV","MG","MI","MK","ML","MN","MO","MR","MS","MT","MY","NA","NE","NL","NO","OC","OM","PA","PL","PS","PT","QU","RM","RN","RO","RU","RW","SA","SD","SG","SH","SI","SK","SL","SM","SN","SO","SQ","SR","SS","ST","SU","SV","SW","TA","TE","TG","TH","TI","TK","TL","TN","TO","TR","TS","TT","TW","UK","UR","UZ","VI","VO","WO","XH","YO","ZH","ZU"]}},"brand_safety_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"captify_contextual_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"doubleverify_standard_iab_plus_contextual_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"azerion_intelligence_contextual_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"azerion_intelligence_custom_segments":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/LineItemContextualSegmentLiteDto"}},"audience_segments":{"$ref":"#/components/schemas/LineItemDmpSegmentTargetingDto"},"domain_targeting":{"$ref":"#/components/schemas/LineItemTargetingDomainsDto"},"bundle_targeting":{"$ref":"#/components/schemas/LineItemTargetingBundleIdDto"},"time_targeting":{"$ref":"#/components/schemas/LineItemTimeTargetingDto"},"video_format_targeting":{"$ref":"#/components/schemas/LineItemTargetingVideoAudioFormatsDto"},"cpc_bid":{"type":"number","format":"double"},"pricing_model":{"type":"string"},"goal":{"type":"string","enum":["BUDGET","IMPRESSION"]}}},"GlobalDomainBundleDtos":{"required":["domain_bundle_list_id"],"type":"object","properties":{"total_number_of_elements":{"type":"integer","format":"int64"},"domain_bundle_list_id":{"type":"integer","format":"int64"},"list_data":{"type":"array","items":{"$ref":"#/components/schemas/GlobalDomainBundleDto"}},"deleted_ids":{"type":"array","items":{"type":"integer","format":"int64"}}}},"AutomaticPackageDto":{"required":["name"],"type":"object","properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"description":{"maxLength":1024,"minLength":0,"type":"string"},"query_parameters":{"$ref":"#/components/schemas/InventoryForecastingQueryParameters"}}},"InventoryForecastingQueryParameters":{"required":["country_tokens","end_date","start_date"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"offset":{"type":"integer","format":"int32"},"limit":{"type":"integer","format":"int32"},"country_tokens":{"type":"array","items":{"type":"string"}},"exclude_country":{"type":"boolean"},"format_ids":{"type":"array","items":{"type":"string"}},"exclude_format":{"type":"boolean"},"size_ids":{"type":"array","items":{"type":"integer","format":"int64"}},"sizes":{"type":"array","items":{"type":"string"}},"exclude_size":{"type":"boolean"},"business_unit_ids":{"type":"array","items":{"type":"integer","format":"int64"}},"exclude_business_unit":{"type":"boolean"},"device_types":{"type":"array","items":{"type":"string"}},"platform_types":{"type":"array","items":{"type":"string","enum":["WEB","IN_APP","DOOH"]}},"web_domains":{"type":"array","items":{"type":"string"}},"exclude_web_domain":{"type":"boolean"},"mobile_app_bundles":{"type":"array","items":{"type":"string"}},"exclude_mobile_app_bundle":{"type":"boolean"},"cpm_applied":{"type":"number","format":"double"},"azerion_owned":{"type":"boolean"},"tier_ids":{"type":"array","items":{"type":"integer","format":"int32"}},"seller_types":{"type":"array","items":{"type":"string"}},"start_date":{"type":"string","format":"date-time"},"end_date":{"type":"string","format":"date-time"},"inventory_above_thousand":{"type":"boolean"},"video_format_type_ids":{"type":"array","items":{"type":"integer","format":"int32"}},"publisher_ids":{"type":"array","items":{"type":"integer","format":"int64"}},"publisher_names":{"type":"array","items":{"type":"string"}},"excluded_publisher_ids":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}},"include_key_value":{"type":"boolean"},"include_content_object":{"type":"boolean"},"pg":{"type":"boolean"},"ttd":{"type":"boolean"},"duration":{"type":"integer","format":"int64"}}},"CreativeDuplicationDto":{"required":["name"],"type":"object","properties":{"filter":{"type":"boolean"},"size":{"maxLength":128,"minLength":0,"type":"string"},"contentRange":{"type":"string"},"name":{"maxLength":128,"minLength":1,"type":"string"}}},"InventoryForecasting":{"type":"object","properties":{"domain":{"type":"string"},"placement_id":{"type":"integer","format":"int32"},"inventory_type":{"type":"string"},"device_type":{"type":"string"},"request_count":{"type":"integer"}}},"InventoryForecastingResponseDto":{"type":"object","properties":{"country_tokens":{"type":"array","items":{"type":"string"}},"inv_forcast":{"type":"array","items":{"$ref":"#/components/schemas/InventoryForecasting"}},"request_count":{"type":"integer","format":"int64"},"total_items":{"type":"integer","format":"int64"},"start_date":{"type":"string"},"end_date":{"type":"string"}}},"ResourceUrlDto":{"type":"object","properties":{"url":{"type":"string"}}},"CreativeBulkUploadDto":{"required":["campaign_id","creative_type","creatives"],"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"creatives":{"type":"array","items":{"$ref":"#/components/schemas/CreativeDto"}},"contentRange":{"type":"string"},"campaign_id":{"type":"integer","format":"int64"},"line_item_id":{"type":"integer","format":"int64"},"creative_type":{"maxLength":128,"minLength":0,"type":"string"}}},"DuplicateLineItemDto":{"required":["line-item-name","start-date"],"type":"object","properties":{"line-item-name":{"type":"string"},"start-date":{"type":"string"},"end-date":{"type":"string"},"is_consentless":{"type":"boolean"},"is_coppa_compliant":{"type":"boolean"},"copy_creative":{"type":"boolean"},"keep_creative_association":{"type":"boolean"},"budget":{"minimum":0.01,"exclusiveMinimum":false,"type":"number","format":"double"},"budget_is_daily":{"type":"boolean"},"political_ads":{"type":"boolean"},"political_ads_details":{"$ref":"#/components/schemas/PoliticalAdsDto"}}},"CommonDealLineItemsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"line_items":{"type":"array","items":{"$ref":"#/components/schemas/CommonDealLineItemDto"}}}},"BuyerFieldDto":{"type":"object","properties":{"special_field_id":{"type":"integer","format":"int64"},"special_field_name":{"type":"string"},"buyer_id":{"type":"integer","format":"int64"},"buyer_name":{"type":"string"}}},"BusinessUnitFieldDto":{"type":"object","properties":{"special_field_id":{"type":"integer","format":"int64"},"special_field_name":{"type":"string"},"business_unit_id":{"type":"integer","format":"int64"},"business_unit_name":{"type":"string"}}},"CampaignDuplicateLiteDto":{"required":["campaign_name","start_date"],"type":"object","properties":{"filter":{"type":"boolean"},"multipleBeos":{"type":"boolean"},"consentless":{"type":"boolean"},"anyBuyer":{"type":"boolean"},"contentRange":{"type":"string"},"campaign_id":{"type":"integer","format":"int64"},"campaign_name":{"type":"string"},"start_date":{"type":"string","format":"date-time"},"end_date":{"type":"string","format":"date-time"},"time_zone":{"type":"string"},"buying_entity_id":{"type":"integer","format":"int64"},"buying_entity_office_id":{"type":"integer","format":"int64"},"buying_entity_office_ids":{"type":"array","items":{"type":"integer","format":"int64"}},"budget":{"type":"number","format":"double"},"is_multiple_beos":{"type":"boolean"},"is_any_buyer":{"type":"boolean"},"is_deal_sync":{"type":"boolean"},"programmatic_guaranteed":{"type":"boolean"},"is_consentless":{"type":"boolean"},"marketplace_selected":{"type":"boolean"},"copy_line_items":{"type":"boolean"},"copy_creatives":{"type":"boolean"},"pricing_model_type":{"type":"string"},"dv360_central_partner":{"type":"boolean"}}},"CampaignDuplicateDto":{"required":["name","start_date"],"type":"object","properties":{"filter":{"type":"boolean"},"publisherId":{"type":"integer","format":"int64"},"campaignId":{"type":"integer","format":"int64"},"campaignName":{"type":"string"},"dealSync":{"type":"boolean"},"programmaticGuaranteed":{"type":"boolean"},"buyingEntityOffices":{"type":"array","items":{"type":"integer","format":"int64"}},"marketplaceSelected":{"type":"boolean"},"budgetAsString":{"type":"string"},"copyLineItemsAsString":{"type":"string"},"copyCreatives":{"type":"boolean"},"isConsentless":{"type":"boolean"},"isCoppaCompliant":{"type":"boolean"},"multipleBeos":{"type":"boolean"},"coppaCompliant":{"type":"boolean"},"consentless":{"type":"boolean"},"anyBuyer":{"type":"boolean"},"contentRange":{"type":"string"},"id":{"type":"integer","format":"int64"},"type":{"type":"string"},"advertiser_id":{"type":"integer","format":"int64"},"agency_id":{"type":"integer","format":"int64"},"buying_entity_id":{"type":"integer","format":"int64"},"buying_entity_office_id":{"type":"integer","format":"int64"},"buying_entity_office_ids":{"type":"string"},"companion_id":{"type":"integer","format":"int64"},"buying_entity_reference_number":{"type":"string"},"buying_entity_office_reference_number":{"type":"string"},"name":{"maxLength":128,"minLength":1,"type":"string"},"reference_number":{"type":"string"},"client_reference_number":{"type":"string"},"sales_contact_id":{"type":"integer","format":"int64"},"operations_contact_id":{"type":"integer","format":"int64"},"agency_contact_id":{"type":"integer","format":"int64"},"improve_demand_contact_id":{"type":"integer","format":"int64"},"advertiser_contact_id":{"type":"integer","format":"int64"},"publisher_contact_id":{"type":"integer","format":"int64"},"business_unit_id":{"type":"integer","format":"int64"},"start_date":{"type":"string","format":"date-time"},"end_date":{"type":"string","format":"date-time"},"time_zone":{"type":"string"},"budget":{"type":"number","format":"double"},"agency_discount":{"type":"number","format":"double"},"text_ads_tiling":{"type":"boolean"},"display_tiling":{"type":"boolean"},"copy_line_items":{"type":"boolean"},"currency":{"type":"string","enum":["EUR","USD","GBP","DKK","SEK","AUD","CZK","HUF","CHF","NOK","SGD","HKD","MYR","CAD","TRY"]},"is_multiple_beos":{"type":"boolean"},"is_any_buyer":{"type":"boolean"},"pricing_model_type":{"type":"string"},"dv360_central_partner":{"type":"boolean"}}},"AgencyDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"AgencyGroupDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"type":{"type":"integer","format":"int64"}}},"PackagesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"totalNumOfAssignedPackages":{"type":"integer","format":"int64"},"oneskin":{"type":"boolean"},"packages":{"type":"array","items":{"$ref":"#/components/schemas/PackageDto"}},"contentRange":{"type":"string"},"line_item_packages":{"type":"array","items":{"$ref":"#/components/schemas/PackageDto"}},"is_oneskin":{"type":"boolean"}}},"CommonDealLineItemLiteDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"campaign_id":{"type":"integer","format":"int64"},"campaign_name":{"type":"string"},"buying_type":{"type":"string"}}},"CommonDealLineItemsLiteDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"line_items":{"type":"array","items":{"$ref":"#/components/schemas/CommonDealLineItemLiteDto"}}}},"HistoriesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"histories":{"type":"array","items":{"$ref":"#/components/schemas/HistoryDto"}},"contentRange":{"type":"string"}}},"HistoryDto":{"type":"object","properties":{"filter":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"date":{"type":"string","format":"date-time"},"action":{"type":"string"},"contentRange":{"type":"string"},"object_name":{"type":"string"},"object_id":{"type":"integer","format":"int64"},"user_id":{"type":"integer","format":"int64"},"user":{"type":"string"},"old_data":{"type":"string"},"new_data":{"type":"string"},"message":{"type":"string"},"misc_data":{"type":"string"}}},"GlobalDomainBundleListDtos":{"type":"object","properties":{"total_number_of_elements":{"type":"integer","format":"int64"},"domain_bundle_list":{"type":"array","items":{"$ref":"#/components/schemas/GlobalDomainBundleListDto"}}}},"VastUrlValidationResponse":{"type":"object","properties":{"is_valid":{"type":"boolean"},"message":{"type":"string"},"is_vpaid":{"type":"boolean"},"duration":{"type":"integer","format":"int64"},"player_compatibility":{"type":"string"}}},"CreativeDtoV3":{"required":["name","size","status","tag","type"],"type":"object","properties":{"filter":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"creativeHash":{"maxLength":128,"minLength":1,"type":"string"},"type":{"maxLength":128,"minLength":0,"type":"string"},"typeId":{"maximum":128,"minimum":0,"type":"integer","format":"int64"},"size":{"maxLength":128,"minLength":0,"type":"string"},"width":{"maximum":4096,"minimum":0,"type":"integer","format":"int32"},"height":{"maximum":4096,"minimum":0,"type":"integer","format":"int32"},"image":{"$ref":"#/components/schemas/FileDto"},"skippable":{"type":"boolean"},"impressions":{"type":"integer","format":"int64"},"contentRange":{"type":"string"},"name":{"maxLength":128,"minLength":1,"type":"string"},"campaign_id":{"type":"integer","format":"int64"},"size_id":{"type":"integer","format":"int64"},"status":{"maxLength":128,"minLength":0,"type":"string"},"image_click_url":{"maxLength":65535,"minLength":0,"type":"string"},"image_url":{"maxLength":65535,"minLength":0,"type":"string"},"image_alt_text":{"maxLength":255,"minLength":0,"type":"string"},"tag":{"type":"string"},"tag_secure":{"type":"boolean"},"tag_identifier_hash":{"maxLength":255,"minLength":0,"type":"string"},"can_track_clicks":{"type":"boolean"},"max_width":{"type":"integer","format":"int32"},"max_height":{"type":"integer","format":"int32"},"iab_category":{"type":"string"},"mraid_type":{"type":"string"},"impression_tracker":{"maxLength":65535,"minLength":0,"type":"string"},"impression_tracker_js":{"maxLength":65535,"minLength":0,"type":"string"},"third_party_type":{"type":"string"},"assets":{"type":"array","items":{"$ref":"#/components/schemas/CreativeNativeAssetDto"}},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"platform_types":{"type":"array","items":{"type":"string"}},"advertiser_domain":{"type":"string"},"video_file_name":{"type":"string"},"click_tags":{"type":"array","items":{"$ref":"#/components/schemas/ClickTag"}},"clicktracking":{"type":"string"},"skip_after_time":{"type":"integer","format":"int64"},"tracking_events":{"$ref":"#/components/schemas/TrackingEvents"},"spot_type":{"maxLength":128,"minLength":0,"type":"string"},"ad_break_position":{"maxLength":128,"minLength":0,"type":"string"},"vpaid_ad_tag_uri":{"type":"string"},"vpaid_ad_tag_uri_secure":{"type":"boolean"},"vpaid_duration":{"type":"integer","format":"int64"},"player_compatibilities":{"type":"array","items":{"type":"string"}},"vpaid_version":{"type":"string"},"link_url":{"type":"string"},"ad_builder_properties":{"$ref":"#/components/schemas/AdBuilderPropertyDto"},"macros":{"type":"array","items":{"$ref":"#/components/schemas/AdBuilderMacroDtoV2"}},"assigned":{"type":"boolean"},"weight":{"type":"integer","format":"int32"},"assigned_line_items":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}},"start_date":{"type":"string","format":"date-time"},"end_date":{"type":"string","format":"date-time"},"message":{"type":"string"},"ready":{"type":"boolean"},"interactive_endcard":{"type":"boolean"},"self_hosted":{"type":"boolean"},"self_hosted_vast_status":{"type":"string","enum":["IN_PROGRESS","COMPLETED","FAILED"]},"self_hosted_vast_error":{"type":"string"},"self_hosted_vast_assets_deleted":{"type":"boolean"}}},"CreativesDtoV3":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"creatives":{"type":"array","items":{"$ref":"#/components/schemas/CreativeDtoV3"}},"totalCreativeWeight":{"type":"integer","format":"int32"},"contentRange":{"type":"string"}}},"CampaignsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"campaigns":{"type":"array","items":{"$ref":"#/components/schemas/CampaignDto"}},"contentRange":{"type":"string"}}},"UniversalDealZoneDto":{"type":"object","properties":{"filter":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"contentRange":{"type":"string"},"inventory_id":{"type":"integer","format":"int64"},"publisher_id":{"type":"integer","format":"int64"},"publisher_name":{"type":"string"}}},"UniversalDealZonesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"ud_zones":{"type":"array","items":{"$ref":"#/components/schemas/UniversalDealZoneDto"}}}},"PlacementsFilteringDto":{"type":"object","properties":{"result":{"type":"array","items":{"type":"string"}}}},"OsDto":{"required":["name"],"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"id":{"type":"integer","format":"int64"},"name":{"maxLength":32,"minLength":1,"type":"string"}}},"OssDto":{"type":"object","properties":{"oss":{"type":"array","items":{"$ref":"#/components/schemas/OsDto"}}}},"UniversalDealInventoriesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"ud_inventories":{"type":"array","items":{"$ref":"#/components/schemas/UniversalDealInventoryDto"}}}},"UniversalDealInventoryDto":{"type":"object","properties":{"filter":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"contentRange":{"type":"string"},"publisher_id":{"type":"integer","format":"int64"},"publisher_name":{"type":"string"}}},"SearchResultDto":{"type":"object","properties":{"campaigns":{"type":"array","items":{"$ref":"#/components/schemas/SearchTuple"}},"line-items":{"type":"array","items":{"$ref":"#/components/schemas/SearchTuple"}},"creatives":{"type":"array","items":{"$ref":"#/components/schemas/SearchTuple"}},"pixels":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}},"packages":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}}}},"SearchTuple":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"type":{"type":"string"},"campaignId":{"type":"integer","format":"int64"}}},"DeviceTypeDto":{"required":["name"],"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"id":{"type":"integer","format":"int64"},"name":{"maxLength":32,"minLength":1,"type":"string"}}},"DeviceTypesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"device_types":{"type":"array","items":{"$ref":"#/components/schemas/DeviceTypeDto"}}}},"DeviceModelDto":{"required":["displayName","name"],"type":"object","properties":{"filter":{"type":"boolean"},"displayName":{"maxLength":32,"minLength":1,"type":"string"},"contentRange":{"type":"string"},"id":{"type":"integer","format":"int64"},"name":{"maxLength":32,"minLength":1,"type":"string"}}},"DeviceModelsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"device_models":{"type":"array","items":{"$ref":"#/components/schemas/DeviceModelDto"}}}},"BrowserDto":{"required":["name"],"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"id":{"type":"integer","format":"int64"},"name":{"maxLength":32,"minLength":1,"type":"string"}}},"BrowsersDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"browsers":{"type":"array","items":{"$ref":"#/components/schemas/BrowserDto"}}}},"VideoPlaybackMethodDto":{"type":"object","properties":{"sound":{"type":"boolean"},"onclick":{"type":"boolean"},"mouseover":{"type":"boolean"},"autoplay":{"type":"boolean"},"inview":{"type":"boolean"}}},"VideoFormatTypesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"videoFormats":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}},"contentRange":{"type":"string"}}},"SizeDto":{"required":["name","type"],"type":"object","properties":{"filter":{"type":"boolean"},"id":{"type":"integer","format":"int64"},"width":{"type":"integer","format":"int32"},"height":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"name":{"maxLength":128,"minLength":1,"type":"string"},"type":{"maxLength":128,"minLength":1,"type":"string"}}},"SizesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"sizes":{"type":"array","items":{"$ref":"#/components/schemas/SizeDto"}},"contentRange":{"type":"string"}}},"SiteTypeDto":{"required":["name"],"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"name":{"maxLength":45,"minLength":1,"type":"string"}}},"SiteTypesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"site_types":{"type":"array","items":{"$ref":"#/components/schemas/SiteTypeDto"}}}},"RoleDto":{"required":["name"],"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"name":{"maxLength":128,"minLength":0,"type":"string"}}},"RolesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleDto"}},"contentRange":{"type":"string"}}},"RegionDto":{"required":["name"],"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"name":{"maxLength":128,"minLength":1,"type":"string"}}},"RegionsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"regions":{"type":"array","items":{"$ref":"#/components/schemas/RegionDto"}},"contentRange":{"type":"string"}}},"CountriesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"countries":{"type":"array","items":{"$ref":"#/components/schemas/CountryDto"}},"contentRange":{"type":"string"}}},"CountryDto":{"required":["name"],"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"name":{"maxLength":128,"minLength":1,"type":"string"}}},"BsCustomSegmentPositiveDto":{"required":["name"],"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"id":{"type":"integer","format":"int64"},"name":{"maxLength":128,"minLength":1,"type":"string"},"display_name":{"type":"string"},"include":{"type":"boolean"}}},"BsCustomSegmentsPositiveDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"keywords":{"type":"array","items":{"$ref":"#/components/schemas/BsCustomSegmentPositiveDto"}}}},"UniversalDealPlacementsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"totalNumberOfElements":{"type":"integer","format":"int64"},"contentRange":{"type":"string"},"ud_placements":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CommonPlacementDto"}}}},"PixelsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"pixels":{"type":"array","items":{"$ref":"#/components/schemas/PixelDto"}},"contentRange":{"type":"string"}}},"LineItemNameValueDto":{"type":"object","properties":{"line_items":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}}}},"LineItemReadyTrackerDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"lineItemId":{"type":"integer","format":"int64"},"lineItemState":{"type":"boolean"}}},"LineItemReadyTrackersDto":{"type":"object","properties":{"lineItemsReadyTracker":{"type":"array","items":{"$ref":"#/components/schemas/LineItemReadyTrackerDto"}}}},"LanguageDto":{"required":["iso_code","name"],"type":"object","properties":{"filter":{"type":"boolean"},"contentRange":{"type":"string"},"name":{"maxLength":128,"minLength":1,"type":"string"},"iso_code":{"type":"string"}}},"LanguagesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"languages":{"type":"array","items":{"$ref":"#/components/schemas/LanguageDto"}},"contentRange":{"type":"string"}}},"LineItemIspsTargetingDto":{"type":"object","properties":{"filter":{"type":"boolean"},"isps":{"type":"array","items":{"$ref":"#/components/schemas/IspDto"}},"exclude":{"type":"boolean"},"contentRange":{"type":"string"}}},"InventoryTypesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"inventoryTypes":{"type":"array","items":{"$ref":"#/components/schemas/IdNameTuple"}},"contentRange":{"type":"string"}}},"CategorySegmentDto":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"maxLength":128,"minLength":1,"type":"string"},"display_name":{"type":"string"},"include":{"type":"boolean"}}},"CategorySegmentsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"category_segments":{"type":"array","items":{"$ref":"#/components/schemas/CategorySegmentDto"}},"standard_predicts":{"type":"array","items":{"$ref":"#/components/schemas/CategorySegmentDto"}},"custom_predicts":{"type":"array","items":{"$ref":"#/components/schemas/CategorySegmentDto"}}}},"FixedPriceRulesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"totalNumberOfElements":{"type":"integer","format":"int64"},"contentRange":{"type":"string"},"rules":{"type":"array","items":{"$ref":"#/components/schemas/FixedPriceRuleResponseDto"}}}},"DocumentsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"documents":{"type":"array","items":{"$ref":"#/components/schemas/DocumentDto"}},"contentRange":{"type":"string"}}},"CurrencyInfoDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"code":{"type":"string"},"conversion_rate":{"type":"number","format":"double"},"max_bid":{"type":"number","format":"double"},"max_budget_for_external_users":{"type":"number","format":"double"}}},"ContentObjectDto":{"required":["attribute"],"type":"object","properties":{"filter":{"type":"boolean"},"description":{"type":"string"},"contentRange":{"type":"string"},"id":{"type":"integer","format":"int64"},"attribute":{"maxLength":128,"minLength":1,"type":"string"}}},"ContentObjectsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"content_objects":{"type":"array","items":{"$ref":"#/components/schemas/ContentObjectDto"}}}},"LineItemBidsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"line_item_bids":{"type":"array","items":{"$ref":"#/components/schemas/LineItemBidDto"}}}},"CreativesDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"creatives":{"type":"array","items":{"$ref":"#/components/schemas/CreativeDto"}},"totalCreativeWeight":{"type":"integer","format":"int32"},"contentRange":{"type":"string"}}},"CommentsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"comments":{"type":"array","items":{"$ref":"#/components/schemas/CommentDto"}},"contentRange":{"type":"string"}}},"CommonDealLineItemPackageDto":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"CommonDealLineItemPackagesDto":{"type":"object","properties":{"totalNumberOfElements":{"type":"integer","format":"int64"},"line_item_packages":{"type":"array","items":{"$ref":"#/components/schemas/CommonDealLineItemPackageDto"}}}},"BUInventoryFilteringsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"totalNumberOfElements":{"type":"integer","format":"int64"},"contentRange":{"type":"string"},"business_units":{"type":"array","items":{"$ref":"#/components/schemas/BUInventoryFilteringResponseDto"}}}},"HybridTheorySegmentsDto":{"type":"object","properties":{"segments":{"type":"array","items":{"$ref":"#/components/schemas/HybridTheorySegmentDto"}}}},"AdBuilderMacrosDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"macros":{"type":"array","items":{"$ref":"#/components/schemas/AdBuilderMacroDto"}},"totalNumberofMacroItems":{"type":"integer","format":"int64","writeOnly":true},"totalNumberOfMacroItems":{"type":"integer","format":"int64"},"contentRange":{"type":"string"}}},"GeneralItemCountDto":{"type":"object","properties":{"ud_campaigns":{"type":"integer","format":"int32"},"classic_campaigns":{"type":"integer","format":"int32"},"ud_line_items":{"type":"integer","format":"int32"},"classic_line_items":{"type":"integer","format":"int32"}}},"ItemCountDto":{"type":"object","properties":{"active":{"$ref":"#/components/schemas/GeneralItemCountDto"},"inactive":{"$ref":"#/components/schemas/GeneralItemCountDto"},"deleted":{"$ref":"#/components/schemas/GeneralItemCountDto"},"running":{"$ref":"#/components/schemas/GeneralItemCountDto"}}},"DmpSegmentsDtoV2":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"azerion_dmp_segments":{"type":"array","items":{"$ref":"#/components/schemas/DmpSegmentDto"}},"third_party_dmp_segments":{"type":"array","items":{"$ref":"#/components/schemas/DmpSegmentDto"}}}},"DmpSegmentsDto":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"limit":{"type":"integer","format":"int32"},"totalNumberOfElemements":{"type":"integer","format":"int64"},"numberOfElements":{"type":"integer","format":"int32"},"contentRange":{"type":"string"},"data_management_platform_segments":{"type":"array","items":{"$ref":"#/components/schemas/DmpSegmentDto"}}}},"MetadataDSPDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"alias":{"type":"string"}}},"MetadataDSPSeatDto":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"CampaignMetadatasDto":{"type":"object","properties":{"filter":{"type":"boolean"},"campaigns":{"type":"array","items":{"$ref":"#/components/schemas/CampaignMetadataDto"}},"totalNumberOfElemements":{"type":"integer","format":"int64"},"contentRange":{"type":"string"}}},"MetadataAdvertiser":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"historyText":{"type":"string"}}}},"securitySchemes":{"bearer_security":{"type":"http","scheme":"Bearer"}}}} \ No newline at end of file diff --git a/docs/adapters/improvedigital/api-requests.md b/docs/adapters/improvedigital/api-requests.md new file mode 100644 index 0000000000..551fa5509e --- /dev/null +++ b/docs/adapters/improvedigital/api-requests.md @@ -0,0 +1,495 @@ +# Improve Digital (360Yield) — every request the adapter sends + +Complete inventory of the HTTP calls `src/adapters/improvedigital/` makes, +with the exact bodies we build, for cross-checking against the platform's +API documentation. + +Every request below has a runnable counterpart in +`improvedigital-marketplace.postman_collection.json` (same folder), with the +same bodies. + +Host comes from the tenant's `api_base_url` (`https://api.360yield.com` +production, `https://api.360yielddev.com` dev, `https://api-alpha.360yielddev.com` +alpha). Payload examples use the dev identity: demand contact `15917`, +buying entity `421`, office `5068`, business unit `33`, buyer `30`. + +## Contents + +| Flow | Trigger | Section | +|---|---|---| +| Auth | every call | [1](#1-authentication) | +| Permission probes | Test Connection, permissions report | [2](#2-permission-probes-read-only) | +| Adapter settings discovery | Admin UI buttons | [3](#3-admin-ui-discovery) | +| Booking | media buy approve | [4](#4-booking--create_media_buy) | +| Creatives | creative upload/assignment | [5](#5-creatives) | +| Buy updates | pause/resume/budget/archive | [6](#6-update_media_buy) | +| Status | delivery polling | [7](#7-status) | +| Reporting | reporting sync scheduler | [8](#8-reporting-sync) | +| Inventory | "Sync Inventory Now" + scheduler | [9](#9-inventory-sync) | + +Every request carries `Authorization: Bearer ` and +`accept: application/json`; JSON bodies add `Content-Type: application/json`. +A 401 re-mints the bearer and retries once; a 429 sleeps 61s and retries +(two attempts, at +20s and +65s). Default timeout 30s, 90s for booking. + +--- + +## 1. Authentication + +`src/adapters/improvedigital/_transport.py` + +### Mint a bearer + +``` +POST /oauth/token +Authorization: Basic base64(client_id:client_secret) +Content-Type: application/x-www-form-urlencoded + +grant_type=client_credentials +``` + +Bearer is read from the response's `value` field (not `access_token`), TTL +from `expiresIn`. Re-minted 2 minutes before expiry; there is no refresh +token. + +### Release a bearer (best effort, on client close) + +``` +DELETE /oauth/logout/{token} +``` + +--- + +## 2. Permission probes (read-only) + +`check_permissions()` — one GET per adapter concern, non-raising, no bodies. + +| Method | Path | Concern | Required | +|---|---|---|---| +| GET | `/rtb/v1/classic/campaigns?limit=1` | media buy lifecycle | yes | +| GET | `/rtb/v1/classic/line-items?limit=1` | media buy lifecycle | yes | +| GET | `/rtb/v3/placements?limit=1` | inventory | yes | +| GET | `/schema/rtb/v1/classic/campaigns/campaign` | create_media_buy | yes | +| GET | `/rtb/v1/sizes-all` | creative formats | no | + +--- + +## 3. Admin UI discovery + +`src/admin/blueprints/adapters.py` + +| Button | Requests | +|---|---| +| **Test Connection** | `GET /rtb/v1/classic/campaigns?limit=1`, then `GET /lookup/v1/user-details` | +| **Discover from API** (entities) | `GET /admin/v1/buying-entities-combo?limit=100&offset=N` (paginated) | +| **Discover from API** (offices) | `GET /admin/v1/buying-entities/{buying_entity_id}/buying-entity-offices?limit=100&offset=N` | +| **Campaign Metadata** (advertiser picker) | `GET /api/metadata-advertisers?search=` | +| **Campaign Metadata** (agency picker) | `GET /api/metadata-agencies?search=` | +| **Expand a package** (product config) | `GET /rtb/v1/packages/{package_id}/placements` | + +`user-details` supplies `user_id` (→ `improve_demand_contact_id`), +`business_unit_id`, and the buyer list behind the Buyer ID picker. Office +rows are filtered to `active == true` and `"Classic" in buying_types`. + +--- + +## 4. Booking — `create_media_buy` + +Fires on media buy approval, in this order. Any failure triggers cleanup +(§4.6). + +### 4.1 Create the campaign + +``` +POST /rtb/v1/classic/campaigns +``` +```json +{ + "name": "adcp_PO-12345", + "type": "Improve", + "start_date": "2026-08-10 10:20:28", + "end_date": "2026-09-10 23:59:59", + "time_zone": "Europe/Amsterdam", + "currency": "EUR", + "improve_demand_contact_id": 15917, + "buying_entity_id": 421, + "advertiserId": null, + "buying_entity_office_id": 5068, + "buying_entity_office_ids": [5068], + "agencyId": 123 +} +``` + +- `name` is `adcp_`, falling back to `adcp_`. +- `buying_entity_office_id` / `buying_entity_office_ids` and `agencyId` are + omitted when not configured. +- `advertiserId` is the principal's platform mapping, but only when it is + numeric — metadata-advertiser UUIDs are sent as `null`. +- The response `id` becomes the media buy's external ID + (`improvedigital_`). + +### 4.1b Attach campaign metadata (when configured) + +``` +POST /api/metadata-campaigns +``` +```json +{ + "campaignId": "370306", + "campaignName": "adcp_PO-12345", + "campaignStartDate": "2026-08-10T10:20:28.000Z", + "campaignEndDate": "2026-09-10T23:59:59.000Z", + "currencyCode": "EUR", + "entityType": "c", + "completed": true, + "isCompleted": true, + "advertiserUuid": "b0edd0c5-3fc7-4029-96f0-02e9ff6dca62", + "advertiserName": "Other", + "agencyId": 182, + "agencyName": "Other", + "businessUnitId": 33, + "buyerId": 30, + "integrationPlatformId": 1, + "seatId": "default", + "adOpsPersonId": 17373, + "salesPersonId": "f1b6846f-659b-426a-be89-c2c0b99be27c" +} +``` + +A surface parallel to booking: `CampaignMetadataDto` carries the commercial +attribution the Classic `CampaignDto` has no room for. Posted right after +campaign create so a rejection cleans up the campaign before any line item +exists. Skipped entirely when the tenant configured no metadata fields. + +Notes for cross-checking: + +- **camelCase**, unlike the snake_case booking API. +- Dates are **ISO-8601 UTC strings with milliseconds** + (`2026-08-14T14:45:18.407Z`), not the `YYYY-MM-DD HH:MM:SS` local strings + the booking API takes. +- `campaignId` is a **string** in the body, though the Classic campaign id + is an integer. It is also the only schema-required field — everything else + is omitted when unset. +- `entityType: "c"`, `completed` and `isCompleted` are fixed values pending + confirmation of what the platform derives on its own. +- Attribution is tenant-level today — every buy books under the same brand, + agency and owners. Per-buyer routing is plan item H2. + +Read the record back with +`GET /api/metadata-campaigns/integration-platform/{integrationPlatformId}/campaign/{campaignId}`. + +### 4.2 Create one line item per package + +``` +POST /rtb/v1/classic/campaigns/{campaign_id}/line-items +``` +```json +{ + "name": "TEST_Valid_Flight_Budget_Aug26", + "type": "Standard", + "line_item_status": "Active", + "goal": "BUDGET", + "start_date": "2026-08-10 10:20:28", + "end_date": "2026-08-10 23:59:59", + "time_zone": "UTC", + "cpm_bid": 1.0, + "pricing_model": "CPM", + "pricing_model_type": "First Bid", + "impression_cap": 2000, + "impression_cap_daily": false, + "budget_is_daily": false, + "invoice_type": "on_actuals", + "delivery_schedule": "Evenly", + "third_party_inventory": true, + "is_optimised": true, + "is_dynamic_optimization": false, + "dynamic_optimization_kpi_type": "", + "dynamic_optimization_kpi_value": 0, + "conversion_tracking_enabled": false, + "keep_on_delivering": false, + "track_viewability": false, + "is_consentless": false, + "is_coppa_compliant": false, + "optout_mechanism": [], + "reference_number": "pkg_1", + "improve_demand_contact_id": 15917, + "budget": 2.0, + "flight_details": [ + { + "start_time": "2026-08-10 10:20:28", + "end_time": "2026-08-10 23:59:59", + "budget": 2.0, + "budget_is_daily": false, + "impression_cap": 2000, + "impression_cap_daily": false + } + ], + "business_unit_id": 33, + "buyer_id": 30, + "frequency_cap": 3, + "frequency_interval": 1, + "frequency_interval_type": "days", + "placement_ids": [98765], + "package_ids": [4321], + "size_ids": [4] +} +``` + +Field sources: + +| Field | Source | +|---|---| +| `name` | package name, falling back to package ID | +| `goal` | product config `goal` (default `BUDGET`) | +| `cpm_bid` | package pricing — `rate` when fixed, else `bid_price` | +| `budget` | package budget; when the buy carries budget only at buy level, derived as `impression_cap × cpm_bid ÷ 1000` | +| `impression_cap` | budget ÷ rate × 1000, computed by the core layer before dispatch | +| `pricing_model` | product config, else `CPM` (`FLAT_RATE` for flat-rate pricing) | +| `delivery_schedule`, `frequency_*` | product config; `delivery_schedule` defaults to `Evenly`, the frequency keys are omitted when unset | +| `reference_number` | our internal package ID, for reconciliation | +| `improve_demand_contact_id`, `business_unit_id`, `buyer_id`, `time_zone` | tenant adapter config (`business_unit_id`/`buyer_id` omitted when unset) | +| `placement_ids`, `package_ids`, `size_ids` | product config | + +Notes for cross-checking: + +- **No `currency`** — the platform requires it to match the campaign owner's + default and 400s when sent. +- **No `id` / `campaign_id`** in the body: `id` is server-assigned and the + campaign is already in the path. The platform's own UI sends `id: 0` and a + body `campaign_id`; add them if the API validates them. +- `flight_details` is **not** in the committed `rtb-v3-openapi.json` — the + closest documented fields are `custom_budgets` and `daily_impression_caps`. +- `dynamic_optimization_kpi_value` is typed `string` in that spec but sent as + the number `0`, matching the platform's own payload. +- `placement_ids` / `package_ids` / `size_ids` are not part of + `CommonDealLineItemDto`; the server ignores them and the real assignment + happens in §4.3–4.4. +- `frequency_interval_type` must be one of the spec's lowercase values: + `months`, `weeks`, `days`, `hours`, `minutes`. + +### 4.3 Assign placements (when the product pins any) + +``` +PUT /rtb/v1/classic/campaigns/{campaign_id}/line-items/{line_item_id}/placements +``` +```json +{"line_item_placements": [{"id": 98765, "assigned": true}, {"id": 98766, "assigned": true}]} +``` + +### 4.4 Assign packages (when the product pins any) + +``` +PUT /rtb/v1/classic/campaigns/{campaign_id}/line-items/{line_item_id}/packages +``` +```json +{"line_item_packages": [{"id": 4321, "assigned": true}]} +``` + +A package with neither placements nor packages aborts the booking — the line +item would target no inventory. + +### 4.5 Geo targeting (only when the buy or product sets geo) + +Resolving platform geo names first, once per adapter instance: + +``` +GET /rtb/v1/regions?limit=100&offset=N +GET /rtb/v1/regions/{regionName}/countries?limit=100&offset=N +``` + +Then, per line item: + +``` +PUT /rtb/v1/classic/campaigns/{campaign_id}/line-items/{line_item_id}/geo-targeting +``` +```json +{ + "filter": true, + "geo_targeting": [ + {"country": "Netherlands", "exclude": false, "region": "EMEA"}, + {"country": "Belgium", "exclude": true, "region": "EMEA"} + ] +} +``` + +`exclude` **and** `region` are required on every entry, includes included. +Country tokens (ISO alpha-2 from the buyer, or platform names from the +product) are rewritten to the platform's exact spelling; an unresolvable +token fails the booking rather than being dropped. + +### 4.6 Cleanup after a partial failure + +``` +DELETE /rtb/v1/classic/campaigns/{campaign_id} +PUT /rtb/v3/campaigns/{campaign_id}/archive # fallback when delete is refused +``` + +Delete is refused once the campaign has served impressions. + +--- + +## 5. Creatives + +### 5.1 Resolve the platform size (cached per adapter instance) + +``` +GET /rtb/v1/sizes-all +``` + +Matched on width × height; the resolved `name` + `id` are added to the +creative body. A bare `"300x250"` string is rejected by the platform. + +### 5.2a Tag creatives — plain JSON bulk upload + +``` +POST /rtb/v1/classic/campaign/creatives/third-party-tag/bulk-upload +``` +```json +{ + "campaign_id": 55501, + "creative_type": "Third Party Tag", + "creatives": [ + { + "name": "banner_300x250", + "size": "300x250", + "size_id": 4, + "width": 300, + "height": 250, + "status": "Active", + "tag": "", + "advertiser_domain": "example.com", + "third_party_type": "display", + "platform_types": ["Web"], + "tag_secure": true + } + ] +} +``` + +Hosted-image assets are wrapped into an `` (optionally inside an ``) +before being sent as a tag — the endpoint validates that the tag is real +HTML. + +### 5.2b Other creative types — multipart servlet + +``` +POST /rtb/v1/classic/campaigns/{campaign_id}/creatives +Content-Type: multipart/form-data +``` + +The `CreativeDto` travels as a `body` part with content type +`application/json`; same fields minus `third_party_type` / `platform_types` / +`tag_secure`. Type is derived from the asset: `VAST Audio`, `VAST`, `Native`, +otherwise `Third Party Tag`. Plain JSON to this path returns HTTP 500. + +### 5.3 Recover a creative ID (only when the create response carries none) + +``` +GET /rtb/v1/classic/campaigns/{campaign_id}/creatives +``` + +Matched by name, highest ID wins. + +### 5.4 Bind creatives to a line item + +``` +PUT /rtb/v1/classic/campaigns/{campaign_id}/line-items/{line_item_id}/creatives +``` +```json +{"line_item_creatives": [{"id": 778899, "assigned": true}]} +``` + +One call per line item, assigning every creative. Can take >30s on dev. + +--- + +## 6. `update_media_buy` + +| Action | Requests | +|---|---| +| `pause_media_buy` / `resume_media_buy` / `activate_order` | `GET /rtb/v1/classic/campaigns/{cid}/line-items`, then `PUT /rtb/v3/campaigns/{cid}/line-items/{lid}/status?active=true\|false` per line item | +| `pause_package` / `resume_package` | `PUT /rtb/v3/campaigns/{cid}/line-items/{lid}/status?active=true\|false` | +| `update_package_budget` | `GET /rtb/v1/classic/campaigns/{cid}/line-items/{lid}`, mutate `budget`, `PUT` the full DTO back to the same path | +| `update_package_impressions` | same read-modify-write, mutating `impression_cap` | +| `archive_order` | `PUT /rtb/v3/campaigns/{cid}/archive` | +| `submit_for_approval` / `approve_order` | **no request** — Classic campaigns have no approval workflow | + +Status toggles are query-param PUTs with no body. Budget updates are +read-modify-write because the platform's PUT expects the complete DTO. + +--- + +## 7. Status + +``` +GET /rtb/v1/classic/campaigns/{campaign_id} +``` + +`get_media_buy_delivery` makes **no** API call — it aggregates the local +`improvedigital_line_item_stats` cache filled by the reporting sync, and +raises `DeliveryDataUnavailable` while that cache is empty. + +--- + +## 8. Reporting sync + +``` +POST /report/ext/preview +``` +```json +{ + "rows": 500, + "report_generation_request": { + "title": "", + "report_type": "EXT_CONSOLIDATE", + "currency_id": 1, + "date_range": {"quick": "LAST_31_DAYS"}, + "dimensions": ["campaign_id", "line_item_id"], + "metrics": ["impressions", "clicks", "advertiser_payout", "complete"], + "filters": [{"column": "campaign_id", "operation": "IN", "value": [314417]}], + "timezone": "UTC", + "action": "PREVIEW_REPORT" + } +} +``` + +- Snake_case only — the camelCase shape in the OpenAPI spec deserializes to + a null request (HTTP 500). +- `currency_id`: 1 = EUR, 2 = USD. +- `filters.value` holds the campaign IDs of the tenant's active buys. +- Capped at 500 rows; a full page logs a truncation warning. The async + `/report/ext/generation` path is not wired up yet. + +--- + +## 9. Inventory sync + +Paginated sweeps, 1000 rows per page, up to 500 pages per family: + +``` +GET /rtb/v3/placements?offset=N&limit=1000 +GET /rtb/v1/packages?offset=N&limit=1000 +GET /rtb/v1/sizes-all?offset=N&limit=1000 +``` + +Publishers are derived from the inline `publisher_id` / `publisher_name` on +placement rows — there is no buy-side publishers endpoint. Package +membership is deliberately **not** swept (2k+ packages × one request each +would exhaust the 100-reads/60s quota); it is fetched on demand when an +operator expands a package (§3). + +--- + +## Client methods with no caller + +Defined in `client.py` but not reached by any adapter or admin flow today — +useful when scoping which endpoints actually need API permissions: + +`list_campaigns`, `delete_line_item`, `list_all_line_items`, +`archive_line_item`, `assign_placements` / `unassign_placements` (the v2 +`/placements/assign` surface — booking uses the v1 `/placements` PUT +instead), `list_placements`, `get_creative`, `update_creative`, +`delete_creative`, `set_creative_status`, `list_line_item_creatives`, +`unassign_all_creatives`, `validate_vast_url`, `creative_type_sizes`, +`countries` (`/common/v1/countries`), `submit_generation`, +`generation_status`, `allowed_filters`. diff --git a/docs/adapters/improvedigital/improvedigital-marketplace.postman_collection.json b/docs/adapters/improvedigital/improvedigital-marketplace.postman_collection.json new file mode 100644 index 0000000000..7564db59c3 --- /dev/null +++ b/docs/adapters/improvedigital/improvedigital-marketplace.postman_collection.json @@ -0,0 +1,869 @@ +{ + "info": { + "name": "Improve Digital Marketplace — Direct (Classic) Campaign Booking", + "description": "End-to-end direct-campaign booking against the 360Yield Marketplace API (beta-deals.360yielddev.com / direct-campaigns).\n\nThis collection mirrors what the salesagent Improve Digital adapter sends — every endpoint it calls has a request here, and the booking bodies are the adapter's own payloads. The full request inventory with field-by-field sources lives at docs/adapters/improvedigital/api-requests.md; wire quirks the OpenAPI spec gets wrong are catalogued in docs/adapters/improvedigital/live-wire-shapes.md.\n\nSETUP\n1. Set collection variables `client_id` and `client_secret` (OAuth2 client credentials issued by Improve Digital).\n2. Confirm the account variables (`demand_contact_id`, `buying_entity_id`, `buying_entity_office_id`, `business_unit_id`, `buyer_id`) — the defaults are the dev-platform values for the 'AdCP API Acceptance' client. On another account, run `2.1 Who am I`, or discover them with `2.10` / `2.11`, or copy them from a working campaign (`2.4 List campaigns`).\n3. Run the folders top to bottom: 1 auth → 2 discovery → 3 booking → 4 lifecycle → 5 reporting → 6 cleanup. Requests chain automatically: campaign_id, line_item_id, placement_id, package_id and creative_id are captured into collection variables by test scripts.\n4. In folder 3, steps 3.4 (packages) and 3.5 (geo targeting) are optional — the adapter sends them only when the product config asks for them. 3.3 or 3.4 is mandatory: a line item with no inventory serves nowhere.\n\nAUTH\nBearer tokens live ~30 minutes and there is NO refresh token. A collection-level pre-request script re-mints automatically when the cached token is missing or expiring, so you normally never need to run the token request by hand.\n\nRATE LIMIT\nThe API allows 100 read requests per 60s — heavy pagination (placement sweeps) will hit 429; wait out the window.", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "auth": { + "type": "bearer", + "bearer": [{ "key": "token", "value": "{{access_token}}", "type": "string" }] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "// Auto-mint the OAuth2 bearer when missing or expiring (<60s left).", + "// 360Yield issues NO refresh token — re-mint on expiry is the contract.", + "const expiresAt = Number(pm.collectionVariables.get('token_expires_at') || 0);", + "const token = pm.collectionVariables.get('access_token');", + "if (token && Date.now() < expiresAt - 60000) { return; }", + "const clientId = pm.collectionVariables.get('client_id');", + "const clientSecret = pm.collectionVariables.get('client_secret');", + "if (!clientId || !clientSecret) { throw new Error('Set client_id and client_secret collection variables first'); }", + "pm.sendRequest({", + " url: pm.collectionVariables.get('base_url') + '/oauth/token',", + " method: 'POST',", + " header: {", + " 'Content-Type': 'application/x-www-form-urlencoded',", + " 'Authorization': 'Basic ' + btoa(clientId + ':' + clientSecret)", + " },", + " body: { mode: 'urlencoded', urlencoded: [{ key: 'grant_type', value: 'client_credentials' }] }", + "}, (err, res) => {", + " if (err) { throw err; }", + " const body = res.json();", + " if (!body.value) { throw new Error('Token mint failed: ' + JSON.stringify(body)); }", + " pm.collectionVariables.set('access_token', body.value);", + " pm.collectionVariables.set('token_expires_at', String(Date.now() + (body.expiresIn || 600) * 1000));", + "});" + ] + } + } + ], + "variable": [ + { "key": "base_url", "value": "https://api.360yielddev.com", "type": "string" }, + { "key": "client_id", "value": "", "type": "string", "description": "OAuth2 client ID issued by Improve Digital" }, + { "key": "client_secret", "value": "", "type": "string", "description": "OAuth2 client secret — set locally, never commit" }, + { "key": "access_token", "value": "", "type": "string", "description": "Auto-filled by the collection pre-request script" }, + { "key": "token_expires_at", "value": "0", "type": "string" }, + { "key": "demand_contact_id", "value": "17918", "type": "string", "description": "== your API user's user_id (see 0.2 Who am I)" }, + { "key": "buying_entity_id", "value": "421", "type": "string", "description": "421 = 'Improve Digital Marketplace' on dev" }, + { "key": "buying_entity_office_id", "value": "5068", "type": "string", "description": "Buyer seat — at least one office is required on campaigns" }, + { "key": "business_unit_id", "value": "33", "type": "string", "description": "33 = Azerion on dev; required on line items" }, + { "key": "buyer_id", "value": "30", "type": "string", "description": "Buyer the line items book under (see 2.1 Who am I)" }, + { "key": "campaign_name", "value": "postman-demo-campaign", "type": "string" }, + { "key": "cpm_bid", "value": "2.5", "type": "string" }, + { "key": "impression_cap", "value": "10000", "type": "string" }, + { "key": "budget", "value": "25", "type": "string", "description": "impression_cap x cpm_bid / 1000 — keep the two consistent" }, + { "key": "campaign_id", "value": "", "type": "string", "description": "Auto-filled by 3.1" }, + { "key": "line_item_id", "value": "", "type": "string", "description": "Auto-filled by 3.2" }, + { "key": "placement_id", "value": "", "type": "string", "description": "Auto-filled by 2.2 (first 300x250-capable placement)" }, + { "key": "package_id", "value": "", "type": "string", "description": "Auto-filled by 2.6 (first reusable placement package)" }, + { "key": "region_name", "value": "EMEA", "type": "string", "description": "Geo region for 2.8 / 3.5 — see 2.7" }, + { "key": "advertiser_uuid", "value": "", "type": "string", "description": "Metadata brand UUID for 3.1b — pick with 2.12" }, + { "key": "advertiser_name", "value": "Other", "type": "string" }, + { "key": "agency_id", "value": "182", "type": "string", "description": "Metadata agency (integer id) — pick with 2.13" }, + { "key": "agency_name", "value": "Other", "type": "string" }, + { "key": "integration_platform_id", "value": "1", "type": "string", "description": "1 = Improve Digital — see 2.14" }, + { "key": "seat_id", "value": "default", "type": "string", "description": "String, not a number" }, + { "key": "adops_person_id", "value": "", "type": "string", "description": "Integer ad-ops owner id" }, + { "key": "sales_person_id", "value": "", "type": "string", "description": "UUID string sales owner id" }, + { "key": "creative_id", "value": "", "type": "string", "description": "Auto-filled by 3.6" } + ], + "item": [ + { + "name": "1. Auth", + "item": [ + { + "name": "1.1 Get OAuth token (manual)", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "const body = pm.response.json();", + "pm.test('token minted', () => pm.expect(body.value).to.be.a('string'));", + "pm.collectionVariables.set('access_token', body.value);", + "pm.collectionVariables.set('token_expires_at', String(Date.now() + (body.expiresIn || 600) * 1000));" + ] + } + } + ], + "request": { + "auth": { + "type": "basic", + "basic": [ + { "key": "username", "value": "{{client_id}}", "type": "string" }, + { "key": "password", "value": "{{client_secret}}", "type": "string" } + ] + }, + "method": "POST", + "header": [{ "key": "Content-Type", "value": "application/x-www-form-urlencoded" }], + "body": { + "mode": "urlencoded", + "urlencoded": [{ "key": "grant_type", "value": "client_credentials" }] + }, + "url": { "raw": "{{base_url}}/oauth/token", "host": ["{{base_url}}"], "path": ["oauth", "token"] }, + "description": "Token comes back under `value` (NOT access_token), TTL in `expiresIn` (~30 min). No refresh token — re-mint on 401. Normally unnecessary: the collection pre-request script mints automatically." + } + } + ] + }, + { + "name": "2. Discovery & lookups", + "item": [ + { + "name": "2.1 Who am I (user-details)", + "request": { + "method": "GET", + "url": { "raw": "{{base_url}}/lookup/v1/user-details", "host": ["{{base_url}}"], "path": ["lookup", "v1", "user-details"] }, + "description": "Your `user_id` here is the `improve_demand_contact_id` to use on campaigns and line items. `business_unit_id` also appears here." + } + }, + { + "name": "2.2 Search placements (300x250-capable)", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "const rows = pm.response.json().placements || [];", + "pm.test('placements found', () => pm.expect(rows.length).to.be.above(0));", + "if (rows.length) {", + " // NOTE: v3 rows are keyed placement_id / placement_name, not id / name.", + " pm.collectionVariables.set('placement_id', String(rows[0].placement_id));", + " console.log('placement_id =', rows[0].placement_id, rows[0].placement_name);", + "}" + ] + } + } + ], + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/rtb/v3/placements?limit=10&offset=0&size_ids=4", + "host": ["{{base_url}}"], + "path": ["rtb", "v3", "placements"], + "query": [ + { "key": "limit", "value": "10" }, + { "key": "offset", "value": "0" }, + { "key": "size_ids", "value": "4", "description": "4 = 300x250 (Medium Rectangle); see 2.3" } + ] + }, + "description": "Filter by size so the creative you upload later has matching inventory — the creative endpoint rejects sizes with no available placements. Saves the first result as {{placement_id}}." + } + }, + { + "name": "2.3 List all creative sizes", + "request": { + "method": "GET", + "url": { "raw": "{{base_url}}/rtb/v1/sizes-all", "host": ["{{base_url}}"], "path": ["rtb", "v1", "sizes-all"] }, + "description": "Size dictionary — 300x250 => id 4, name '300x250 (Medium Rectangle)'. Creatives must reference the display name + size_id, not a bare '300x250'." + } + }, + { + "name": "2.4 List recent campaigns", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/rtb/v1/classic/campaigns?limit=10&offset=0", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "classic", "campaigns"], + "query": [ + { "key": "limit", "value": "10" }, + { "key": "offset", "value": "0" } + ] + }, + "description": "Use this to discover working values for buying_entity_id / office / demand contact on a new account: copy them from a recent, working campaign." + } + }, + { + "name": "2.5 Creative type names (i18n)", + "request": { + "method": "GET", + "url": { "raw": "{{base_url}}/common/v1/i18n/creative_type", "host": ["{{base_url}}"], "path": ["common", "v1", "i18n", "creative_type"] }, + "description": "Canonical creative type names: Third Party Tag, Image (PNG, GIF, JPG), Html5, VAST, VAST_VPAID, Video File, Native, Ad Builder, Raw Video, VAST Audio. Creative create resolves types by exact name." + } + }, + { + "name": "2.6 List placement packages", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "// Envelope key renamed upstream ~2026-08: line_item_packages (was packages).", + "const body = pm.response.json();", + "const rows = body.line_item_packages || body.packages || [];", + "if (rows.length) {", + " pm.collectionVariables.set('package_id', String(rows[0].id));", + " console.log('package_id =', rows[0].id, rows[0].name);", + "}" + ] + } + } + ], + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/rtb/v1/packages?limit=10&offset=0", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "packages"], + "query": [ + { "key": "limit", "value": "10" }, + { "key": "offset", "value": "0" } + ] + }, + "description": "Reusable placement groupings — an alternative to pinning individual placements. The salesagent inventory sync sweeps this endpoint at limit=1000. Saves {{package_id}} for 3.4." + } + }, + { + "name": "2.7 Peek inside a package", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/rtb/v1/packages/{{package_id}}/placements?limit=20&offset=0", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "packages", "{{package_id}}", "placements"], + "query": [ + { "key": "limit", "value": "20" }, + { "key": "offset", "value": "0" } + ] + }, + "description": "Live membership of one package. Deliberately NOT part of the inventory sync — 2k+ packages x one request each would exhaust the 100-reads/60s quota; salesagent fetches it on demand when an operator expands a package in the product config UI." + } + }, + { + "name": "2.8 List geo regions", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/rtb/v1/regions?limit=100&offset=0", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "regions"], + "query": [ + { "key": "limit", "value": "100" }, + { "key": "offset", "value": "0" } + ] + }, + "description": "Geo region dictionary (`{\"regions\": [{\"name\": ...}]}`). The platform's region dimension is continental (EMEA / APAC / ...), NOT ISO 3166-2 subdivisions. Needed because every geo-targeting entry must carry its region (3.5)." + } + }, + { + "name": "2.9 List countries in a region", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/rtb/v1/regions/{{region_name}}/countries?limit=100&offset=0", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "regions", "{{region_name}}", "countries"], + "query": [ + { "key": "limit", "value": "100" }, + { "key": "offset", "value": "0" } + ] + }, + "description": "Country dictionary per region (`{\"countries\": [{\"name\": ...}]}`). Geo targeting matches on the platform's exact display names, so ISO alpha-2 codes from buyers must be resolved through 2.8 + 2.9 before they can be sent." + } + }, + { + "name": "2.10 List buying entities (admin scope)", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/admin/v1/buying-entities-combo?limit=100&offset=0", + "host": ["{{base_url}}"], + "path": ["admin", "v1", "buying-entities-combo"], + "query": [ + { "key": "limit", "value": "100" }, + { "key": "offset", "value": "0" } + ] + }, + "description": "Lightweight {id, name} rows backing the Buying Entity picker in the salesagent adapter settings page. Requires admin-scoped credentials — 403 otherwise, in which case the IDs are entered manually." + } + }, + { + "name": "2.11 List buying entity offices (admin scope)", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/admin/v1/buying-entities/{{buying_entity_id}}/buying-entity-offices?limit=100&offset=0", + "host": ["{{base_url}}"], + "path": ["admin", "v1", "buying-entities", "{{buying_entity_id}}", "buying-entity-offices"], + "query": [ + { "key": "limit", "value": "100" }, + { "key": "offset", "value": "0" } + ] + }, + "description": "Office rows carry `improve_demand_contact_id`, `billing_currency_code` and `buying_types`. Only offices with `active: true` and 'Classic' in `buying_types` can host a direct campaign — that is the filter the salesagent office picker applies." + } + }, + { + "name": "2.12 Search metadata advertisers (brands)", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/api/metadata-advertisers?search=", + "host": ["{{base_url}}"], + "path": ["api", "metadata-advertisers"], + "query": [{ "key": "search", "value": "", "description": "Free-text filter; empty returns everything" }] + }, + "description": "The brand dimension for campaign metadata (3.1b). Rows are `MetadataAdvertiser`: `id` is a **UUID string**, not an integer — this is why CampaignDto.advertiserId (integer) cannot hold a metadata advertiser. Backs the Advertiser picker in the salesagent adapter settings page." + } + }, + { + "name": "2.13 Search metadata agencies", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/api/metadata-agencies?search=", + "host": ["{{base_url}}"], + "path": ["api", "metadata-agencies"], + "query": [{ "key": "search", "value": "", "description": "Free-text filter; empty returns everything" }] + }, + "description": "The agency dimension for campaign metadata (3.1b). Rows are `AgencyDto` with an **integer** `id` — the opposite of advertisers, so ids are never coerced between the two." + } + }, + { + "name": "2.14 List integration platforms (DSPs) and seats", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/api/metadata-integration-platforms?limit=50", + "host": ["{{base_url}}"], + "path": ["api", "metadata-integration-platforms"], + "query": [{ "key": "limit", "value": "50" }] + }, + "description": "`MetadataDSPDto` rows behind `integrationPlatformId` (1 = Improve Digital). Seats for one platform: `GET /api/metadata-integration-platforms/{id}/seats` — `MetadataDSPSeatDto.id` is a string (e.g. 'default'), which is why `seatId` is quoted in 3.1b." + } + } + ] + }, + { + "name": "3. Book a campaign", + "item": [ + { + "name": "3.1 Create campaign", + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "// Platform datetime wire format: YYYY-MM-DD HH:MM:SS (no T, no zone)", + "function fmt(d) { return d.toISOString().slice(0, 19).replace('T', ' '); }", + "const start = new Date(Date.now() + 60 * 60 * 1000);", + "const end = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000);", + "pm.variables.set('start_date', fmt(start));", + "pm.variables.set('end_date', fmt(end));" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test('campaign created (201)', () => pm.response.to.have.status(201));", + "const body = pm.response.json();", + "pm.collectionVariables.set('campaign_id', String(body.id));", + "console.log('campaign_id =', body.id);" + ] + } + } + ], + "request": { + "method": "POST", + "header": [{ "key": "Content-Type", "value": "application/json" }], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"{{campaign_name}}\",\n \"type\": \"Improve\",\n \"start_date\": \"{{start_date}}\",\n \"end_date\": \"{{end_date}}\",\n \"time_zone\": \"Europe/Amsterdam\",\n \"currency\": \"EUR\",\n \"improve_demand_contact_id\": {{demand_contact_id}},\n \"buying_entity_id\": {{buying_entity_id}},\n \"buying_entity_office_id\": {{buying_entity_office_id}},\n \"buying_entity_office_ids\": [{{buying_entity_office_id}}]\n}" + }, + "url": { "raw": "{{base_url}}/rtb/v1/classic/campaigns", "host": ["{{base_url}}"], "path": ["rtb", "v1", "classic", "campaigns"] }, + "description": "Required beyond the OpenAPI spec (validated live): `type: \"Improve\"` (Classic/direct = Improve adserver hosts the creatives), `buying_entity_id`, and at least one buying entity office — otherwise 500 'Assign at least one Always on Deal buying entity office'. Note: the platform may override `currency` to the account owner's default. Saves {{campaign_id}}." + } + }, + { + "name": "3.2 Create line item", + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "function fmt(d) { return d.toISOString().slice(0, 19).replace('T', ' '); }", + "pm.variables.set('start_date', fmt(new Date(Date.now() + 60 * 60 * 1000)));", + "pm.variables.set('end_date', fmt(new Date(Date.now() + 7 * 24 * 60 * 60 * 1000)));" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test('line item created (201)', () => pm.response.to.have.status(201));", + "const body = pm.response.json();", + "pm.collectionVariables.set('line_item_id', String(body.id));", + "console.log('line_item_id =', body.id);" + ] + } + } + ], + "request": { + "method": "POST", + "header": [{ "key": "Content-Type", "value": "application/json" }], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"{{campaign_name}}-li\",\n \"type\": \"Standard\",\n \"line_item_status\": \"Active\",\n \"goal\": \"BUDGET\",\n \"start_date\": \"{{start_date}}\",\n \"end_date\": \"{{end_date}}\",\n \"time_zone\": \"Europe/Amsterdam\",\n \"cpm_bid\": {{cpm_bid}},\n \"pricing_model\": \"CPM\",\n \"pricing_model_type\": \"First Bid\",\n \"impression_cap\": {{impression_cap}},\n \"impression_cap_daily\": false,\n \"budget\": {{budget}},\n \"budget_is_daily\": false,\n \"flight_details\": [\n {\n \"start_time\": \"{{start_date}}\",\n \"end_time\": \"{{end_date}}\",\n \"budget\": {{budget}},\n \"budget_is_daily\": false,\n \"impression_cap\": {{impression_cap}},\n \"impression_cap_daily\": false\n }\n ],\n \"invoice_type\": \"on_actuals\",\n \"delivery_schedule\": \"Evenly\",\n \"third_party_inventory\": true,\n \"is_optimised\": true,\n \"is_dynamic_optimization\": false,\n \"dynamic_optimization_kpi_type\": \"\",\n \"dynamic_optimization_kpi_value\": 0,\n \"conversion_tracking_enabled\": false,\n \"keep_on_delivering\": false,\n \"track_viewability\": false,\n \"is_consentless\": false,\n \"is_coppa_compliant\": false,\n \"optout_mechanism\": [],\n \"reference_number\": \"{{campaign_name}}-pkg\",\n \"improve_demand_contact_id\": {{demand_contact_id}},\n \"business_unit_id\": {{business_unit_id}},\n \"buyer_id\": {{buyer_id}}\n}" + }, + "url": { + "raw": "{{base_url}}/rtb/v1/classic/campaigns/{{campaign_id}}/line-items", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "classic", "campaigns", "{{campaign_id}}", "line-items"] + }, + "description": "This is the exact body the salesagent adapter sends (src/adapters/improvedigital/adapter.py::_line_item_payload) — see docs/adapters/improvedigital/api-requests.md.\n\nRequired (validated live): `type: \"Standard\"`, `line_item_status: \"Active\"`, `goal` (BUDGET or IMPRESSION), `business_unit_id`, `improve_demand_contact_id`.\n\nBUDGET pacing needs `budget` plus a `flight_details` row spanning the flight; both the money figure and the impression cap are sent either way, and they must stay consistent (budget = impression_cap x cpm_bid / 1000).\n\nDo NOT send `currency` — it must match the campaign owner's default and 400s otherwise; it inherits from the campaign when omitted.\n\nThe delivery/compliance block (pricing_model_type, invoice_type, third_party_inventory, is_optimised, keep_on_delivering, track_viewability, is_consentless, is_coppa_compliant, conversion_tracking_enabled, optout_mechanism, dynamic_optimization_*) mirrors the platform's own create payload; the API leaves these unset rather than defaulted when omitted.\n\nCaveats to verify against the API docs: `flight_details` is absent from the committed rtb-v3 OpenAPI spec (which documents `custom_budgets` / `daily_impression_caps` instead), and `dynamic_optimization_kpi_value` is typed string there but sent as the number 0. `frequency_interval_type`, when used, must be lowercase (months/weeks/days/hours/minutes).\n\nSaves {{line_item_id}}." + } + }, + { + "name": "3.1b Attach campaign metadata", + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "// CampaignMetadataDto takes ISO-8601 UTC strings, unlike the", + "// booking API's 'YYYY-MM-DD HH:MM:SS' local strings.", + "pm.variables.set('start_iso', new Date(Date.now() + 60 * 60 * 1000).toISOString());", + "pm.variables.set('end_iso', new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString());" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": ["pm.test('metadata attached (2xx)', () => pm.expect(pm.response.code).to.be.within(200, 299));"] + } + } + ], + "request": { + "method": "POST", + "header": [{ "key": "Content-Type", "value": "application/json" }], + "body": { + "mode": "raw", + "raw": "{\n \"campaignId\": \"{{campaign_id}}\",\n \"campaignName\": \"{{campaign_name}}\",\n \"campaignStartDate\": \"{{start_iso}}\",\n \"campaignEndDate\": \"{{end_iso}}\",\n \"currencyCode\": \"EUR\",\n \"entityType\": \"c\",\n \"completed\": true,\n \"isCompleted\": true,\n \"advertiserUuid\": \"{{advertiser_uuid}}\",\n \"advertiserName\": \"{{advertiser_name}}\",\n \"agencyId\": {{agency_id}},\n \"agencyName\": \"{{agency_name}}\",\n \"businessUnitId\": {{business_unit_id}},\n \"buyerId\": {{buyer_id}},\n \"integrationPlatformId\": {{integration_platform_id}},\n \"seatId\": \"{{seat_id}}\",\n \"adOpsPersonId\": {{adops_person_id}},\n \"salesPersonId\": \"{{sales_person_id}}\"\n}" + }, + "url": { + "raw": "{{base_url}}/api/metadata-campaigns", + "host": ["{{base_url}}"], + "path": ["api", "metadata-campaigns"] + }, + "description": "Commercial attribution for a booked campaign — brand, agency, business unit, buyer, DSP seat and the ad-ops / sales owners. A surface PARALLEL to booking: camelCase (booking is snake_case), ISO-8601 UTC dates (booking uses 'YYYY-MM-DD HH:MM:SS' local strings), `campaignId` as a string even though the Classic id is an integer, and only `campaignId` schema-required.\n\nsalesagent posts this immediately after 3.1 so a rejection cleans up the campaign before any line item exists. Read it back with 6.6.\n\nPick the advertiser and agency with 2.12 / 2.13. `entityType: \"c\"`, `completed` and `isCompleted` are fixed values pending confirmation of what the platform derives itself." + } + }, + { + "name": "3.1b Attach campaign metadata", + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "// CampaignMetadataDto takes ISO-8601 UTC strings, unlike the", + "// booking API's 'YYYY-MM-DD HH:MM:SS' local strings.", + "pm.variables.set('start_iso', new Date(Date.now() + 60 * 60 * 1000).toISOString());", + "pm.variables.set('end_iso', new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString());" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": ["pm.test('metadata attached (2xx)', () => pm.expect(pm.response.code).to.be.within(200, 299));"] + } + } + ], + "request": { + "method": "POST", + "header": [{ "key": "Content-Type", "value": "application/json" }], + "body": { + "mode": "raw", + "raw": "{\n \"campaignId\": \"{{campaign_id}}\",\n \"campaignName\": \"{{campaign_name}}\",\n \"campaignStartDate\": \"{{start_iso}}\",\n \"campaignEndDate\": \"{{end_iso}}\",\n \"currencyCode\": \"EUR\",\n \"entityType\": \"c\",\n \"completed\": true,\n \"isCompleted\": true,\n \"advertiserUuid\": \"{{advertiser_uuid}}\",\n \"advertiserName\": \"{{advertiser_name}}\",\n \"agencyId\": {{agency_id}},\n \"agencyName\": \"{{agency_name}}\",\n \"businessUnitId\": {{business_unit_id}},\n \"buyerId\": {{buyer_id}},\n \"integrationPlatformId\": {{integration_platform_id}},\n \"seatId\": \"{{seat_id}}\",\n \"adOpsPersonId\": {{adops_person_id}},\n \"salesPersonId\": \"{{sales_person_id}}\"\n}" + }, + "url": { + "raw": "{{base_url}}/api/metadata-campaigns", + "host": ["{{base_url}}"], + "path": ["api", "metadata-campaigns"] + }, + "description": "Commercial attribution for a booked campaign — brand, agency, business unit, buyer, DSP seat and the ad-ops / sales owners. A surface PARALLEL to booking: camelCase (booking is snake_case), ISO-8601 UTC dates (booking uses 'YYYY-MM-DD HH:MM:SS' local strings), `campaignId` as a string even though the Classic id is an integer, and only `campaignId` schema-required.\n\nsalesagent posts this immediately after 3.1 so a rejection cleans up the campaign before any line item exists. Read it back with 6.6.\n\nPick the advertiser and agency with 2.12 / 2.13. `entityType: \"c\"`, `completed` and `isCompleted` are fixed values pending confirmation of what the platform derives itself." + } + }, + { + "name": "3.3 Assign placements to line item", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": ["pm.test('placements assigned (2xx)', () => pm.expect(pm.response.code).to.be.within(200, 299));"] + } + } + ], + "request": { + "method": "PUT", + "header": [{ "key": "Content-Type", "value": "application/json" }], + "body": { + "mode": "raw", + "raw": "{\n \"line_item_placements\": [\n { \"id\": {{placement_id}}, \"assigned\": true }\n ]\n}" + }, + "url": { + "raw": "{{base_url}}/rtb/v1/classic/campaigns/{{campaign_id}}/line-items/{{line_item_id}}/placements", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "classic", "campaigns", "{{campaign_id}}", "line-items", "{{line_item_id}}", "placements"] + }, + "description": "Explicit placement assignment — envelope `{\"line_item_placements\": [{id, assigned: true}]}`. Add more entries for more placements. A line item with neither placements (3.3) nor packages (3.4) serves nowhere, and the salesagent adapter treats that as a hard product-config error." + } + }, + { + "name": "3.4 Assign packages to line item (optional)", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": ["pm.test('packages assigned (2xx)', () => pm.expect(pm.response.code).to.be.within(200, 299));"] + } + } + ], + "request": { + "method": "PUT", + "header": [{ "key": "Content-Type", "value": "application/json" }], + "body": { + "mode": "raw", + "raw": "{\n \"line_item_packages\": [\n { \"id\": {{package_id}}, \"assigned\": true }\n ]\n}" + }, + "url": { + "raw": "{{base_url}}/rtb/v1/classic/campaigns/{{campaign_id}}/line-items/{{line_item_id}}/packages", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "classic", "campaigns", "{{campaign_id}}", "line-items", "{{line_item_id}}", "packages"] + }, + "description": "Reusable placement packages, same envelope shape as 3.3 but keyed `line_item_packages`. Run 2.6 first to fill {{package_id}}. Products can pin placements, packages, or both — the adapter sends whichever the product config lists." + } + }, + { + "name": "3.5 Set geo targeting (optional)", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": ["pm.test('geo targeting set (2xx)', () => pm.expect(pm.response.code).to.be.within(200, 299));"] + } + } + ], + "request": { + "method": "PUT", + "header": [{ "key": "Content-Type", "value": "application/json" }], + "body": { + "mode": "raw", + "raw": "{\n \"filter\": true,\n \"geo_targeting\": [\n { \"country\": \"Netherlands\", \"region\": \"{{region_name}}\", \"exclude\": false }\n ]\n}" + }, + "url": { + "raw": "{{base_url}}/rtb/v1/classic/campaigns/{{campaign_id}}/line-items/{{line_item_id}}/geo-targeting", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "classic", "campaigns", "{{campaign_id}}", "line-items", "{{line_item_id}}", "geo-targeting"] + }, + "description": "Geo travels on its own endpoint, never in the line-item create body. Live-validated: `exclude` AND `region` are required on EVERY entry — includes too — despite the spec marking all Geo fields optional (400 'object has missing required properties [\"exclude\",\"region\"]'). Country values must be the platform's own display names from 2.9, not ISO codes. Location targeting reaches city level; there is no postal-code support." + } + }, + { + "name": "3.6 Create creative (Third Party Tag)", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test('creative created (2xx)', () => pm.expect(pm.response.code).to.be.within(200, 299));", + "const body = pm.response.json();", + "const created = Array.isArray(body) ? body[0] : (body.creatives || [])[0];", + "if (created && created.id) {", + " pm.collectionVariables.set('creative_id', String(created.id));", + " console.log('creative_id =', created.id);", + "}" + ] + } + } + ], + "request": { + "method": "POST", + "header": [{ "key": "Content-Type", "value": "application/json" }], + "body": { + "mode": "raw", + "raw": "{\n \"campaign_id\": {{campaign_id}},\n \"creative_type\": \"Third Party Tag\",\n \"creatives\": [\n {\n \"name\": \"{{campaign_name}}-cr\",\n \"size\": \"300x250 (Medium Rectangle)\",\n \"size_id\": 4,\n \"width\": 300,\n \"height\": 250,\n \"status\": \"Active\",\n \"tag\": \"
postman demo creative
\",\n \"tag_secure\": true,\n \"advertiser_domain\": \"example.com\",\n \"third_party_type\": \"display\",\n \"platform_types\": [\"Web\"]\n }\n ]\n}" + }, + "url": { + "raw": "{{base_url}}/rtb/v1/classic/campaign/creatives/third-party-tag/bulk-upload", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "classic", "campaign", "creatives", "third-party-tag", "bulk-upload"] + }, + "description": "Tag creatives use this plain-JSON bulk endpoint — the single-create `POST .../campaigns/{id}/creatives` is a multipart servlet and 500s on plain JSON. Live-validated requirements: creative_type exactly 'Third Party Tag', advertiser_domain, third_party_type 'display', platform_types ['Web'] (capital W), and the RESOLVED size (display name + size_id from 2.3 — a bare '300x250' is rejected with 'no available placements with this creative size'). Saves {{creative_id}}." + } + }, + { + "name": "3.7 Bind creative to line item", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": ["pm.test('creative bound (2xx)', () => pm.expect(pm.response.code).to.be.within(200, 299));"] + } + } + ], + "request": { + "method": "PUT", + "header": [{ "key": "Content-Type", "value": "application/json" }], + "body": { + "mode": "raw", + "raw": "{\n \"line_item_creatives\": [\n { \"id\": {{creative_id}}, \"assigned\": true }\n ]\n}" + }, + "url": { + "raw": "{{base_url}}/rtb/v1/classic/campaigns/{{campaign_id}}/line-items/{{line_item_id}}/creatives", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "classic", "campaigns", "{{campaign_id}}", "line-items", "{{line_item_id}}", "creatives"] + }, + "description": "Envelope `{\"line_item_creatives\": [{id, assigned: true}]}`. This call can take >30s on the dev platform — raise Postman's request timeout if it aborts. After this the campaign is fully booked and appears under beta-deals.360yielddev.com/direct-campaigns." + } + } + ] + }, + { + "name": "4. Lifecycle", + "item": [ + { + "name": "4.1 Get campaign", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/rtb/v1/classic/campaigns/{{campaign_id}}", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "classic", "campaigns", "{{campaign_id}}"] + } + } + }, + { + "name": "4.2 List line items", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/rtb/v1/classic/campaigns/{{campaign_id}}/line-items", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "classic", "campaigns", "{{campaign_id}}", "line-items"] + } + } + }, + { + "name": "4.3 Pause line item", + "request": { + "method": "PUT", + "url": { + "raw": "{{base_url}}/rtb/v3/campaigns/{{campaign_id}}/line-items/{{line_item_id}}/status?active=false", + "host": ["{{base_url}}"], + "path": ["rtb", "v3", "campaigns", "{{campaign_id}}", "line-items", "{{line_item_id}}", "status"], + "query": [{ "key": "active", "value": "false" }] + }, + "description": "Status toggles are query-param PUTs with no body. Campaign-level pause = pause every line item." + } + }, + { + "name": "4.4 Resume line item", + "request": { + "method": "PUT", + "url": { + "raw": "{{base_url}}/rtb/v3/campaigns/{{campaign_id}}/line-items/{{line_item_id}}/status?active=true", + "host": ["{{base_url}}"], + "path": ["rtb", "v3", "campaigns", "{{campaign_id}}", "line-items", "{{line_item_id}}", "status"], + "query": [{ "key": "active", "value": "true" }] + } + } + }, + { + "name": "4.5 Update line item (budget / impression cap)", + "request": { + "method": "PUT", + "header": [{ "key": "Content-Type", "value": "application/json" }], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"{{campaign_name}}-li\",\n \"type\": \"Standard\",\n \"line_item_status\": \"Active\",\n \"goal\": \"BUDGET\",\n \"pricing_model\": \"CPM\",\n \"cpm_bid\": {{cpm_bid}},\n \"budget\": 50,\n \"budget_is_daily\": false,\n \"impression_cap\": 20000,\n \"impression_cap_daily\": false,\n \"improve_demand_contact_id\": {{demand_contact_id}},\n \"business_unit_id\": {{business_unit_id}},\n \"buyer_id\": {{buyer_id}}\n}" + }, + "url": { + "raw": "{{base_url}}/rtb/v1/classic/campaigns/{{campaign_id}}/line-items/{{line_item_id}}", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "classic", "campaigns", "{{campaign_id}}", "line-items", "{{line_item_id}}"] + }, + "description": "PUT expects the full DTO — read-modify-write: GET the line item (4.2), change the field, PUT it back. That is exactly what the adapter does for update_package_budget (`budget`) and update_package_impressions (`impression_cap`): it echoes the GET response with the one field replaced. This body is a minimal illustration; echoing everything 4.2 returned is safer." + } + } + ] + }, + { + "name": "5. Reporting (delivery metrics)", + "item": [ + { + "name": "5.1 Report preview (campaign delivery)", + "request": { + "method": "POST", + "header": [{ "key": "Content-Type", "value": "application/json" }], + "body": { + "mode": "raw", + "raw": "{\n \"rows\": 500,\n \"report_generation_request\": {\n \"title\": \"\",\n \"report_type\": \"EXT_CONSOLIDATE\",\n \"currency_id\": 1,\n \"date_range\": { \"quick\": \"LAST_7_DAYS\" },\n \"dimensions\": [\"campaign_id\", \"line_item_id\"],\n \"metrics\": [\"impressions\", \"clicks\", \"advertiser_payout\", \"complete\"],\n \"filters\": [\n { \"column\": \"campaign_id\", \"operation\": \"IN\", \"value\": [{{campaign_id}}] }\n ],\n \"timezone\": \"UTC\",\n \"action\": \"PREVIEW_REPORT\"\n }\n}" + }, + "url": { + "raw": "{{base_url}}/report/ext/preview", + "host": ["{{base_url}}"], + "path": ["report", "ext", "preview"] + }, + "description": "Synchronous report, <=2000 rows as JSON (ReportPreviewRequest.rows max per the OpenAPI spec, validated live). CRITICAL: the body is snake_case (`report_generation_request`, `report_type`, `date_range`) — the camelCase in the OpenAPI spec 500s with 'request is null'. `advertiser_payout` = spend; `complete` = video completions. currency_id per GET /report/ext/currency/available (1=EUR, 2=USD, 3=GBP, …). date_range accepts `quick` and `relative` ({from_count, from_unit: DAY, to_count: 0, to_unit: DAY}); `fixed` is broken on the dev platform (400 'Failed to read request' in every format tried; /report/ext/convert-to-fixed-date-range 500s too). A fresh campaign returns 0 rows until it has delivered. For >2000 rows use POST /report/ext/generation + GET /report/ext/generation-status/{id}." + } + } + ] + }, + { + "name": "6. Reference & probes", + "item": [ + { + "name": "6.1 Permission probe — classic line items", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/rtb/v1/classic/line-items?limit=1", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "classic", "line-items"], + "query": [{ "key": "limit", "value": "1" }] + }, + "description": "Account-wide line-item read. One of the five endpoints salesagent probes in check_permissions (with /rtb/v1/classic/campaigns, /rtb/v3/placements, /schema/rtb/v1/classic/campaigns/campaign and /rtb/v1/sizes-all) to report which adapter concerns the credentials can actually serve." + } + }, + { + "name": "6.2 Campaign create schema", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/schema/rtb/v1/classic/campaigns/campaign", + "host": ["{{base_url}}"], + "path": ["schema", "rtb", "v1", "classic", "campaigns", "campaign"] + }, + "description": "The server-side JSON schema for campaign create — the authority when the OpenAPI spec and the API disagree. Probed by check_permissions as the create_media_buy readiness signal." + } + }, + { + "name": "6.3 List campaign creatives", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/rtb/v1/classic/campaigns/{{campaign_id}}/creatives", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "classic", "campaigns", "{{campaign_id}}", "creatives"] + }, + "description": "Used as a recovery path: when a creative create returns 200 with no usable id in the body, the adapter re-finds the creative here by name (highest id wins) so it can still be bound to a line item." + } + }, + { + "name": "6.4 Create creative (multipart — non-tag types)", + "request": { + "method": "POST", + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "body", + "type": "text", + "contentType": "application/json", + "value": "{\n \"name\": \"{{campaign_name}}-vast\",\n \"type\": \"VAST\",\n \"size\": \"300x250 (Medium Rectangle)\",\n \"size_id\": 4,\n \"width\": 300,\n \"height\": 250,\n \"status\": \"Active\",\n \"tag\": \"https://example.com/vast.xml\",\n \"advertiser_domain\": \"example.com\"\n}" + } + ] + }, + "url": { + "raw": "{{base_url}}/rtb/v1/classic/campaigns/{{campaign_id}}/creatives", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "classic", "campaigns", "{{campaign_id}}", "creatives"] + }, + "description": "Single-create is a multipart servlet: the CreativeDto travels as a `body` part with content type application/json (binary image parts would ride alongside). Plain JSON to this path returns 500 'Failed to parse multipart servlet request'. Tag creatives should use 3.6 instead. Do not set Content-Type by hand — Postman writes the multipart boundary." + } + }, + { + "name": "6.6 Read campaign metadata back", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/api/metadata-campaigns/integration-platform/{{integration_platform_id}}/campaign/{{campaign_id}}", + "host": ["{{base_url}}"], + "path": ["api", "metadata-campaigns", "integration-platform", "{{integration_platform_id}}", "campaign", "{{campaign_id}}"] + }, + "description": "Verify what 3.1b stored. The metadata record has its own `id` distinct from `campaignId` — it points at the Classic campaign rather than being part of it." + } + }, + { + "name": "6.6 Read campaign metadata back", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/api/metadata-campaigns/integration-platform/{{integration_platform_id}}/campaign/{{campaign_id}}", + "host": ["{{base_url}}"], + "path": ["api", "metadata-campaigns", "integration-platform", "{{integration_platform_id}}", "campaign", "{{campaign_id}}"] + }, + "description": "Verify what 3.1b stored. The metadata record has its own `id` distinct from `campaignId` — it points at the Classic campaign rather than being part of it." + } + }, + { + "name": "6.5 Logout (invalidate bearer)", + "request": { + "method": "DELETE", + "url": { + "raw": "{{base_url}}/oauth/logout/{{access_token}}", + "host": ["{{base_url}}"], + "path": ["oauth", "logout", "{{access_token}}"] + }, + "description": "Best-effort server-side token invalidation, called when the adapter closes its client. Tokens expire on their own within minutes, so failures here are ignored. Running this invalidates {{access_token}}; the collection pre-request script mints a fresh one on the next call." + } + } + ] + }, + { + "name": "7. Cleanup", + "item": [ + { + "name": "7.1 Delete campaign (hard)", + "request": { + "method": "DELETE", + "url": { + "raw": "{{base_url}}/rtb/v1/classic/campaigns/{{campaign_id}}", + "host": ["{{base_url}}"], + "path": ["rtb", "v1", "classic", "campaigns", "{{campaign_id}}"] + }, + "description": "Refused with 400 once the campaign has served impressions (the dev platform attributes simulated impressions within seconds of activation) — use 7.2 then. This is exactly the adapter's cleanup path when a booking fails part-way: delete, then archive." + } + }, + { + "name": "7.2 Archive campaign (soft)", + "request": { + "method": "PUT", + "url": { + "raw": "{{base_url}}/rtb/v3/campaigns/{{campaign_id}}/archive", + "host": ["{{base_url}}"], + "path": ["rtb", "v3", "campaigns", "{{campaign_id}}", "archive"] + }, + "description": "The platform-sanctioned cleanup for campaigns that already served." + } + } + ] + } + ] +} diff --git a/docs/adapters/improvedigital/live-wire-shapes.md b/docs/adapters/improvedigital/live-wire-shapes.md new file mode 100644 index 0000000000..80c5fbe662 --- /dev/null +++ b/docs/adapters/improvedigital/live-wire-shapes.md @@ -0,0 +1,125 @@ +# Improve Digital (360Yield) — live wire shapes (dev platform) + +Validated live against `https://api.360yielddev.com` (2026-08-04) via +`tests/integration/test_improvedigital_live.py` (full booking cycle green). +These findings correct/extend the committed OpenAPI spec, which is wrong or +incomplete in several places. + +## Booking (Classic) + +- **Dates**: all Classic entities take `YYYY-MM-DD HH:MM:SS` strings, never + bare dates. +- **Campaign create** (`POST /rtb/v1/classic/campaigns`) requires beyond the + spec: `type: "Improve"`, `buying_entity_id` (421 = "Improve Digital + Marketplace" on dev), and at least one buying entity office + (`buying_entity_office_id`/`buying_entity_office_ids`, 5068 on dev) — + otherwise 500 "Assign at least one Always on Deal buying entity office". +- **Line item create** requires `type: "Standard"`, `line_item_status: + "Active"`, `business_unit_id` (33 = Azerion on dev), + `improve_demand_contact_id`, and `goal` for CPM items + (`IMPRESSION`/`BUDGET`). `pricing_model: "CPM"` confirmed (gap G2 closed). +- **Line item create — platform-parity fields** (from a payload captured on + `api-alpha.360yielddev.com`, not yet re-validated on `api.360yielddev.com`): + the platform's own create sends the money figure as `budget` plus a + `flight_details[]` row (`start_time`, `end_time`, `budget`, + `budget_is_daily`, `impression_cap`, `impression_cap_daily`) alongside + `buyer_id`, `invoice_type: "on_actuals"`, `pricing_model_type: "First Bid"`, + `delivery_schedule: "Evenly"`, `third_party_inventory`, `is_optimised` and + the compliance flags (`track_viewability`, `is_consentless`, + `is_coppa_compliant`, `conversion_tracking_enabled`, `keep_on_delivering`, + `optout_mechanism`). `flight_details` is absent from the committed + rtb-v3 OpenAPI spec, and `dynamic_optimization_kpi_value` is typed `string` + there but sent as `0` — both are alpha-side divergences. +- `frequency_interval_type` is a lowercase enum + (`months`/`weeks`/`days`/`hours`/`minutes`) — product configs must match. +- **improve_demand_contact_id == the API user's user_id** (from + `GET /lookup/v1/user-details`) — every recent dev campaign follows this. +- **Advertiser is optional** on Classic campaigns (`advertiserId` is null on + every live dev campaign); metadata advertisers (`/api/metadata-advertisers`) + are UUIDs and do not fit `CampaignDto.advertiserId` (integer). +- **Geo targeting** (`PUT .../line-items/{id}/geo-targeting`) requires + `exclude` AND `region` on every `geo_targeting` entry — includes too — + despite the spec marking all `Geo` fields optional (400 "object has + missing required properties [\"exclude\",\"region\"]"). Country entries + must carry their region, resolved from `/rtb/v1/regions` + + `/rtb/v1/regions/{name}/countries`. + +## Inventory + +- **v3 placement search rows** use `placement_id`/`placement_name`, not + `id`/`name`. Envelope: `{"placements": [...], "total_number_of_elements"}`. +- The placement search serves 1000-row (and larger) pages — keep pages big: + the API rate-limits reads to **100 requests per 60s** (429 after that, + and connections stall near the limit). The transport sleeps out the + window and retries. + +## Creatives (Classic) + +- Single create (`POST .../creatives`) is a **multipart servlet** (DTO in a + `body` part) — plain JSON gets 500 "Failed to parse multipart". +- Tag creatives use the plain-JSON + `POST /rtb/v1/classic/campaign/creatives/third-party-tag/bulk-upload` + (`CreativeBulkUploadDto`: campaign_id, creative_type, creatives[], + optional line_item_id). +- `creative_type` canonical names (`GET /common/v1/i18n/creative_type`): + **Third Party Tag**, Image (PNG, GIF, JPG), Flash (SWF), Html5, VAST, + Mobile In-App-Third Party Tag, VAST_VPAID, Video File, Native, Ad + Builder, Raw Video, VAST Audio. +- Tag creatives additionally require `advertiser_domain`, + `third_party_type: "display"`, `platform_types: ["Web"]` (capital W), and + a **resolved size**: a bare `"300x250"` string is rejected ("There are no + available placements with this creative size"); send the display name + + `size_id` from `GET /rtb/v1/sizes-all` (300x250 → id 4). +- Creative binding (`PUT .../line-items/{id}/creatives`, envelope + `{"line_item_creatives": [{"id": X, "assigned": true}]}`) can take >30s + on dev — the adapter uses a 90s timeout. + +## Report API + +- Deserializes **snake_case**, not the camelCase in the OpenAPI spec — + camelCase yields 500 "request is null": + + ```json + { + "rows": 500, + "report_generation_request": { + "title": "", + "report_type": "EXT_CONSOLIDATE", + "currency_id": 1, + "date_range": {"quick": "LAST_31_DAYS"}, + "dimensions": ["campaign_id", "line_item_id"], + "metrics": ["impressions", "clicks", "advertiser_payout", "complete"], + "filters": [{"column": "campaign_id", "operation": "IN", "value": [123]}], + "timezone": "UTC", + "action": "PREVIEW_REPORT" + } + } + ``` + +- `currency_id`: 1=EUR, 2=USD. + +## Cleanup + +- Campaigns with served impressions cannot be hard-deleted ("Campaign can + not be deleted because it has served impressions") — the dev platform + attributes simulated impressions within seconds; archive + (`PUT /rtb/v3/campaigns/{id}/archive`) is the fallback. + +## Tenant configuration + +```bash +export IMPROVEDIGITAL_CLIENT_ID=... +export IMPROVEDIGITAL_CLIENT_SECRET=... +python scripts/ops/configure_improvedigital_tenant.py \ + --tenant default \ + --demand-contact-id \ + --api-base-url https://api.360yielddev.com \ + --buying-entity-id 421 --buying-entity-office-id 5068 \ + --business-unit-id 33 \ + --currency EUR --timezone Europe/Amsterdam +``` + +Note: the dev API host resolves to a VPN-private address — Docker bridge +containers typically cannot reach it even when the host can. Run the stack +with VPN routing that covers the Docker subnet, or verify from the host via +the live smoke test. diff --git a/scripts/deploy/run_all_services.py b/scripts/deploy/run_all_services.py index b32d05a6cb..5086b370cf 100644 --- a/scripts/deploy/run_all_services.py +++ b/scripts/deploy/run_all_services.py @@ -20,6 +20,11 @@ # Store process references for cleanup processes = [] +# Exit code of the MCP/A2A/Admin server child once it has stopped. ``None`` +# while it is running. The main loop watches this so the container exits +# (and the orchestrator restarts it) instead of leaving nginx serving 502s. +_mcp_exit_code: int | None = None + def validate_required_env(): """Validate required environment variables.""" @@ -165,25 +170,45 @@ def check_schema_issues(): def init_database(): - """Initialize database schema and default data.""" + """Initialize database schema and default data. + + Runs in a subprocess (like ``run_migrations``) rather than in this + wrapper process on purpose: ``src.core.database.database`` imports the + ORM models, which import ``adcp.types``, and importing the ``adcp`` + library builds native pydantic validators for ~1,900 models — about + 1.2 GB of resident memory. This wrapper stays alive for the life of + the container, so doing that import here permanently doubled the + task's memory footprint (wrapper ~1.2 GB + server child ~1.5 GB) and + left a 4 GB Fargate task a few hundred MB from the OOM killer. + """ print("📦 Initializing database schema and default data...") print( "ℹ️ Note: init_db() is safe - it only creates tables (IF NOT EXISTS) and default tenant (if no tenants exist)" ) try: - from src.core.database.database import init_db - - init_db(exit_on_error=True) + result = subprocess.run( + [ + sys.executable, + "-c", + "from src.core.database.database import init_db; init_db(exit_on_error=True)", + ], + timeout=300, + ) + if result.returncode != 0: + print(f"❌ Database initialization failed (exit code {result.returncode})") + sys.exit(1) print("✅ Database initialization complete") + except subprocess.TimeoutExpired: + print("❌ Database initialization timed out after 300 seconds") + sys.exit(1) except Exception as e: print(f"❌ Database initialization failed: {e}") sys.exit(1) -def cleanup(signum=None, frame=None): - """Clean up all processes on exit.""" - print("\nShutting down all services...") +def _terminate_children() -> None: + """Terminate every child process we started (nginx, cron, server).""" for proc in processes: if proc and proc.poll() is None: proc.terminate() @@ -191,6 +216,12 @@ def cleanup(signum=None, frame=None): proc.wait(timeout=5) except subprocess.TimeoutExpired: proc.kill() + + +def cleanup(signum=None, frame=None): + """Clean up all processes on exit.""" + print("\nShutting down all services...") + _terminate_children() sys.exit(0) @@ -240,7 +271,16 @@ def run_mcp_server(): for line in iter(proc.stdout.readline, b""): if line: print(f"[MCP] {line.decode().rstrip()}") - print("MCP server stopped") + rc = proc.wait() + # A negative return code means the child was killed by a signal: + # -9 = SIGKILL (kernel OOM killer), -11 = SIGSEGV (native crash). + if rc < 0: + hint = " (SIGKILL — likely out of memory)" if rc == -9 else " (SIGSEGV — native crash)" if rc == -11 else "" + print(f"MCP server stopped: killed by signal {-rc}{hint}") + else: + print(f"MCP server stopped with exit code {rc}") + global _mcp_exit_code + _mcp_exit_code = rc def exec_mcp_server(): @@ -424,10 +464,24 @@ def main(): print("\nℹ️ Nginx reverse proxy skipped (SKIP_NGINX=true)") print("Press Ctrl+C to stop all services") - # Keep the main thread alive + # Keep the main thread alive while the server child is running. If the + # child dies (OOM kill, native crash, unhandled exit) we must exit too: + # otherwise this wrapper keeps the container "alive" with nothing on the + # app port, the load balancer serves 502s until its unhealthy threshold + # finally kills the task, and the stopped-task reason only says "failed + # ELB health checks" with exit code 0, hiding the real cause. Exiting + # with the child's status surfaces it (137 = SIGKILL/OOM, 139 = SIGSEGV) + # and lets the orchestrator restart the task immediately. try: while True: time.sleep(1) + if _mcp_exit_code is not None: + rc = _mcp_exit_code + print(f"❌ MCP server process exited (code {rc}); stopping container so it can be restarted") + _terminate_children() + if rc < 0: + sys.exit(128 + (-rc)) # shell convention for signal deaths + sys.exit(rc or 1) # a clean exit of the server is still a failure here except KeyboardInterrupt: print("\n\nShutting down all services...") sys.exit(0) diff --git a/scripts/ops/configure_improvedigital_tenant.py b/scripts/ops/configure_improvedigital_tenant.py new file mode 100644 index 0000000000..8e903853fe --- /dev/null +++ b/scripts/ops/configure_improvedigital_tenant.py @@ -0,0 +1,111 @@ +#!/usr/bin/env python3 +"""Configure a tenant for the Improve Digital (360Yield) adapter. + +Reads OAuth2 credentials from the environment (never from arguments, so +secrets don't land in shell history) and upserts the tenant's AdapterConfig +row with a Fernet-encrypted ``config_json`` via +``ImproveDigitalConnectionConfig`` — the same round-trip the admin UI uses. + +Usage: + export IMPROVEDIGITAL_CLIENT_ID=... + export IMPROVEDIGITAL_CLIENT_SECRET=... + python scripts/ops/configure_improvedigital_tenant.py \ + --tenant default \ + --demand-contact-id 17918 \ + --api-base-url https://api.360yielddev.com \ + [--advertiser-id 123] [--agency-id 456] \ + [--currency EUR] [--timezone Europe/Amsterdam] + +Run inside the app container (or with DATABASE_URL pointing at the app DB): + docker compose exec adcp-server python scripts/ops/configure_improvedigital_tenant.py ... +""" + +import argparse +import os +import sys + +sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) + +from src.adapters.improvedigital.schemas import ImproveDigitalConnectionConfig +from src.core.database.database_session import get_db_session +from src.core.database.models import AdapterConfig, Tenant + + +def main() -> int: + parser = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + parser.add_argument("--tenant", default="default", help="Tenant ID to configure") + parser.add_argument("--demand-contact-id", type=int, required=True, help="improve_demand_contact_id") + parser.add_argument("--api-base-url", default="https://api.360yield.com") + parser.add_argument("--advertiser-id", type=int, default=None, help="default_advertiser_id") + parser.add_argument("--agency-id", type=int, default=None) + parser.add_argument( + "--buying-entity-id", + type=int, + required=True, + help="Buying entity ID (421 = 'Improve Digital Marketplace' on the dev platform)", + ) + parser.add_argument("--buying-entity-office-id", type=int, default=None, help="Buyer seat (e.g. 5068 on dev)") + parser.add_argument( + "--business-unit-id", + type=int, + required=True, + help="Business unit ID for Classic line items (33 = Azerion on the dev platform)", + ) + parser.add_argument( + "--buyer-id", + type=int, + default=None, + help="Buyer ID sent on Classic line items (omitted when unset)", + ) + parser.add_argument("--currency", default="EUR") + parser.add_argument("--timezone", default="Europe/Amsterdam") + args = parser.parse_args() + + client_id = os.environ.get("IMPROVEDIGITAL_CLIENT_ID") + client_secret = os.environ.get("IMPROVEDIGITAL_CLIENT_SECRET") + if not (client_id and client_secret): + print("Set IMPROVEDIGITAL_CLIENT_ID and IMPROVEDIGITAL_CLIENT_SECRET in the environment.", file=sys.stderr) + return 2 + + config = ImproveDigitalConnectionConfig( + client_id=client_id, + client_secret=client_secret, + api_base_url=args.api_base_url, + improve_demand_contact_id=args.demand_contact_id, + default_advertiser_id=args.advertiser_id, + agency_id=args.agency_id, + buying_entity_id=args.buying_entity_id, + buying_entity_office_id=args.buying_entity_office_id, + business_unit_id=args.business_unit_id, + buyer_id=args.buyer_id, + currency=args.currency, + timezone=args.timezone, + ) + # model_dump() runs the field_serializer → client_secret lands encrypted. + config_json = config.model_dump() + + with get_db_session() as session: + tenant = session.get(Tenant, args.tenant) + if tenant is None: + print(f"Tenant {args.tenant!r} not found.", file=sys.stderr) + return 1 + row = session.get(AdapterConfig, args.tenant) + if row is None: + row = AdapterConfig(tenant_id=args.tenant, adapter_type="improvedigital") + session.add(row) + row.adapter_type = "improvedigital" + row.config_json = config_json + tenant.ad_server = "improvedigital" + session.commit() + + print( + f"Tenant {args.tenant!r} configured for Improve Digital " + f"(base_url={args.api_base_url}, demand_contact={args.demand_contact_id}, " + f"advertiser={args.advertiser_id}, currency={args.currency}, tz={args.timezone})." + ) + print("Secret stored encrypted in adapter_config.config_json.") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/run_server.py b/scripts/run_server.py index 33447458b8..3df0c89f33 100755 --- a/scripts/run_server.py +++ b/scripts/run_server.py @@ -5,12 +5,71 @@ A2A at /, and Flask admin via WSGI middleware. """ +import faulthandler import os import sys +import threading +import time + + +def _rss_mb() -> float: + """Current resident set size in MB (Linux: /proc; elsewhere: peak RSS).""" + try: + with open("/proc/self/statm") as f: + resident_pages = int(f.read().split()[1]) + return resident_pages * os.sysconf("SC_PAGE_SIZE") / (1024 * 1024) + except (OSError, ValueError, IndexError): + import resource + + peak = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss + return peak / (1024 * 1024) if sys.platform == "darwin" else peak / 1024 + + +def start_memory_watchdog() -> None: + """Log RSS milestones and dump every thread's stack when memory runs away. + + The Fargate task gets OOM-killed (SIGKILL) within a second or two of an + admin save while Container Insights never shows more than ~70% memory — + the burst is faster than the 1-minute metric. SIGKILL cannot be caught, + so ``faulthandler.enable()`` never fires for it. This thread polls RSS + every 200 ms, logs each ±200 MB move, and when RSS crosses + ``ADCP_MEM_DUMP_MB`` (default 2200) — and again every 500 MB above it — + dumps all thread stacks to stderr so the log shows exactly which code + path is allocating at the moment the process runs away. + Set ``ADCP_MEM_DUMP_MB=0`` to disable. + """ + threshold = int(os.environ.get("ADCP_MEM_DUMP_MB", "2200")) + if threshold <= 0: + return + + def run() -> None: + next_dump = float(threshold) + last_logged = 0.0 + while True: + time.sleep(0.2) + mb = _rss_mb() + if abs(mb - last_logged) >= 200: + print(f"[memwatch] rss={mb:.0f} MB", file=sys.stderr, flush=True) + last_logged = mb + if mb >= next_dump: + print( + f"[memwatch] rss={mb:.0f} MB crossed {next_dump:.0f} MB — dumping all thread stacks", + file=sys.stderr, + flush=True, + ) + faulthandler.dump_traceback(all_threads=True) + next_dump += 500 + + threading.Thread(target=run, name="memwatch", daemon=True).start() def main(): """Run the server with configurable port.""" + # Dump Python tracebacks of every thread to stderr on a hard crash + # (segfault, abort, fatal signal) — otherwise the process just vanishes + # and the proxy reports 502 with nothing in the application log. + faulthandler.enable() + start_memory_watchdog() try: sys.path.insert(0, ".") from src.core.startup import initialize_application diff --git a/src/adapters/__init__.py b/src/adapters/__init__.py index 7be4b7ec67..ce867d7e2e 100644 --- a/src/adapters/__init__.py +++ b/src/adapters/__init__.py @@ -9,6 +9,7 @@ from .creative_engine import CreativeEngineAdapter from .freewheel import FreeWheelAdapter from .google_ad_manager import GoogleAdManager as GAMAdapter +from .improvedigital import ImproveDigitalAdapter from .mock_ad_server import MockAdServer as MockAdapter from .springserve import SpringServeAdapter @@ -24,6 +25,7 @@ "google_ad_manager": GAMAdapter, "broadstreet": BroadstreetAdapter, "freewheel": FreeWheelAdapter, + "improvedigital": ImproveDigitalAdapter, "springserve": SpringServeAdapter, "mock": MockAdapter, "creative_engine": CreativeEngineAdapter, diff --git a/src/adapters/base.py b/src/adapters/base.py index eb2273f2ed..12312425cf 100644 --- a/src/adapters/base.py +++ b/src/adapters/base.py @@ -485,10 +485,18 @@ def _aggregate_stat_rows_to_delivery_response( total_impressions = sum(getattr(row, "impressions", 0) or 0 for row in stat_rows) total_spend = sum(getattr(row, "spend_micros", 0) or 0 for row in stat_rows) / 1_000_000.0 total_completed = sum(getattr(row, "completed_views", 0) or 0 for row in stat_rows) + # None means the platform doesn't report clicks; 0 is a real count — + # only surface click totals when at least one row carried one. + clicks_reported = any(getattr(row, "clicks", None) is not None for row in stat_rows) + total_clicks = sum(getattr(row, "clicks", 0) or 0 for row in stat_rows) currency = next((row.currency for row in stat_rows if row.currency), default_currency) totals = DeliveryTotals( impressions=float(total_impressions), spend=total_spend, + clicks=float(total_clicks) if clicks_reported else None, + # Clamped: click trackers/companion clicks can report more clicks + # than impressions, and DeliveryTotals.ctr enforces le=1. + ctr=(min(1.0, total_clicks / total_impressions)) if clicks_reported and total_impressions else None, completed_views=float(total_completed) if total_completed else None, completion_rate=(total_completed / total_impressions) if total_impressions else None, ) diff --git a/src/adapters/gam/managers/sync.py b/src/adapters/gam/managers/sync.py index cf4696a62d..7b90451cc7 100644 --- a/src/adapters/gam/managers/sync.py +++ b/src/adapters/gam/managers/sync.py @@ -134,6 +134,11 @@ def sync_inventory( # TODO: SyncJob.completed_at should use Mapped[datetime] not Mapped[DateTime] sync_job.completed_at = datetime.now(UTC) sync_job.summary = json.dumps(summary) + # First successful inventory sync freezes the tenant's ad server + # configuration (adapter_config_lock.py). + from src.core.database.repositories.adapter_config import AdapterConfigRepository + + AdapterConfigRepository(db_session, self.tenant_id).mark_config_locked() db_session.commit() logger.info(f"Inventory sync completed for tenant {self.tenant_id}: {summary}") @@ -366,6 +371,11 @@ def sync_selective( # TODO: SyncJob.completed_at should use Mapped[datetime] not Mapped[DateTime] sync_job.completed_at = datetime.now(UTC) sync_job.summary = json.dumps(summary) + # Selective syncs persist inventory too — same lock trigger as a + # full inventory sync (adapter_config_lock.py). + from src.core.database.repositories.adapter_config import AdapterConfigRepository + + AdapterConfigRepository(db_session, self.tenant_id).mark_config_locked() db_session.commit() logger.info(f"Selective sync completed for tenant {self.tenant_id}: {summary}") diff --git a/src/adapters/improvedigital/__init__.py b/src/adapters/improvedigital/__init__.py new file mode 100644 index 0000000000..827d18d8f5 --- /dev/null +++ b/src/adapters/improvedigital/__init__.py @@ -0,0 +1,40 @@ +"""Improve Digital (Azerion 360Yield Marketplace) ad-server adapter. + +Phase 1 targets **Classic (direct) campaigns** — creatives hosted and served +by the Improve adserver — at ``https://api.360yield.com``: + +- OAuth2 client_credentials auth (``/oauth/token`` — short-lived bearer, no + refresh token, re-mint on 401) +- Classic campaigns + line items + creatives (``/rtb/v1/classic/*``) +- Placement search (``/rtb/v3/placements``) for inventory selection +- Improve Marketplace Report API (``/report``) for definitive delivery + +See ``docs/adapters/improvedigital/INTEGRATION_PLAN.md`` for the phased +integration plan and the committed OpenAPI spec under +``docs/adapters/improvedigital/api-doc/``. +""" + +from .adapter import ImproveDigitalAdapter +from .client import ( + ImproveDigitalAuthError, + ImproveDigitalClient, + ImproveDigitalError, + ImproveDigitalForbiddenError, + ImproveDigitalNotFoundError, + ImproveDigitalServerError, + ImproveDigitalValidationError, +) +from .schemas import ImproveDigitalConnectionConfig, ImproveDigitalProductConfig + +__all__ = [ + "ImproveDigitalAdapter", + "ImproveDigitalAuthError", + "ImproveDigitalClient", + "ImproveDigitalConnectionConfig", + "ImproveDigitalError", + "ImproveDigitalForbiddenError", + "ImproveDigitalNotFoundError", + "ImproveDigitalProductConfig", + "ImproveDigitalServerError", + "ImproveDigitalValidationError", +] diff --git a/src/adapters/improvedigital/_transport.py b/src/adapters/improvedigital/_transport.py new file mode 100644 index 0000000000..b256a7625a --- /dev/null +++ b/src/adapters/improvedigital/_transport.py @@ -0,0 +1,388 @@ +"""HTTP transport for the Improve Digital 360Yield Marketplace API. + +Knows about OAuth2 bearer auth, JSON handling, and HTTP status -> exception +mapping. Does not know about pagination, entity shapes, or specific +endpoints — those live in :mod:`client`. + +Authentication (per the Client Authentication doc): + +- **OAuth2 client_credentials only.** POST ``{base_url}/oauth/token`` with + ``grant_type=client_credentials`` and HTTP Basic auth + (``client_id:client_secret``). The response carries the bearer under + ``value`` (NOT ``access_token``) with a TTL in ``expiresIn`` — observed + lifetime is ~11 minutes. There is **no refresh token**: on expiry the API + returns 401 and the transport must mint a fresh bearer (handled by the + refresh-on-401 retry in :meth:`_request`). + +Errors arrive as an ``ExceptionWrapper`` JSON envelope +(``{"type": ..., "messages": [{"errorCode", "property", "description"}]}``) +for 400 validation failures; 401 means token expired, 403 insufficient +permissions. +""" + +from __future__ import annotations + +import base64 +import json +import logging +import time +from typing import Any +from urllib.parse import urlencode + +import requests + +from src.adapters._logging import safe_upstream_body_excerpt +from src.adapters._token_cache import BearerTokenCache + +logger = logging.getLogger(__name__) + +DEFAULT_BASE_URL = "https://api.360yield.com" +DEFAULT_TIMEOUT = 30.0 + +# 360Yield bearers live ~11 minutes; a 2-minute leeway re-mints comfortably +# before expiry. (BearerTokenCache caps leeway at ttl/2, so even shorter +# observed TTLs stay usable.) +_REFRESH_LEEWAY_SECONDS = 2 * 60 + +# The platform rate-limits reads to 100 per 60s (429 RateLimitException). +# Pagination sweeps (inventory sync) legitimately exhaust the window, so a +# 429 is retried after sleeping; the second delay crosses a full window even +# when the quota was burned at its very start. +_RATE_LIMIT_RETRY_DELAYS = (20.0, 65.0) +_RATE_LIMIT_SLEEP_SECONDS = 61.0 + + +class ImproveDigitalError(Exception): + """Base exception for Improve Digital API errors. + + Carries the HTTP status code and raw response body so callers can + inspect them without re-reading the response. + """ + + def __init__(self, message: str, *, status_code: int | None = None, body: str | None = None): + super().__init__(message) + self.status_code = status_code + self.body = body + + +class ImproveDigitalAuthError(ImproveDigitalError): + """401 — the bearer token is invalid or expired (no refresh token exists).""" + + +class ImproveDigitalForbiddenError(ImproveDigitalError): + """403 — the bearer is valid but lacks permissions for this resource.""" + + +class ImproveDigitalNotFoundError(ImproveDigitalError): + """404 — the requested resource does not exist.""" + + +class ImproveDigitalRateLimitError(ImproveDigitalError): + """429 — read quota exhausted (100 requests per 60s) after retries.""" + + +class ImproveDigitalValidationError(ImproveDigitalError): + """4xx (other than 401/403/404/429) — typically an ``ExceptionWrapper`` validation envelope.""" + + +class ImproveDigitalServerError(ImproveDigitalError): + """5xx — 360Yield's side is unhappy.""" + + +def _exception_wrapper_summary(body: str) -> str | None: + """Extract a compact human-readable summary from an ``ExceptionWrapper`` body. + + Returns ``None`` when the body is not the expected envelope so callers + fall back to the generic HTTP-status message. + """ + try: + parsed = json.loads(body) + except (ValueError, TypeError): + return None + if not isinstance(parsed, dict): + return None + messages = parsed.get("messages") + if not isinstance(messages, list): + return None + parts = [] + for message in messages[:5]: + if not isinstance(message, dict): + continue + prop = message.get("property") + description = message.get("description") or message.get("errorCode") + parts.append(f"{prop}: {description}" if prop else str(description)) + return "; ".join(parts) or None + + +class ImproveDigitalTransport: + """Low-level HTTP layer for the 360Yield Marketplace API. + + Construct with ``client_id`` + ``client_secret``. The transport mints a + bearer at ``{base_url}/oauth/token``, caches it with TTL tracking, and + re-mints on 401 or expiry (360Yield issues no refresh tokens). + """ + + def __init__( + self, + *, + client_id: str | None = None, + client_secret: str | None = None, + base_url: str = DEFAULT_BASE_URL, + timeout: float = DEFAULT_TIMEOUT, + session: requests.Session | None = None, + ): + if not (client_id and client_secret): + raise ValueError("ImproveDigitalTransport requires client_id + client_secret") + + self._client_id = client_id + self._client_secret = client_secret + self.base_url = base_url.rstrip("/") + self.timeout = timeout + self._session = session or requests.Session() + self._token_cache = BearerTokenCache( + mint_fn=self._mint_token, + refresh_leeway_seconds=_REFRESH_LEEWAY_SECONDS, + ) + + # ----- public methods ----- + + def get_json(self, path: str, **params: Any) -> Any: + """GET a JSON resource. Returns the parsed body (dict or list).""" + response = self._request("GET", path, params=params or None) + return response.json() if response.content else {} + + def post_json(self, path: str, json_body: dict[str, Any] | None = None, **params: Any) -> Any: + """POST a JSON body, parse the JSON response.""" + response = self._request( + "POST", + path, + params=params or None, + body=json.dumps(json_body) if json_body is not None else None, + content_type="application/json", + ) + return response.json() if response.content else {} + + def post_multipart(self, path: str, json_body: dict[str, Any], part_name: str = "body", **params: Any) -> Any: + """POST a JSON payload as one part of a multipart/form-data request. + + The Classic creative endpoints are multipart servlets: the + ``CreativeDto`` travels as a ``body`` part (content-type + application/json) alongside optional binary image parts. Sending + plain JSON gets HTTP 500 "Failed to parse multipart servlet + request" (verified live on the dev platform). + """ + files = {part_name: (None, json.dumps(json_body), "application/json")} + response = self._request("POST", path, params=params or None, files=files) + return response.json() if response.content else {} + + def put_json(self, path: str, json_body: dict[str, Any] | None = None, **params: Any) -> Any: + """PUT a JSON body, parse the JSON response. + + Unified-deal updates require an ``update_mask`` — callers pass it via + ``params`` (e.g. ``update_mask="budget,name"``). + """ + response = self._request( + "PUT", + path, + params=params or None, + body=json.dumps(json_body) if json_body is not None else None, + content_type="application/json", + ) + return response.json() if response.content else {} + + def delete_json(self, path: str) -> None: + """DELETE a resource. Response body (if any) is discarded.""" + self._request("DELETE", path) + + def probe(self, method: str, path: str) -> tuple[int, str]: + """Cheap permission-check probe — return ``(status_code, body)`` without + raising on non-2xx. Used by ``check_permissions()`` so a single 403 + on one endpoint doesn't kill the whole probe pass. + + Auth/token-mint failures still raise (the probe can't run at all + without a valid token). + """ + url = f"{self.base_url}{path}" + headers = {"Authorization": f"Bearer {self._current_token()}", "accept": "application/json"} + response = self._session.request(method=method, url=url, headers=headers, timeout=self.timeout) + return response.status_code, (response.text[:200] if response.text else "") + + def logout(self) -> None: + """Best-effort ``DELETE /oauth/logout/{token}`` — invalidates the bearer + server-side. Failures are logged, never raised (the token expires on + its own within minutes anyway).""" + try: + token = self._token_cache.current() + except (ImproveDigitalError, requests.RequestException): + return + try: + self._session.delete(f"{self.base_url}/oauth/logout/{token}", timeout=self.timeout) + except requests.RequestException: + logger.info("Improve Digital logout failed (ignored)", exc_info=True) + finally: + self._token_cache.invalidate() + + # ----- internals ----- + + def _current_token(self) -> str: + """Return a valid bearer, minting/refreshing if needed.""" + return self._token_cache.current() + + def _mint_token(self) -> tuple[str, float]: + """OAuth2 client_credentials grant: POST ``{base_url}/oauth/token``. + + Basic auth carries the credentials; the bearer comes back under + ``value`` with its TTL in ``expiresIn`` (seconds). Returns + ``(token, ttl_seconds)`` for :class:`BearerTokenCache`. + """ + basic = base64.b64encode(f"{self._client_id}:{self._client_secret}".encode()).decode() + url = f"{self.base_url}/oauth/token" + try: + response = self._session.post( + url, + data={"grant_type": "client_credentials"}, + headers={"Authorization": f"Basic {basic}"}, + timeout=self.timeout, + ) + except requests.RequestException: + logger.warning("Improve Digital token mint failed: reason=request_exception", exc_info=True) + raise + if not response.ok: + logger.warning( + "Improve Digital token mint failed: status=%s body_excerpt=%s", + response.status_code, + safe_upstream_body_excerpt(response.text), + ) + raise ImproveDigitalAuthError( + f"Improve Digital /oauth/token rejected: HTTP {response.status_code}", + status_code=response.status_code, + body=response.text, + ) + body = response.json() if response.content else {} + token = body.get("value") + if not token: + logger.warning( + "Improve Digital token mint failed: status=%s reason=missing_value body_excerpt=%s", + response.status_code, + safe_upstream_body_excerpt(response.text), + ) + raise ImproveDigitalAuthError( + "Improve Digital /oauth/token response missing token 'value'", + status_code=response.status_code, + body=response.text, + ) + expires_in = float(body.get("expiresIn", 100 * 60)) + logger.info("Improve Digital: minted bearer (expires_in=%s)", int(expires_in)) + return token, expires_in + + def _request( + self, + method: str, + path: str, + *, + params: dict[str, Any] | None = None, + body: str | None = None, + content_type: str | None = None, + files: dict[str, Any] | None = None, + ) -> requests.Response: + try: + response = self._do_request(method, path, params, body, content_type, files) + except requests.Timeout: + if method != "GET": + raise + # Reads stall when the rate-limit window is exhausted (observed + # live after large paginated sweeps) — idempotent, retry once + # after the window resets. + logger.info( + "Improve Digital: %s %s timed out; retrying once after %.0fs", + method, + path, + _RATE_LIMIT_SLEEP_SECONDS, + ) + time.sleep(_RATE_LIMIT_SLEEP_SECONDS) + response = self._do_request(method, path, params, body, content_type, files) + # No refresh token exists — a 401 with a cached token means it + # expired. Mint a fresh one and retry once before propagating. + if response.status_code == 401: + logger.info("Improve Digital: 401 with cached token; minting fresh and retrying") + self._token_cache.invalidate() + response = self._do_request(method, path, params, body, content_type) + for delay in _RATE_LIMIT_RETRY_DELAYS: + if response.status_code != 429: + break + retry_after = response.headers.get("Retry-After") + wait = float(retry_after) if retry_after and retry_after.isdigit() else delay + logger.info( + "Improve Digital: 429 rate-limited on %s %s — sleeping %.0fs before retry", + method, + path, + wait, + ) + time.sleep(wait) + response = self._do_request(method, path, params, body, content_type) + self._raise_for_status(response, method, path) + return response + + def _do_request( + self, + method: str, + path: str, + params: dict[str, Any] | None, + body: str | None, + content_type: str | None, + files: dict[str, Any] | None = None, + ) -> requests.Response: + url = f"{self.base_url}{path}" + if params: + url = f"{url}?{urlencode(params, doseq=True)}" + headers = { + "Authorization": f"Bearer {self._current_token()}", + "accept": "application/json", + } + if content_type: + headers["Content-Type"] = content_type + try: + return self._session.request( + method=method, + url=url, + headers=headers, + data=body, + files=files, + timeout=self.timeout, + ) + except requests.RequestException: + logger.warning( + "Improve Digital API request failed: method=%s path=%s reason=request_exception", + method, + path, + exc_info=True, + ) + raise + + def _raise_for_status(self, response: requests.Response, method: str, path: str) -> None: + if response.ok: + return + status = response.status_code + body = response.text + message = f"Improve Digital {method} {path} -> HTTP {status}" + summary = _exception_wrapper_summary(body) + if summary: + message = f"{message}: {summary}" + logger.warning( + "Improve Digital API request failed: method=%s path=%s status=%s body_excerpt=%s", + method, + path, + status, + safe_upstream_body_excerpt(body), + ) + if status == 401: + raise ImproveDigitalAuthError(message, status_code=status, body=body) + if status == 403: + raise ImproveDigitalForbiddenError(message, status_code=status, body=body) + if status == 404: + raise ImproveDigitalNotFoundError(message, status_code=status, body=body) + if status == 429: + raise ImproveDigitalRateLimitError(message, status_code=status, body=body) + if 400 <= status < 500: + raise ImproveDigitalValidationError(message, status_code=status, body=body) + raise ImproveDigitalServerError(message, status_code=status, body=body) diff --git a/src/adapters/improvedigital/adapter.py b/src/adapters/improvedigital/adapter.py new file mode 100644 index 0000000000..212f127436 --- /dev/null +++ b/src/adapters/improvedigital/adapter.py @@ -0,0 +1,1589 @@ +"""Improve Digital adapter — implements ``AdServerAdapter`` against the +360Yield Marketplace API (Azerion / 360 Polaris), targeting **Classic +(direct) campaigns** in Phase 1: campaigns whose creatives are hosted and +served by the Improve adserver. + +Entity mapping (confirmed against the Marketplace API docs + OpenAPI spec, +see docs/adapters/improvedigital/INTEGRATION_PLAN.md): + +- AdCP MediaBuy → Classic Campaign (``POST /rtb/v1/classic/campaigns``) +- AdCP Package → Classic Line Item (``POST .../campaigns/{id}/line-items``) +- AdCP Creative → Classic Creative (``POST .../campaigns/{id}/creatives``) + + line-item binding (``PUT .../line-items/{id}/creatives``) +- Delivery → Report API ``EXT_CONSOLIDATE`` (definitive) + + ``impression-delivery`` (real-time trend, not source of truth) + +Live coverage: + +- ✅ dry-run for every tool path — echoes the Classic campaign / line-item / + creative payloads the adapter would send. +- ✅ create_media_buy — Classic campaign + one line item per package + + placement/package assignment; returns ``platform_line_item_id`` per + package (persisted to ``media_packages.package_config`` by the core layer). +- ✅ add_creative_assets / associate_creatives — Classic creative CRUD + + line-item binding. +- ✅ update_media_buy — pause/resume (buy + package), budget/impression + updates, activate, archive; approval actions are platform no-ops + (Classic campaigns have no approval workflow). +- ✅ check_media_buy_status / check_permissions. +- ✅ get_media_buy_delivery — aggregates the ``improvedigital_line_item_stats`` + cache populated by ``run_reporting_sync`` (Report API preview); raises + ``DeliveryDataUnavailable`` while the cache is still empty. + +Wire-shape notes (validated against the dev OpenAPI spec + live entities): +platform datetimes are ``YYYY-MM-DD HH:MM:SS`` strings; assignment +endpoints take ``{"line_item_placements"|"line_item_packages"| +"line_item_creatives": [{"id": ..., "assigned": true}]}`` envelopes; +status toggles are query-param PUTs. +""" + +from __future__ import annotations + +import html +import logging +from datetime import UTC, datetime +from typing import Any + +from adcp.types.aliases import Package as ResponsePackage + +from src.adapters.base import ( + AdapterCapabilities, + AdapterSyncResult, + AdServerAdapter, + CreativeEngineAdapter, + DeliveryDataUnavailable, + PermissionsReport, + TargetingCapabilities, +) +from src.adapters.constants import REQUIRED_UPDATE_ACTIONS +from src.adapters.improvedigital.client import ImproveDigitalAuthError, ImproveDigitalClient, ImproveDigitalError +from src.adapters.improvedigital.formats import improvedigital_creative_formats +from src.adapters.improvedigital.schemas import ImproveDigitalConnectionConfig, ImproveDigitalProductConfig +from src.adapters.improvedigital.targeting import build_targeting, validate_targeting +from src.core.schemas import ( + AdapterGetMediaBuyDeliveryResponse, + AssetStatus, + CheckMediaBuyStatusResponse, + CreateMediaBuyError, + CreateMediaBuyRequest, + CreateMediaBuyResponse, + Error, + MediaPackage, + Principal, + ReportingPeriod, + UpdateMediaBuyError, + UpdateMediaBuyResponse, + UpdateMediaBuySuccess, +) + +logger = logging.getLogger(__name__) + + +def _domain_from_url(url: Any) -> str | None: + """Bare hostname of a URL (``https://x.com/p`` → ``x.com``), or None.""" + if not url: + return None + from urllib.parse import urlparse + + host = urlparse(str(url)).netloc or str(url) + host = host.split("@")[-1].split(":")[0] + return host.removeprefix("www.") or None + + +class ImproveDigitalAdapter(AdServerAdapter): + """AdCP adapter for Improve Digital Classic (direct) campaigns.""" + + adapter_name = "improvedigital" + default_channels = ["display", "olv", "audio", "native"] + default_delivery_measurement = {"provider": "improvedigital"} + connection_config_class = ImproveDigitalConnectionConfig + product_config_class = ImproveDigitalProductConfig + capabilities = AdapterCapabilities( + supports_inventory_sync=True, + supports_reporting_sync=True, + inventory_entity_label="Placements", + supports_custom_targeting=True, + supports_geo_targeting=True, + supports_dynamic_products=False, + # CPM confirmed against live dev line items (pricing_model="CPM"). + supported_pricing_models=["cpm"], + supports_webhooks=False, + supports_realtime_reporting=False, + ) + + def __init__( + self, + config: dict[str, Any], + principal: Principal, + dry_run: bool = False, + creative_engine: CreativeEngineAdapter | None = None, + tenant_id: str | None = None, + ): + """Resolve advertiser identity + OAuth credentials and target host. + + Dry-run defers client construction so the adapter can be configured + before Improve Digital issues API credentials (blocker B2). + """ + super().__init__(config, principal, dry_run, creative_engine, tenant_id) + + # Classic buyer identity: the campaign's advertiser. Principal + # mapping wins; the tenant-level connection default backs it. + # Optional — the Classic campaign API accepts campaigns without an + # advertiser (every live dev campaign carries advertiserId=null). + self.advertiser_id = self.principal.get_adapter_id("improvedigital") or self.config.get("default_advertiser_id") + # Campaign identity chain (sandbox-confirmed): buying entity + + # office are required on every campaign; the office carries a + # default demand contact, so the explicit contact is an override. + self.buying_entity_id = self.config.get("buying_entity_id") + self.buying_entity_office_id = self.config.get("buying_entity_office_id") + self.campaign_type = self.config.get("campaign_type") or "Improve" + self.business_unit_id = self.config.get("business_unit_id") + self.buyer_id = self.config.get("buyer_id") + + self.improve_demand_contact_id = self.config.get("improve_demand_contact_id") + self.agency_id = self.config.get("agency_id") + + # Campaign-metadata attribution (CampaignMetadataDto). Tenant-level + # for now, so every buy books under the same brand/agency/owners. + # TODO(H2): make these per-buyer — resolve from the principal's + # improvedigital platform mapping (and later the buyer-routing rules) + # with this config as the fallback default, the same way GAM routes + # buyer agents to advertisers. + self.advertiser_uuid = self.config.get("advertiser_uuid") + self.advertiser_name = self.config.get("advertiser_name") + self.agency_name = self.config.get("agency_name") + self.integration_platform_id = self.config.get("integration_platform_id") + self.seat_id = self.config.get("seat_id") + self.adops_person_id = self.config.get("adops_person_id") + self.sales_person_id = self.config.get("sales_person_id") + + self.client_id = self.config.get("client_id") + self.client_secret = self.config.get("client_secret") + self.base_url = (self.config.get("api_base_url") or "https://api.360yield.com").rstrip("/") + self.currency = self.config.get("currency", "EUR") + self.timezone = self.config.get("timezone", "UTC") + + # Same-instance cache: line_item_id → campaign_id, populated by + # create_media_buy so associate_creatives (called later in the same + # request flow) can build the campaign-scoped binding URL without a + # lookup. Cross-instance calls fall back to a DB scan. + self._line_item_campaigns: dict[str, int] = {} + + if self.dry_run: + self.log( + "Running in dry-run mode — Improve Digital API calls will be simulated", + dry_run_prefix=False, + ) + self._client: ImproveDigitalClient | None = None + else: + # Only the OAuth pair is required to construct — reads (Test + # Connection, inventory/reporting sync) work with credentials + # alone. The buying-identity fields (demand contact, buying + # entity, business unit) are validated at booking time in + # create_media_buy, so a partially configured tenant can still + # sync inventory while setup completes. + if not (self.client_id and self.client_secret): + raise ValueError("Improve Digital config requires client_id + client_secret") + if not (self.buying_entity_id and self.buying_entity_office_id): + raise ValueError( + "Improve Digital config requires buying_entity_id + buying_entity_office_id — " + "the Classic campaign API rejects campaigns without them (discover via " + "the adapter settings' Test Connection, or ask the Improve Digital team)" + ) + self._client = ImproveDigitalClient( + client_id=self.client_id, + client_secret=self.client_secret, + base_url=self.base_url, + timeout=90.0, + ) + + def _missing_booking_config(self) -> list[str]: + """Connection-config fields the Classic booking APIs require but + reads do not — checked at create time, not construction time.""" + missing = [] + if not self.improve_demand_contact_id: + missing.append("improve_demand_contact_id (your API user's user_id — see /lookup/v1/user-details)") + if not self.buying_entity_id: + missing.append("buying_entity_id (e.g. 421 = Improve Digital Marketplace on dev)") + if not self.business_unit_id: + missing.append("business_unit_id (e.g. 33 = Azerion on dev)") + return missing + + # ----- capabilities ----- + + def get_supported_pricing_models(self) -> set[str]: + return {"cpm"} + + def get_creative_formats(self) -> list[dict[str, Any]]: + return improvedigital_creative_formats(self.tenant_id) + + def get_targeting_capabilities(self) -> TargetingCapabilities: + # Location targeting reaches city level; no postal-code support on + # the platform, so every postal field stays False. + return TargetingCapabilities( + geo_countries=True, + geo_regions=True, + ) + + # ----- inventory sync ----- + + def run_inventory_sync(self) -> AdapterSyncResult: + """Refresh the local 360Yield inventory cache (placements, + publishers, packages, sizes) from the API. + + Called by the shared adapter sync scheduler and the admin + "Sync Inventory Now" button. + """ + start = datetime.now(UTC) + if self.dry_run or self._client is None: + return AdapterSyncResult( + sync_kind="inventory", + started_at=start, + finished_at=datetime.now(UTC), + succeeded=False, + errors={"adapter": "dry-run mode — Improve Digital inventory sync requires live credentials"}, + ) + + from src.adapters.improvedigital.inventory_sync import ImproveDigitalInventorySync + from src.core.database.database_session import get_db_session + + with get_db_session() as session: + sync = ImproveDigitalInventorySync( + client=self._client, session=session, tenant_id=self.tenant_id or "default" + ) + inner = sync.run() + session.commit() + + return AdapterSyncResult( + sync_kind="inventory", + started_at=inner.started_at or start, + finished_at=inner.finished_at or datetime.now(UTC), + succeeded=inner.succeeded, + counts=dict(inner.counts), + errors=dict(inner.errors), + ) + + def latest_inventory_sync_at(self) -> datetime | None: + from src.core.database.database_session import get_db_session + from src.core.database.repositories.improvedigital_inventory import ImproveDigitalInventoryRepository + + with get_db_session() as session: + return ImproveDigitalInventoryRepository(session, self.tenant_id or "default").latest_sync_at() + + async def get_available_inventory(self) -> dict[str, Any]: + """Surface the synced placement cache to the AI product configurator.""" + from src.core.database.database_session import get_db_session + from src.core.database.repositories.improvedigital_inventory import ImproveDigitalInventoryRepository + + with get_db_session() as session: + repo = ImproveDigitalInventoryRepository(session, self.tenant_id or "default") + # Column projection, not full rows: the placement set runs to + # hundreds of thousands of rows and loading them as ORM objects + # (with raw_json) costs gigabytes — see list_picker_rows. + placements = [ + {"id": entity_id, "name": name, "publisher_id": parent_id} + for entity_id, name, parent_id in repo.list_picker_rows("placement") + ] + packages = [{"id": entity_id, "name": name} for entity_id, name, _ in repo.list_picker_rows("package")] + sizes = [{"id": entity_id, "name": name} for entity_id, name, _ in repo.list_picker_rows("size")] + publishers = [{"id": entity_id, "name": name} for entity_id, name, _ in repo.list_picker_rows("publisher")] + + return { + "placements": placements, + "ad_units": [], + "targeting_options": {"packages": packages, "sizes": sizes, "publishers": publishers}, + "creative_specs": sizes, + "properties": { + "placement_count": len(placements), + "publisher_count": len(publishers), + "package_count": len(packages), + "size_count": len(sizes), + }, + } + + # ----- permissions ----- + + def check_permissions(self) -> PermissionsReport: + """Mint a token and probe one read endpoint per adapter concern.""" + report = self._new_permissions_report( + dry_run_message="Dry-run mode — Improve Digital permissions were not probed" + ) + if self.dry_run: + return report + assert self._client is not None + + probes = [ + ( + "classic_campaigns_read", + "List Classic campaigns", + "GET", + "/rtb/v1/classic/campaigns?limit=1", + True, + "media buy lifecycle", + ), + ( + "classic_line_items_read", + "List Classic line items", + "GET", + "/rtb/v1/classic/line-items?limit=1", + True, + "media buy lifecycle", + ), + ("placements_read", "Placement search", "GET", "/rtb/v3/placements?limit=1", True, "inventory"), + ( + "classic_campaign_schema", + "Classic campaign creation schema", + "GET", + "/schema/rtb/v1/classic/campaigns/campaign", + True, + "create_media_buy", + ), + ("sizes_read", "Size lookups", "GET", "/rtb/v1/sizes-all", False, "creative formats"), + ] + + def _probe(method: str, path: str) -> tuple[int, str]: + assert self._client is not None + return self._client.probe(method, path) + + try: + self._walk_permission_probes(report, probes, _probe, auth_error_types=(ImproveDigitalAuthError,)) + except ImproveDigitalError as exc: + report.error = f"Permission probe failed: {exc}" + return report + + # ----- create_media_buy ----- + + def create_media_buy( + self, + request: CreateMediaBuyRequest, + packages: list[MediaPackage], + start_time: datetime, + end_time: datetime, + package_pricing_info: dict[str, dict] | None = None, + ) -> CreateMediaBuyResponse: + self._audit_create_media_buy(request, start_time, end_time) + + targeting_error = self._validate_targeting_or_error( + packages, validate_targeting, adapter_name="Improve Digital" + ) + if targeting_error is not None: + return targeting_error + + buy_name = self._buy_name(request) + + if self.dry_run: + campaign_payload = self._campaign_payload(buy_name, start_time, end_time) + self.log(f"Would call: POST {self.base_url}/rtb/v1/classic/campaigns") + self.log(f" Campaign: {campaign_payload}") + if self._has_campaign_metadata(): + self.log(f"Would call: POST {self.base_url}/api/metadata-campaigns") + self.log(f" Metadata: {self._campaign_metadata_payload(0, buy_name, start_time, end_time)}") + for package in packages: + rate, rate_type = self._resolve_pricing_rate(package, package_pricing_info) + payload = self._line_item_payload(package, rate, rate_type, start_time, end_time) + self.log(f"Would call: POST {self.base_url}/rtb/v1/classic/campaigns//line-items") + self.log(f" LineItem: {payload}") + product_config = self._product_config_from_package(package) + if product_config.get("placement_ids") or product_config.get("package_ids"): + self.log( + "Would call: PUT .../line-items//placements + .../packages " + f"placement_ids={product_config.get('placement_ids', [])} " + f"package_ids={product_config.get('package_ids', [])}" + ) + return self._build_create_success(request, f"improvedigital_{buy_name}", packages) + + # Live mode — Classic campaign > line items (one per package) > + # placement/package assignment. + assert self._client is not None + missing = self._missing_booking_config() + if missing: + return CreateMediaBuyError( + errors=[ + Error( + code="incomplete_adapter_config", + message=( + "Improve Digital booking needs connection-config fields that are not set: " + + "; ".join(missing) + + ". Fill them in the tenant's adapter settings page and retry." + ), + details=None, + ) + ] + ) + campaign_id: int | None = None + try: + campaign = self._client.campaigns.create_campaign(self._campaign_payload(buy_name, start_time, end_time)) + campaign_id = int(campaign["id"]) + # Commercial attribution rides on its own record, posted before + # the line items so a rejection cleans up the campaign alone. + if self._has_campaign_metadata(): + self._client.metadata.upsert_campaign_metadata( + self._campaign_metadata_payload(campaign_id, buy_name, start_time, end_time) + ) + logger.info("Improve Digital: campaign metadata attached for campaign %s", campaign_id) + else: + logger.info( + "Improve Digital: campaign metadata skipped for campaign %s — no attribution " + "fields configured for tenant %s (fill them in the adapter settings page)", + campaign_id, + self.tenant_id, + ) + platform_line_item_ids: dict[str, str] = {} + package_responses: list[ResponsePackage] = [] + for package in packages: + rate, rate_type = self._resolve_pricing_rate(package, package_pricing_info) + payload = self._line_item_payload(package, rate, rate_type, start_time, end_time) + # Geo travels via its own per-line-item endpoint, not the + # create body (LineItemGeoTargetingDto — see targeting.py). + geo_targeting = payload.pop("geo_targeting", None) + line_item = self._client.campaigns.create_line_item(campaign_id, payload) + line_item_id = int(line_item["id"]) + self._line_item_campaigns[str(line_item_id)] = campaign_id + self._assign_inventory(campaign_id, line_item_id, package) + if geo_targeting: + self._client.campaigns.set_line_item_geo_targeting( + campaign_id, + line_item_id, + {"filter": True, "geo_targeting": self._resolve_geo_regions(geo_targeting)}, + ) + platform_line_item_ids[package.package_id] = str(line_item_id) + package_responses.append( + ResponsePackage( + package_id=package.package_id, + paused=False, + platform_line_item_id=str(line_item_id), + ) + ) + except (ImproveDigitalError, KeyError, TypeError, ValueError) as exc: + logger.warning("Improve Digital create_media_buy failed: %s", exc) + self._cleanup_partial_campaign(campaign_id) + return CreateMediaBuyError( + errors=[ + Error( + code="upstream_error", + message=f"Improve Digital rejected the request: {exc}", + details=None, + ) + ] + ) + + response = self._build_create_success( + request, + f"improvedigital_{campaign_id}", + packages, + package_responses=package_responses, + ) + # The core layer persists this mapping into + # media_packages.package_config["platform_line_item_id"] — required + # by update_media_buy and the reporting read path. + object.__setattr__(response, "_platform_line_item_ids", platform_line_item_ids) + return response + + def _cleanup_partial_campaign(self, campaign_id: int | None) -> None: + """Best-effort removal of a campaign whose packages failed mid-create, + so aborted buys don't leave orphan campaigns on the platform. Delete + is refused once the campaign has served impressions — archive then.""" + if campaign_id is None or self._client is None: + return + try: + self._client.campaigns.delete_campaign(campaign_id) + except ImproveDigitalError: + try: + self._client.campaigns.archive_campaign(campaign_id) + except ImproveDigitalError: + logger.warning("Improve Digital: could not clean up partial campaign %s", campaign_id) + + def _assign_inventory(self, campaign_id: int, line_item_id: int, package: MediaPackage) -> None: + """Assign the product's placements/packages to a freshly created + line item. A line item with neither selection serves nowhere, so a + missing selection is a loud product-config error, not a silent pass.""" + assert self._client is not None + product_config = self._product_config_from_package(package) + placement_ids = product_config.get("placement_ids") or [] + package_ids = product_config.get("package_ids") or [] + if not placement_ids and not package_ids: + raise ValueError( + f"Package {package.package_id!r} has no placement_ids or package_ids in its " + "improvedigital product config — the Classic line item would target no inventory" + ) + if placement_ids: + self._client.campaigns.set_line_item_placements( + campaign_id, + line_item_id, + {"line_item_placements": [{"id": int(pid), "assigned": True} for pid in placement_ids]}, + ) + if package_ids: + self._client.campaigns.set_packages( + campaign_id, + line_item_id, + {"line_item_packages": [{"id": int(pid), "assigned": True} for pid in package_ids]}, + ) + + def _resolve_geo_regions(self, geo_targeting: list[dict[str, Any]]) -> list[dict[str, Any]]: + """Complete geo entries to the platform's required shape. + + The live geo-targeting endpoint requires ``exclude`` AND ``region`` + on every entry (validated live: HTTP 400 'object has missing + required properties ["exclude","region"]'), and geo values must be + the platform's own display names. Country tokens are resolved + against the platform geo dictionary — accepting ISO alpha-2 codes + (all AdCP buyer overlays: ``GeoCountry`` is ``^[A-Z]{2}$``), CLDR + English names, and case/diacritic variants — and rewritten to the + platform's exact spelling with their region attached. Region tokens + are matched against the platform region list the same way. An + unresolvable token fails the booking loudly — sending it would 400 + upstream anyway. + """ + from src.adapters.improvedigital.targeting import candidate_country_names, normalize_geo_name + + countries, regions = self._geo_dictionary() + resolved = [] + for entry in geo_targeting: + entry = dict(entry) + entry.setdefault("exclude", False) + if entry.get("country"): + match = next( + ( + countries[normalize_geo_name(candidate)] + for candidate in candidate_country_names(str(entry["country"])) + if normalize_geo_name(candidate) in countries + ), + None, + ) + if match is None: + raise ValueError( + f"could not resolve country {entry['country']!r} in the 360Yield geo " + "dictionary — use an ISO alpha-2 code or a platform country name " + "(pick them from the product page dropdowns)" + ) + entry["country"], entry["region"] = match + elif entry.get("region"): + region_name = regions.get(normalize_geo_name(str(entry["region"]))) + if region_name is None: + raise ValueError( + f"could not resolve region {entry['region']!r} in the 360Yield geo " + f"dictionary — valid regions: {', '.join(sorted(regions.values()))}" + ) + entry["region"] = region_name + resolved.append(entry) + + # Post-resolution dedup: distinct input tokens ('NL' from the buyer, + # 'The Netherlands' from the product config) resolve to identical + # rows — send each geo once. When include and exclude collide on the + # same geo, the exclude wins: AdCP overlay semantics are that the + # buyer's exclusion narrows the product default, and sending both + # contradictory rows would delegate the outcome to undocumented + # platform precedence. + deduped: dict[tuple[str | None, str | None], dict[str, Any]] = {} + for entry in resolved: + key = (entry.get("country"), entry.get("region")) + existing = deduped.get(key) + if existing is None or (entry["exclude"] and not existing["exclude"]): + deduped[key] = entry + return list(deduped.values()) + + def _geo_dictionary(self) -> tuple[dict[str, tuple[str, str]], dict[str, str]]: + """The platform geo dictionary, keyed by normalized display name. + + Returns ``(countries, regions)`` where ``countries`` maps a + normalized country name to ``(platform_country_name, region_name)`` + and ``regions`` maps a normalized region name to the platform + region name. Built from ``/rtb/v1/regions`` + + ``/rtb/v1/regions/{name}/countries`` (both paginated), once per + adapter instance. + """ + from src.adapters.improvedigital.targeting import normalize_geo_name + + assert self._client is not None + if not hasattr(self, "_geo_dictionary_cache"): + client = self._client + countries: dict[str, tuple[str, str]] = {} + regions: dict[str, str] = {} + for region_name in self._paginated_geo_names(client.lookups.regions, "regions"): + regions.setdefault(normalize_geo_name(region_name), region_name) + for country_name in self._paginated_geo_names( + lambda **params: client.lookups.region_countries(region_name, **params), # noqa: B023 + "countries", + ): + countries.setdefault(normalize_geo_name(country_name), (country_name, region_name)) + self._geo_dictionary_cache: tuple[dict[str, tuple[str, str]], dict[str, str]] = (countries, regions) + return self._geo_dictionary_cache + + @staticmethod + def _paginated_geo_names(fetch: Any, envelope_key: str) -> list[str]: + """Exhaust an offset/limit-paginated geo dictionary endpoint and + return the row names. Stops on an empty page, a page with no unseen + names (server ignoring ``offset``), or a 10k backstop.""" + names: list[str] = [] + seen: set[str] = set() + offset = 0 + while offset <= 10_000: + body = fetch(limit=100, offset=offset) + rows = body.get(envelope_key) if isinstance(body, dict) else body + rows = rows if isinstance(rows, list) else [] + if not rows: + break + page_names = [ + str(row.get("name")) if isinstance(row, dict) else str(row) + for row in rows + if (isinstance(row, dict) and row.get("name")) or not isinstance(row, dict) + ] + fresh = [name for name in page_names if name not in seen] + if not fresh: + break + seen.update(fresh) + names.extend(fresh) + offset += len(rows) + return names + + @staticmethod + def _format_datetime(value: datetime) -> str: + """Platform datetime wire format (``YYYY-MM-DD HH:MM:SS``) — + confirmed against live dev campaigns/line items.""" + return value.strftime("%Y-%m-%d %H:%M:%S") + + @staticmethod + def _format_iso_datetime(value: datetime) -> str: + """Metadata API datetime format — ISO-8601 UTC with milliseconds + (``2026-08-14T14:45:18.407Z``). Naive values are read as UTC rather + than the host's local zone, which would silently shift the flight.""" + moment = (value if value.tzinfo else value.replace(tzinfo=UTC)).astimezone(UTC) + return f"{moment.strftime('%Y-%m-%dT%H:%M:%S')}.{moment.microsecond // 1000:03d}Z" + + def _campaign_payload(self, buy_name: str, start_time: datetime, end_time: datetime) -> dict[str, Any]: + """Build a ``CampaignDto`` body. + + The Classic create schema requires (validated live on the dev + platform): name, start_date, time_zone, type, buying_entity_id — + plus improve_demand_contact_id per the platform docs. Classic + (direct) campaigns carry ``type: "Improve"`` (the Improve adserver + hosts and serves the creatives). + """ + payload: dict[str, Any] = { + "name": buy_name, + "type": "Improve", + "start_date": self._format_datetime(start_time), + "end_date": self._format_datetime(end_time), + "time_zone": self.timezone, + "currency": self.currency, + "improve_demand_contact_id": self.improve_demand_contact_id, + "buying_entity_id": int(self.buying_entity_id) if self.buying_entity_id else None, + # Numeric platform advertiser IDs only — principal mappings may + # carry metadata-advertiser UUIDs, which CampaignDto.advertiserId + # (integer) cannot hold. + "advertiserId": (int(str(self.advertiser_id)) if str(self.advertiser_id or "").isdigit() else None), + } + if self.buying_entity_office_id: + payload["buying_entity_office_id"] = int(self.buying_entity_office_id) + payload["buying_entity_office_ids"] = [int(self.buying_entity_office_id)] + if self.agency_id: + payload["agencyId"] = int(self.agency_id) + return payload + + def _has_campaign_metadata(self) -> bool: + """Whether this tenant configured any campaign-metadata attribution. + + Metadata is required for production bookings but not for the + Classic API itself, so an unconfigured tenant (dev, smoke tests) + books without it rather than failing. + """ + return any( + ( + self.advertiser_uuid, + self.agency_id, + self.adops_person_id, + self.sales_person_id, + self.integration_platform_id, + ) + ) + + def _campaign_metadata_payload( + self, campaign_id: int, buy_name: str, start_time: datetime, end_time: datetime + ) -> dict[str, Any]: + """Build the ``CampaignMetadataDto`` for a freshly created campaign. + + The metadata API is a surface parallel to booking: the record is + keyed by ``campaignId`` and carries the commercial attribution + (brand, agency, owners, DSP seat) that the Classic ``CampaignDto`` + has no room for. Only ``campaignId`` is schema-required; everything + else comes from tenant config and is omitted when unset. + + Wire notes: the DTO is camelCase where booking is snake_case, and + its dates are ISO-8601 UTC strings (``2026-08-14T14:45:18.407Z``) + where booking uses ``YYYY-MM-DD HH:MM:SS`` in the campaign's own + timezone. ``campaignId`` is a string here even though the Classic + campaign id is an integer. + ``entityType``/``completed``/``isCompleted`` are fixed values pending + confirmation of what else the platform derives. + """ + payload: dict[str, Any] = { + "campaignId": str(campaign_id), + "campaignName": buy_name, + "campaignStartDate": self._format_iso_datetime(start_time), + "campaignEndDate": self._format_iso_datetime(end_time), + "currencyCode": self.currency, + "entityType": "c", + "completed": True, + "isCompleted": True, + } + optional: dict[str, Any] = { + "advertiserUuid": self.advertiser_uuid, + "advertiserName": self.advertiser_name, + "agencyId": int(self.agency_id) if self.agency_id else None, + "agencyName": self.agency_name, + "businessUnitId": int(self.business_unit_id) if self.business_unit_id else None, + "buyerId": int(self.buyer_id) if self.buyer_id else None, + "integrationPlatformId": (int(self.integration_platform_id) if self.integration_platform_id else None), + "seatId": self.seat_id, + "adOpsPersonId": int(self.adops_person_id) if self.adops_person_id else None, + "salesPersonId": self.sales_person_id, + } + payload.update({key: value for key, value in optional.items() if value is not None}) + return payload + + def _line_item_payload( + self, + package: MediaPackage, + rate: float, + rate_type: str, + start_time: datetime, + end_time: datetime, + ) -> dict[str, Any]: + """Build a ``CommonDealLineItemDto`` body for one package. + + Required by the Classic line-item API (validated live on the dev + platform): name, type, line_item_status, start_date, + business_unit_id, improve_demand_contact_id, and a goal for CPM + line items. + + The booking goal comes from the product's ``goal`` config: ``BUDGET`` + (the default) paces against the money figure, ``IMPRESSION`` against + the impression cap. Both figures ride along either way — on the line + item itself and on a single ``flight_details`` row spanning the + flight — because the platform's own create sends both. The + delivery/compliance flags below mirror that same payload: the API + leaves them unset rather than defaulted when omitted. + """ + product_config = self._with_product_geo_defaults(package, self._product_config_from_package(package)) + goal = str(product_config.get("goal") or "BUDGET").upper() + # Packages booked from a buy-level budget carry no per-package figure; + # reverse the core layer's budget→goal-units conversion + # (media_buy_create._goal_units_from_budget) so a BUDGET-goal line item + # always books the money the impression cap was sized for. + budget = float(package.budget) if package.budget is not None else round(package.impressions * rate / 1000, 2) + payload: dict[str, Any] = { + "name": package.name or package.package_id, + "type": "Standard", + "line_item_status": "Inactive", + "goal": goal, + "start_date": self._format_datetime(start_time), + "end_date": self._format_datetime(end_time), + "time_zone": self.timezone, + # No currency on line items — the platform requires it to match + # the campaign owner's default and inherits it when omitted + # (validated live: sending it 400s with "Currency field does not + # match default campaign owner/publisher currency"). + "cpm_bid": rate, + "pricing_model": product_config.get("pricing_model") or rate_type, + "pricing_model_type": "First Bid", + "impression_cap": package.impressions, + "impression_cap_daily": False, + "budget_is_daily": False, + "invoice_type": "on_actuals", + "delivery_schedule": product_config.get("delivery_schedule") or "Evenly", + "third_party_inventory": True, + "is_optimised": True, + "is_dynamic_optimization": False, + "dynamic_optimization_kpi_type": "", + "dynamic_optimization_kpi_value": 0, + "conversion_tracking_enabled": False, + "keep_on_delivering": False, + "track_viewability": False, + "is_consentless": False, + "is_coppa_compliant": False, + "optout_mechanism": [], + "reference_number": package.package_id, + "improve_demand_contact_id": self.improve_demand_contact_id, + } + payload["budget"] = budget + payload["flight_details"] = [self._flight_detail(budget, package.impressions, start_time, end_time)] + if self.business_unit_id: + payload["business_unit_id"] = int(self.business_unit_id) + if self.buyer_id: + payload["buyer_id"] = int(self.buyer_id) + for field in ("frequency_cap", "frequency_interval", "frequency_interval_type"): + if product_config.get(field) is not None: + payload[field] = product_config[field] + payload.update(build_targeting(package.targeting_overlay, product_config, tenant_id=self.tenant_id)) + return payload + + def _flight_detail( + self, budget: float, impressions: int, start_time: datetime, end_time: datetime + ) -> dict[str, Any]: + """One flight row covering the whole booking window. + + The platform splits a line item's pacing into flights; AdCP buys have + a single flight, so the row mirrors the line item's own window, budget + and impression cap. + """ + return { + "start_time": self._format_datetime(start_time), + "end_time": self._format_datetime(end_time), + "budget": budget, + "budget_is_daily": False, + "impression_cap": impressions, + "impression_cap_daily": False, + } + + def _product_config_from_package(self, package: MediaPackage) -> dict[str, Any]: + """Return the Improve Digital product config carried by a package. + + Legacy products store ``placement_ids``/``package_ids`` directly + (optionally nested under ``"improvedigital"``). Inventory bundles + instead overlay their picked inventory in the generic bundle + vocabulary — ``targeted_ad_unit_ids`` (bundle ``ad_units`` = 360Yield + placements) and ``targeted_placement_ids`` (bundle ``placements`` = + 360Yield packages) — so translate those when the adapter keys are + absent, otherwise a bundle-backed line item would target nothing. + """ + impl = getattr(package, "implementation_config", None) or {} + if not isinstance(impl, dict): + return {} + config = dict(impl.get("improvedigital", impl)) + if not config.get("placement_ids") and impl.get("targeted_ad_unit_ids"): + config["placement_ids"] = self._numeric_ids(impl["targeted_ad_unit_ids"]) + if not config.get("package_ids") and impl.get("targeted_placement_ids"): + config["package_ids"] = self._numeric_ids(impl["targeted_placement_ids"]) + return config + + @staticmethod + def _numeric_ids(values: Any) -> list[int]: + return [int(v) for v in values if str(v).strip().isdigit()] if isinstance(values, list | tuple) else [] + + def _with_product_geo_defaults(self, package: MediaPackage, product_config: dict[str, Any]) -> dict[str, Any]: + """Fold the product's generic "Target Countries" selection + (``Product.countries``, ISO alpha-2 codes from the Channel & + Geographic Targeting section) into the adapter geo defaults, so the + product page's advertised geo is what the booked line items actually + target. + + The visible generic selection wins over any legacy + ``geo_countries`` stored in the adapter config; both lose to + nothing — an empty selection means no geo restriction. Live-only + (dry-run must stay DB-free). + """ + if self.dry_run or not getattr(package, "product_id", None): + return product_config + + from src.core.database.database_session import get_db_session + from src.core.database.repositories.product import ProductRepository + + with get_db_session() as session: + product = ProductRepository(session, self.tenant_id or "default").get_by_id(str(package.product_id)) + countries = list(product.countries) if product is not None and product.countries else None + if not countries: + return product_config + return {**product_config, "geo_countries": countries} + + def _buy_name(self, request: CreateMediaBuyRequest) -> str: + """Derive a human-readable buy name — po_number when present, + timestamp fallback so buys without one never collide.""" + if request.po_number: + return f"adcp_{request.po_number}" + return f"adcp_{int(datetime.now(UTC).timestamp())}" + + # ----- creatives (Classic: hosted by the Improve adserver) ----- + + def add_creative_assets( + self, media_buy_id: str, assets: list[dict[str, Any]], today: datetime + ) -> list[AssetStatus]: + """POST each asset as a Classic creative on the buy's campaign. + + ``CreativeDto`` requires name/type/size/status/tag/advertiser_domain + — assets missing the platform-required fields are rejected + explicitly, never silently accepted as partial creatives. + """ + campaign_id = media_buy_id.removeprefix("improvedigital_") + statuses: list[AssetStatus] = [] + for asset in assets: + creative_id = str(asset.get("creative_id") or asset.get("id") or "") + payload = self._creative_payload(asset) + if payload is None: + statuses.append( + AssetStatus( + creative_id=creative_id, + status="failed", + message=( + "Improve Digital Classic creatives need a tag/URL, a size, and an " + "advertiser domain (CreativeDto requires name, type, size, status, " + "tag, advertiser_domain)" + ), + ) + ) + continue + if self.dry_run: + self.log(f"Would call: POST {self.base_url}/rtb/v1/classic/campaigns/{campaign_id}/creatives") + self.log(f" Creative: {payload}") + statuses.append(AssetStatus(creative_id=creative_id, status="approved")) + continue + assert self._client is not None + try: + created = self._create_live_creative(int(campaign_id), payload) + # Echo the platform creative ID — the core layer stores it as + # platform_creative_id and passes it back to associate_creatives. + statuses.append(AssetStatus(creative_id=str(created["id"]), status="approved")) + except (ImproveDigitalError, KeyError, IndexError, TypeError, ValueError) as exc: + logger.warning("Improve Digital create_creative failed for %s: %s", creative_id, exc) + statuses.append( + AssetStatus( + creative_id=creative_id, + status="failed", + message=f"Improve Digital rejected the creative: {exc}", + ) + ) + return statuses + + def _create_live_creative(self, campaign_id: int, payload: dict[str, Any]) -> dict[str, Any]: + """Create one Classic creative and return the created entity. + + Tag-based creatives go through the plain-JSON bulk-upload endpoint + (validated live); other types use the multipart single-create + servlet. Both paths need the platform ``size_id`` — resolved from + ``GET /rtb/v1/sizes-all`` by the creative's pixel dimensions. + """ + assert self._client is not None + size = self._resolve_size(int(payload["width"]), int(payload["height"])) + if size is not None: + payload = {**payload, "size": size["name"], "size_id": size["id"]} + if payload.get("type") == "Third Party Tag": + body = {k: v for k, v in payload.items() if k != "type"} + created = self._client.creatives.create_third_party_tag_creatives(campaign_id, [body]) + else: + created = self._client.creatives.create_creative(campaign_id, payload) + creative_id = self._created_creative_id(created) + if creative_id is None: + # The platform accepted the create but the response carried no + # usable ID (endpoint response shapes vary between the bulk + # servlets). Without the ID the creative would exist upstream but + # never get bound to a line item — recover it by name from the + # campaign's creative list. + creative_id = self._find_creative_id_by_name(campaign_id, str(payload.get("name") or "")) + if creative_id is None: + raise ValueError( + f"could not determine the platform creative ID (create response: {str(created)[:200]!r}); " + "the creative may exist on the platform but cannot be bound to a line item" + ) + return {"id": creative_id} + + @staticmethod + def _created_creative_id(created: Any) -> int | None: + """Extract the platform creative ID from a create response. + + Handles the shapes seen across the Classic creative endpoints: a bare + ``CreativeDto`` list (per the OpenAPI spec), an enveloped list + (``{"creatives"|"content"|"data": [...]}``), or a single entity dict. + Returns ``None`` when no row carries an ID (e.g. empty 200 body). + """ + rows: Any = created + if isinstance(created, dict): + for key in ("creatives", "content", "data"): + if isinstance(created.get(key), list): + rows = created[key] + break + else: + rows = [created] + if isinstance(rows, list): + for row in rows: + if isinstance(row, dict): + for id_key in ("id", "creative_id"): + if row.get(id_key) is not None: + return int(row[id_key]) + return None + + def _find_creative_id_by_name(self, campaign_id: int, name: str) -> int | None: + """Recover a just-created creative's platform ID by name lookup. + + Newest ID wins when names repeat — the creative created moments ago + is by construction the highest ID for that name.""" + if not name: + return None + assert self._client is not None + try: + body = self._client.creatives.list_creatives(campaign_id) + except ImproveDigitalError as exc: + logger.warning("Improve Digital creative recovery lookup failed for campaign %s: %s", campaign_id, exc) + return None + rows = body.get("creatives") if isinstance(body, dict) else body + matches = [ + row + for row in (rows if isinstance(rows, list) else []) + if isinstance(row, dict) and row.get("name") == name and str(row.get("id") or "").isdigit() + ] + if not matches: + return None + return max(int(row["id"]) for row in matches) + + def _resolve_size(self, width: int, height: int) -> dict[str, Any] | None: + """Look up the platform size entry for a width×height pair. + + The creative endpoints resolve sizes by display name/ID — a bare + ``300x250`` string is rejected with "no available placements with + this creative size" (verified live).""" + assert self._client is not None + if not hasattr(self, "_sizes_cache"): + body = self._client.lookups.sizes() + rows = body.get("sizes") if isinstance(body, dict) else body + self._sizes_cache: list[dict[str, Any]] = rows if isinstance(rows, list) else [] + for row in self._sizes_cache: + if row.get("width") == width and row.get("height") == height: + return row + return None + + def _creative_payload(self, asset: dict[str, Any]) -> dict[str, Any] | None: + """Map a canonical adapter asset onto a ``CreativeDto`` body. + + Returns ``None`` when the asset lacks the platform-required pieces + (a servable tag/URL, a size, and an advertiser domain — the create + schema requires name/type/size/status/tag/advertiser_domain, + validated live on the dev platform). + """ + width, height = asset.get("width"), asset.get("height") + advertiser_domain = asset.get("advertiser_domain") or _domain_from_url( + asset.get("click_url") or asset.get("click_through_url") or asset.get("landing_page_url") + ) + creative_type = self._creative_type(asset) + tag = asset.get("snippet") or asset.get("tag") or asset.get("url") + if creative_type == "Third Party Tag" and not (asset.get("snippet") or asset.get("tag")): + # The bulk-upload endpoint validates the tag is real HTML + # (| diff --git a/templates/adapters/improvedigital/product_config.html b/templates/adapters/improvedigital/product_config.html new file mode 100644 index 0000000000..3e63c98f95 --- /dev/null +++ b/templates/adapters/improvedigital/product_config.html @@ -0,0 +1,662 @@ +{# +Improve Digital Product Configuration Template + +Included by add_product.html / edit_product.html when the tenant's adapter +is improvedigital. Renders Classic line-item inventory pickers backed by the +synced improvedigital_inventory cache (run "Sync Inventory Now" on the +Ad Server settings page first) plus line-item delivery defaults. + +The pickers are chip-based: attached rows render as removable chips and the +selection is submitted through hidden inputs, so the form posts the same +impl_ lists that _improvedigital_implementation_config() reads via +request.form.getlist() in src/admin/blueprints/products.py. + +Expected context: +- tenant_id: current tenant ID +- product (edit page only): dict with implementation_config +#} + +{% set impl = (product.implementation_config if product is defined and product and product.implementation_config else {}) %} +{# Dimensions of the product's creative formats — drives the derived-sizes + hint. Format entries are dicts (DB JSONB) or Pydantic models; Jinja's + attribute-then-item lookup handles both. #} +{% set format_dims = [] %} +{% if product is defined and product and product.formats %} + {% for fmt in product.formats %} + {% if fmt.width and fmt.height %} + {% set _ = format_dims.append(fmt.width ~ 'x' ~ fmt.height) %} + {% endif %} + {% endfor %} +{% endif %} +{% set format_dims = format_dims | unique | list %} + + + +
+

Improve Digital Configuration

+

+ Pin this product's Classic line items to 360Yield inventory. Search to find + inventory, click a result to attach it, and use the × on a chip + to detach. Pickers read the synced inventory cache — if they're empty, run + Sync Inventory Now on the Ad Server settings page. +

+ +
+
+ + +
+ + Reusable placement groupings maintained by Improve Digital — membership + stays current on their side, so packages don't go stale like pinned + placement lists. + +
+ +
+
+ + +
+ + Individual placements to pin — for precision products (e.g. a homepage + takeover). Prefer packages for anything broader. + +
+ +
+ +
+ {% if format_dims %} + Derived from this product's creative formats: + {% for dim in format_dims %}{{ dim }}{% endfor %} + {% else %} + Derived automatically from the creative formats selected above once the product is saved. + {% endif %} +
+ + Line-item size targeting follows the product's formats so the two can't + diverge. Use the Advanced section below only to override. + +
+ +
+ Advanced targeting + +
+
+ + +
+ + Carve-outs on top of broad targeting — e.g. everything in a package + except these. Pointless when placements are pinned individually. + +
+ +
+
+ + +
+ + Overrides the format-derived sizes above. Leave empty unless line-item + size targeting must deliberately differ from the sellable formats. + +
+
+ +

Line-item Defaults

+ +
+ + + + CPM is confirmed; further models are pending platform confirmation (gap G2). + +
+ +
+ + + + What the line item paces against. Budget uses the package budget; Impressions + uses the cap derived from budget ÷ rate. Both figures are sent either way. + +
+ +
+ + +
+ +
+
+ + +
+
+ + +
+
+ +
+ + + + Line-item pacing. Left blank, line items book with the platform's + Evenly schedule. + +
+
+ + diff --git a/templates/base.html b/templates/base.html index 6787e7689a..2f643d60f5 100644 --- a/templates/base.html +++ b/templates/base.html @@ -115,8 +115,8 @@

{% if session.role == 'super_admin' %}Sales Agent{% else %}Sales Agent{% end