Criteo Campaign API

The Campaign API from Criteo — 86 operation(s) for campaign.

Operations 110

PATCH /2026-07/marketing-solutions/ad-sets /2026-07/marketing-solutions/ad-sets #
POST /2026-07/marketing-solutions/ad-sets /2026-07/marketing-solutions/ad-sets #
GET /2026-07/marketing-solutions/ad-sets/{ad-set-id} /2026-07/marketing-solutions/ad-sets/{ad-set-id} #
PUT /2026-07/marketing-solutions/ad-sets/{ad-set-id}/audience /2026-07/marketing-solutions/ad-sets/{ad-set-id}/audience #
GET /2026-07/marketing-solutions/ad-sets/{ad-set-id}/category-bids /2026-07/marketing-solutions/ad-sets/{ad-set-id}/category-bids #
PATCH /2026-07/marketing-solutions/ad-sets/{ad-set-id}/category-bids /2026-07/marketing-solutions/ad-sets/{ad-set-id}/category-bids #
GET /2026-07/marketing-solutions/ad-sets/{ad-set-id}/display-multipliers /2026-07/marketing-solutions/ad-sets/{ad-set-id}/display-multipliers #
PATCH /2026-07/marketing-solutions/ad-sets/{ad-set-id}/display-multipliers /2026-07/marketing-solutions/ad-sets/{ad-set-id}/display-multipliers #
POST /2026-07/marketing-solutions/ad-sets/search /2026-07/marketing-solutions/ad-sets/search #
POST /2026-07/marketing-solutions/ad-sets/start /2026-07/marketing-solutions/ad-sets/start #
POST /2026-07/marketing-solutions/ad-sets/stop /2026-07/marketing-solutions/ad-sets/stop #
PATCH /2026-07/marketing-solutions/campaigns /2026-07/marketing-solutions/campaigns #
POST /2026-07/marketing-solutions/campaigns /2026-07/marketing-solutions/campaigns #
GET /2026-07/marketing-solutions/campaigns/{campaign-id} /2026-07/marketing-solutions/campaigns/{campaign-id} #
POST /2026-07/marketing-solutions/campaigns/search /2026-07/marketing-solutions/campaigns/search #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId} /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId} #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/ad-preview /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/ad-preview #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/adsets /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/adsets #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/budgets /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/budgets #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/campaigns /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/campaigns #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/seller-campaigns /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/seller-campaigns #
POST /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/sellers /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/sellers #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/preview-limit /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/preview-limit #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets #
PATCH /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets #
POST /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets/{budgetId} /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets/{budgetId} #
PATCH /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets/{budgetId} /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets/{budgetId} #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/seller-campaigns /2026-07/marketing-solutions/marketplace-performance-outcomes/seller-campaigns #
PATCH /2026-07/marketing-solutions/marketplace-performance-outcomes/seller-campaigns /2026-07/marketing-solutions/marketplace-performance-outcomes/seller-campaigns #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/seller-campaigns/{sellerCampaignId} /2026-07/marketing-solutions/marketplace-performance-outcomes/seller-campaigns/{sellerCampaignId} #
PATCH /2026-07/marketing-solutions/marketplace-performance-outcomes/seller-campaigns/{sellerCampaignId} /2026-07/marketing-solutions/marketplace-performance-outcomes/seller-campaigns/{sellerCampaignId} #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/seller-campaigns/{sellerCampaignId}/budgets /2026-07/marketing-solutions/marketplace-performance-outcomes/seller-campaigns/{sellerCampaignId}/budgets #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/sellers /2026-07/marketing-solutions/marketplace-performance-outcomes/sellers #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/sellers/{sellerId} /2026-07/marketing-solutions/marketplace-performance-outcomes/sellers/{sellerId} #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/sellers/{sellerId}/budgets /2026-07/marketing-solutions/marketplace-performance-outcomes/sellers/{sellerId}/budgets #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/sellers/{sellerId}/seller-campaigns /2026-07/marketing-solutions/marketplace-performance-outcomes/sellers/{sellerId}/seller-campaigns #
POST /2026-07/marketing-solutions/marketplace-performance-outcomes/sellers/{sellerId}/seller-campaigns /2026-07/marketing-solutions/marketplace-performance-outcomes/sellers/{sellerId}/seller-campaigns #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/stats/campaigns /2026-07/marketing-solutions/marketplace-performance-outcomes/stats/campaigns #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/stats/seller-campaigns /2026-07/marketing-solutions/marketplace-performance-outcomes/stats/seller-campaigns #
GET /2026-07/marketing-solutions/marketplace-performance-outcomes/stats/sellers /2026-07/marketing-solutions/marketplace-performance-outcomes/stats/sellers #
GET /2026-07/retail-media/accounts/{account-id}/campaigns /2026-07/retail-media/accounts/{account-id}/campaigns #
POST /2026-07/retail-media/accounts/{account-id}/campaigns /2026-07/retail-media/accounts/{account-id}/campaigns #
GET /2026-07/retail-media/accounts/{account-id}/creatives /2026-07/retail-media/accounts/{account-id}/creatives #
POST /2026-07/retail-media/accounts/{account-id}/creatives /2026-07/retail-media/accounts/{account-id}/creatives #
GET /2026-07/retail-media/accounts/{account-id}/creatives/{creative-id} /2026-07/retail-media/accounts/{account-id}/creatives/{creative-id} #
PUT /2026-07/retail-media/accounts/{account-id}/creatives/{creative-id} /2026-07/retail-media/accounts/{account-id}/creatives/{creative-id} #
POST /2026-07/retail-media/accounts/{account-id}/creatives/search /2026-07/retail-media/accounts/{account-id}/creatives/search #
GET /2026-07/retail-media/accounts/{account-id}/keywords/in-review-report /2026-07/retail-media/accounts/{account-id}/keywords/in-review-report #
GET /2026-07/retail-media/accounts/{account-id}/line-items /2026-07/retail-media/accounts/{account-id}/line-items #
POST /2026-07/retail-media/accounts/{accountId}/brand-catalog-export /2026-07/retail-media/accounts/{accountId}/brand-catalog-export #
GET /2026-07/retail-media/accounts/{accountId}/brands /2026-07/retail-media/accounts/{accountId}/brands #
POST /2026-07/retail-media/accounts/{accountId}/catalogs /2026-07/retail-media/accounts/{accountId}/catalogs #
POST /2026-07/retail-media/accounts/{accountId}/catalogs/sellers /2026-07/retail-media/accounts/{accountId}/catalogs/sellers #
POST /2026-07/retail-media/accounts/{accountId}/retailers/search /2026-07/retail-media/accounts/{accountId}/retailers/search #
POST /2026-07/retail-media/accounts/{accountId}/seller-catalog-export /2026-07/retail-media/accounts/{accountId}/seller-catalog-export #
POST /2026-07/retail-media/assets /2026-07/retail-media/assets #
GET /2026-07/retail-media/auction-line-items/{lineItemId} /2026-07/retail-media/auction-line-items/{lineItemId} #
PUT /2026-07/retail-media/auction-line-items/{lineItemId} /2026-07/retail-media/auction-line-items/{lineItemId} #
POST /2026-07/retail-media/balances/{balanceId}/campaigns/append /2026-07/retail-media/balances/{balanceId}/campaigns/append #
POST /2026-07/retail-media/balances/{balanceId}/campaigns/delete /2026-07/retail-media/balances/{balanceId}/campaigns/delete #
GET /2026-07/retail-media/campaigns/{campaign-id}/preferred-line-items /2026-07/retail-media/campaigns/{campaign-id}/preferred-line-items #
POST /2026-07/retail-media/campaigns/{campaign-id}/preferred-line-items /2026-07/retail-media/campaigns/{campaign-id}/preferred-line-items #
GET /2026-07/retail-media/campaigns/{campaignId} /2026-07/retail-media/campaigns/{campaignId} #
PUT /2026-07/retail-media/campaigns/{campaignId} /2026-07/retail-media/campaigns/{campaignId} #
GET /2026-07/retail-media/campaigns/{campaignId}/auction-line-items /2026-07/retail-media/campaigns/{campaignId}/auction-line-items #
POST /2026-07/retail-media/campaigns/{campaignId}/auction-line-items /2026-07/retail-media/campaigns/{campaignId}/auction-line-items #
GET /2026-07/retail-media/campaigns/{campaignId}/campaign-budget-overrides /2026-07/retail-media/campaigns/{campaignId}/campaign-budget-overrides #
PUT /2026-07/retail-media/campaigns/{campaignId}/campaign-budget-overrides /2026-07/retail-media/campaigns/{campaignId}/campaign-budget-overrides #
GET /2026-07/retail-media/catalogs/{catalogId}/output /2026-07/retail-media/catalogs/{catalogId}/output #
GET /2026-07/retail-media/catalogs/{catalogId}/status /2026-07/retail-media/catalogs/{catalogId}/status #
GET /2026-07/retail-media/categories /2026-07/retail-media/categories #
GET /2026-07/retail-media/categories/{categoryId} /2026-07/retail-media/categories/{categoryId} #
GET /2026-07/retail-media/line-items/{externalLineItemId}/keywords/recommended /2026-07/retail-media/line-items/{externalLineItemId}/keywords/recommended #
GET /2026-07/retail-media/line-items/{id}/keywords /2026-07/retail-media/line-items/{id}/keywords #
POST /2026-07/retail-media/line-items/{id}/keywords/add-remove /2026-07/retail-media/line-items/{id}/keywords/add-remove #
POST /2026-07/retail-media/line-items/{id}/keywords/set-bid /2026-07/retail-media/line-items/{id}/keywords/set-bid #
GET /2026-07/retail-media/line-items/{line-item-id} /2026-07/retail-media/line-items/{line-item-id} #
GET /2026-07/retail-media/line-items/{line-item-id}/bid-multipliers /2026-07/retail-media/line-items/{line-item-id}/bid-multipliers #
PUT /2026-07/retail-media/line-items/{line-item-id}/bid-multipliers /2026-07/retail-media/line-items/{line-item-id}/bid-multipliers #
POST /2026-07/retail-media/line-items/{line-item-id}/keywords/review /2026-07/retail-media/line-items/{line-item-id}/keywords/review #
GET /2026-07/retail-media/line-items/{line-item-id}/products /2026-07/retail-media/line-items/{line-item-id}/products #
POST /2026-07/retail-media/line-items/{line-item-id}/products/append /2026-07/retail-media/line-items/{line-item-id}/products/append #
POST /2026-07/retail-media/line-items/{line-item-id}/products/delete /2026-07/retail-media/line-items/{line-item-id}/products/delete #
POST /2026-07/retail-media/line-items/{line-item-id}/products/pause /2026-07/retail-media/line-items/{line-item-id}/products/pause #
POST /2026-07/retail-media/line-items/{line-item-id}/products/unpause /2026-07/retail-media/line-items/{line-item-id}/products/unpause #
GET /2026-07/retail-media/line-items/{lineItemId}/line-item-budget-overrides /2026-07/retail-media/line-items/{lineItemId}/line-item-budget-overrides #
PUT /2026-07/retail-media/line-items/{lineItemId}/line-item-budget-overrides /2026-07/retail-media/line-items/{lineItemId}/line-item-budget-overrides #
GET /2026-07/retail-media/preferred-line-items/{line-item-id} /2026-07/retail-media/preferred-line-items/{line-item-id} #
PUT /2026-07/retail-media/preferred-line-items/{line-item-id} /2026-07/retail-media/preferred-line-items/{line-item-id} #
GET /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket #
PUT /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket #
POST /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket/append /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket/append #
POST /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket/delete /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket/delete #
GET /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/audiences /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/audiences #
PUT /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/audiences /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/audiences #
POST /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/audiences/append /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/audiences/append #
POST /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/audiences/delete /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/audiences/delete #
GET /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/stores /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/stores #
PUT /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/stores /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/stores #
POST /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/stores/append /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/stores/append #
POST /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/stores/delete /2026-07/retail-media/preferred-line-items/{line-item-id}/targeting/stores/delete #
GET /2026-07/retail-media/retailers/{retailer-id}/templates /2026-07/retail-media/retailers/{retailer-id}/templates #
GET /2026-07/retail-media/retailers/{retailer-id}/templates/{template-id} /2026-07/retail-media/retailers/{retailer-id}/templates/{template-id} #
POST /2026-07/retail-media/retailers/{retailerId}/categories/search /2026-07/retail-media/retailers/{retailerId}/categories/search #
POST /2026-07/retail-media/retailers/{retailerId}/cpc-min-bids /2026-07/retail-media/retailers/{retailerId}/cpc-min-bids #
GET /2026-07/retail-media/retailers/{retailerId}/pages /2026-07/retail-media/retailers/{retailerId}/pages #
POST /2026-07/retail-media/retailers/{retailerId}/recommend-categories /2026-07/retail-media/retailers/{retailerId}/recommend-categories #
POST /2026-07/retail-media/retailers/{retailerId}/recommend-keywords /2026-07/retail-media/retailers/{retailerId}/recommend-keywords #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/criteo-campaign-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

criteo-campaign-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Criteo Campaign API
  version: 2026-07
  description: 'Operations tagged Campaign across 2 of this provider''s published API definitions: criteo-marketing-solutions-api-openapi.yml, criteo-retail-media-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.criteo.com
security:
- oauth: []
tags:
- name: Campaign
paths:
  /2026-07/marketing-solutions/ad-sets:
    patch:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/ad-sets
      description: Patch a list of AdSets.
      operationId: PatchAdSets
      requestBody:
        description: List of adsets to patch.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestsPatchAdSetV26Q1'
        required: true
        x-bodyName: adSets
      responses:
        '200':
          description: Patched attributes for adSets specified in the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesAdSetIdV26Q1'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Manage
    post:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/ad-sets
      description: Create an ad set with the provided parameters
      operationId: CreateAdSet
      requestBody:
        description: the ad sets to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAdSetV26Q1Request'
        required: true
        x-bodyName: adSet
      responses:
        '201':
          description: The ad set that has been created and errors / warnings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseReadAdSetV26Q1'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Manage
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/ad-sets/{ad-set-id}:
    get:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/ad-sets/{ad-set-id}
      description: Get the data for the specified ad set
      operationId: GetAdSet
      parameters:
      - name: ad-set-id
        in: path
        description: Id of the ad set
        required: true
        schema:
          type: string
      responses:
        '200':
          description: data for the ad set
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseReadAdSetV26Q1'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Read
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/ad-sets/{ad-set-id}/audience:
    put:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/ad-sets/{ad-set-id}/audience
      description: Link or unlink an audience with an ad set
      operationId: UpdateAdSetAudience
      parameters:
      - name: ad-set-id
        in: path
        description: The ad set ID.
        required: true
        schema:
          type: string
      requestBody:
        description: Ad set-Audience update request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdSetAudienceLinkInputEntityV1'
        required: true
        x-bodyName: request
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdSetAudienceLinkEntityV1Response'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Manage
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/ad-sets/{ad-set-id}/category-bids:
    get:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/ad-sets/{ad-set-id}/category-bids
      description: Get the Category Bids for all valid Categories associated to an Ad Set
      operationId: GetAdSetCategoryBids
      parameters:
      - name: ad-set-id
        in: path
        description: Id of the Ad Set
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of Category Bids for all valid Categories associated to an Ad Set.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdSetCategoryBidListResponse'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Read
    patch:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/ad-sets/{ad-set-id}/category-bids
      description: 'Update the Category Bids for given Categories associated to an Ad Set

        Patch Category Bids for one or more Categories in a single request. Partial success policy is followed.'
      operationId: PatchAdSetCategoryBids
      parameters:
      - name: ad-set-id
        in: path
        description: Id of the Ad Set
        required: true
        schema:
          type: string
      requestBody:
        description: Collection of category bids to update
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchAdSetCategoryBidListRequest'
        required: true
        x-bodyName: categoryBidsToUpdate
      responses:
        '200':
          description: List of updated Category Bids for given Categories associated to an Ad Set, used for partial successes as well.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchAdSetCategoryBidResultListResponse'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Manage
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/ad-sets/{ad-set-id}/display-multipliers:
    get:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/ad-sets/{ad-set-id}/display-multipliers
      description: Get the Display Multipliers for all valid Categories associated to an Ad Set
      operationId: GetDisplayMultipliers
      parameters:
      - name: ad-set-id
        in: path
        description: Id of the Ad Set
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of Display Multipliers for all valid Categories associated to an Ad Set.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdSetDisplayMultiplierListResponse'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Read
    patch:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/ad-sets/{ad-set-id}/display-multipliers
      description: 'Update the Display Multipliers for given Categories associated to an Ad Set

        Patch Display Multipliers for one or more Categories in a single request. Partial success policy is followed.'
      operationId: PatchDisplayMultipliers
      parameters:
      - name: ad-set-id
        in: path
        description: Id of the Ad Set
        required: true
        schema:
          type: string
      requestBody:
        description: List of display multiplier values to change
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchAdSetDisplayMultiplierListRequest'
        required: true
        x-bodyName: displayMultipliersToUpdate
      responses:
        '200':
          description: List of updated Display Multipliers for given Categories associated to an Ad Set. Make sure to check the error field in the response since a partial success will result in a 200 response code.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchAdSetDisplayMultiplierResultListResponse'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Manage
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/ad-sets/search:
    post:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/ad-sets/search
      description: "Search for ad sets based on provided criteria.\nThis returns the full configuration of ad sets matching those criteria.\nField projection can be used if only a subset of fields is required, instead of the full configuration.\n            \nIf specific fields are precised in the user prompt, use meta.fields field projection in order to query only the value of these fields, else, provide every field."
      operationId: SearchAdSets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdSetSearchRequestV26Q1'
        x-bodyName: request
      responses:
        '200':
          description: data for the ad sets
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesReadAdSetV26Q1'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Read
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/ad-sets/start:
    post:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/ad-sets/start
      description: Start the specified list of ad sets
      operationId: StartAdSets
      requestBody:
        description: All the ad sets to start
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestsAdSetId'
        x-bodyName: adSets
      responses:
        '200':
          description: List of ad sets that have been started and errors / warnings by ad set
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesAdSetId'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Manage
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/ad-sets/stop:
    post:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/ad-sets/stop
      description: Stop the specified list of ad sets
      operationId: StopAdSets
      requestBody:
        description: All the ad sets to stop
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestsAdSetId'
        x-bodyName: adSets
      responses:
        '200':
          description: List of ad sets that have been stopped and errors / warnings by ad set
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesAdSetId'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Manage
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/campaigns:
    patch:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/campaigns
      description: "Patch a list of Campaigns.\n            \nA campaign, or in other words a marketing campaign, is an entity that defines advertising objectives and success criteria."
      operationId: PatchCampaigns
      requestBody:
        description: List of campaigns to patch.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchCampaignListRequest'
        required: true
        x-bodyName: request
      responses:
        '200':
          description: List of patched campaigns.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchResultCampaignListResponse'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Manage
    post:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/campaigns
      description: "Create the specified campaign\n            \nA campaign, or in other words a marketing campaign, is an entity that defines advertising objectives and success criteria."
      operationId: CreateCampaign
      requestBody:
        description: the campaigns to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCampaignRequest'
        required: true
        x-bodyName: marketingCampaign
      responses:
        '201':
          description: The campaign that has been created and errors / warnings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignV23Q1Response'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Manage
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/campaigns/{campaign-id}:
    get:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/campaigns/{campaign-id}
      description: "Get the data for the specified campaign.\n            \nA campaign, or in other words a marketing campaign, is an entity that defines advertising objectives and success criteria."
      operationId: GetCampaign
      parameters:
      - name: campaign-id
        in: path
        description: ID of the marketing campaign; This field is required.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns the data of the specified marketing campaign.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignV23Q1Response'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Read
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/campaigns/search:
    post:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/campaigns/search
      description: "Search endpoint for campaigns\n            \nA campaign, or in other words a marketing campaign, is an entity that defines advertising objectives and success criteria."
      operationId: SearchCampaigns
      requestBody:
        description: Filters for searching for campaigns
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CampaignSearchRequestV23Q1'
        x-bodyName: request
      responses:
        '200':
          description: Returns a list of marketing campaigns' data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignV23Q1ListResponse'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Read
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers:
    get:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers
      description: Get the collection of advertisers associated with the user.
      operationId: GetMarketplaceAdvertisers
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AdvertiserInfoMessage'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Read
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}:
    get:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}
      description: Get an advertiser.
      operationId: GetMarketplaceAdvertiser
      parameters:
      - name: advertiserId
        in: path
        description: Id of the advertiser
        required: true
        schema:
          type: string
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdvertiserInfoMessage'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Read
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/ad-preview:
    get:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/ad-preview
      description: "Get a preview of an HTML ad with products belonging to the provided seller\n• <b>advertiserId</b>: Valid crp advertiserId, seller belongs to provided advertiser<br />\n• <b>sellerId</b>: Products from given SellerId will fill the ad preview, must be existing crp sellerId<br />\n• <b>height</b>: height may be supplied to request a specific ad preview height. Default height: 250<br />\n• <b>width</b>: width may be supplied to request a specific ad preview width. Default width: 300<br />\n            \nAd preview api calls are capped to 1000 per day per advertiser by default. Current usage, limit, and period can be found using v2/crp/advertisers/preview-limit"
      operationId: GetMarketplaceSellerAdPreview
      parameters:
      - name: advertiserId
        in: path
        description: Id of the advertiser
        required: true
        schema:
          type: string
          format: int32
      - name: campaignId
        in: query
        description: Seller CampaignId
        schema:
          type: integer
          format: int32
      - name: height
        in: query
        description: Height of the ad to display
        schema:
          type: integer
          format: int32
      - name: sellerId
        in: query
        description: Id of the seller
        required: true
        schema:
          type: integer
          format: int64
      - name: width
        in: query
        description: Width of the ad to display
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
      security:
      - oauth:
        - MarketingSolutions_Campaign_Read
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/adsets:
    get:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/adsets
      description: Get the collection of adsets associated with the advertiserId.
      operationId: GetMarketplaceAdSetsByAdvertiser
      parameters:
      - name: advertiserId
        in: path
        description: Id of the advertiser
        required: true
        schema:
          type: string
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AdvertiserAdsetMessage'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Read
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/budgets:
    get:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/budgets
      description: Get CRP budgets for a specific advertiser
      operationId: GetMarketplaceBudgetsByAdvertiser
      parameters:
      - name: advertiserId
        in: path
        description: Id of the advertiser
        required: true
        schema:
          type: string
          format: int32
      - name: budgetId
        in: query
        description: Return only budgets with given Id
        schema:
          type: integer
          format: int64
      - name: endAfterDate
        in: query
        description: "Return budgets that end after the given date using the `yyyy-MM-DD` format.\n            If param is not provided, default behavior is to only return budgets that have not yet ended."
        schema:
          type: string
          format: date-time
      - name: sellerId
        in: query
        description: Return only budgets belonging to given sellerId
        schema:
          type: integer
          format: int64
      - name: startBeforeDate
        in: query
        description: Return budgets that start on or before the given date using the `yyyy-MM-DD` format.
        schema:
          type: string
          format: date-time
      - name: status
        in: query
        description: Return only budgets with the given status.
        schema:
          enum:
          - Archived
          - Current
          - Scheduled
          type: string
      - name: type
        in: query
        description: Return only budgets with the given budget type.
        schema:
          type: string
      - name: withBalance
        in: query
        description: Return only budgets with the given status.
        schema:
          type: boolean
      - name: withSpend
        in: query
        description: Return budgets with any positive spend.
        schema:
          type: boolean
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SellerBudgetMessage'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Read
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/campaigns:
    get:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/campaigns
      description: Get the collection of CRP campaigns associated with the advertiserId.
      operationId: GetMarketplaceCampaignsByAdvertiser
      parameters:
      - name: advertiserId
        in: path
        description: Id of the advertiser
        required: true
        schema:
          type: string
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AdvertiserCampaignMessage'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Read
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/seller-campaigns:
    get:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/seller-campaigns
      description: Get CRP seller campaigns for a specific advertiser
      operationId: GetMarketplaceSellerCampaignsByAdvertiser
      parameters:
      - name: advertiserId
        in: path
        description: Id of the advertiser
        required: true
        schema:
          type: string
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SellerCampaignMessage'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Read
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/sellers:
    post:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/{advertiserId}/sellers
      description: Create new sellers for an advertiser
      operationId: GetMarketplaceSellersByAdvertiser
      parameters:
      - name: advertiserId
        in: path
        description: Id of the advertiser
        required: true
        schema:
          type: string
          format: int32
      - name: partnerId
        in: query
        description: Id of the partner
        schema:
          type: integer
          format: int32
      requestBody:
        description: Names of the sellers to associate with new Ids
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
        required: true
        x-bodyName: sellerNames
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SellerBase'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Manage
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/preview-limit:
    get:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/marketplace-performance-outcomes/advertisers/preview-limit
      description: Get the collection of advertisers preview limits associated with the authorized user.
      operationId: GetMarketplaceAdvertiserPreviewLimits
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AdvertiserQuotaMessage'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Read
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets:
    get:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets
      description: "Return a collection of budgets filtered by optional filter parameters, **including archived budgets**. This is the endpoint to use when investigating past budget history.\n            \nBy default, budgets whose endDate is in the past are excluded. Use `endAfterDate` to retrieve archived budgets (e.g. `endAfterDate=2025-01-01` returns all budgets ending after that date). Use `sellerId` to filter to a specific seller — omitting it on large advertisers causes timeouts.\n            \n<b>Date filter.</b> To find budgets that were active on a specific date, set both `startBeforeDate` and `endAfterDate` to that day.\n            \n<b>Spend.</b> If `endAfterDate` is supplied, the spend excludes spend that happened after that date. For daily budgets, only the spend for the final day is displayed."
      operationId: GetMarketplaceSellerBudgets
      parameters:
      - name: advertiserId
        in: query
        description: Return only budgets belonging to the specified advertiser
        schema:
          type: integer
          format: int32
      - name: campaignId
        in: query
        description: Return only budgets that pay for a given campaign.
        schema:
          type: integer
          format: int32
      - name: endAfterDate
        in: query
        description: "Return budgets that end after the given date using the `yyyy-MM-DD` format.\n             If param is not provided, default behavior is to only return budgets that have not yet ended."
        schema:
          type: string
          format: date-time
      - name: sellerId
        in: query
        description: Return only budgets belonging to the given seller.
        schema:
          type: string
      - name: startBeforeDate
        in: query
        description: Return budgets that start on or before the given date using the `yyyy-MM-DD` format.
        schema:
          type: string
          format: date-time
      - name: status
        in: query
        description: Return only budgets with the given status.
        schema:
          enum:
          - Archived
          - Current
          - Scheduled
          type: string
      - name: type
        in: query
        description: Return only budgets with the given budget type.
        schema:
          type: string
      - name: withBalance
        in: query
        description: Return only budgets with the given status.
        schema:
          type: boolean
      - name: withSpend
        in: query
        description: Return budgets with any positive spend.
        schema:
          type: boolean
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SellerBudgetMessage'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Read
    patch:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets
      description: "Modify one or more existing active budgets to change their limitations or status.\nAll three types of budgets can be modified.\n            \nThe following constraints apply when modifying an existing budget.\n            \n• <b>campaignIds</b>: a non-empty subset of the original campaign ids MAY be supplied<br />\n• <b>amount</b>: an amount MAY be supplied only if the type is not Uncapped and if supplied it MUST be non-negative<br />\n• <b>startDate</b>: a future start date MAY be supplied for budgets that have not yet started<br />\n• <b>endDate</b>: an end date MAY be supplied and if supplied MUST be a future date greater than the start date<br />\n            \nOther attributes MUST NOT be supplied.\n            \nAdding new campaigns to a budget is not allowed. In addition, reducing the amount for\na Capped budget to a value less than the current spend not allowed."
      operationId: UpdateMarketplaceSellerBudgets
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/UpdateSellerBudgetMessage'
        required: true
        x-bodyName: updateSellerBudgets
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SellerBudgetMessage'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Manage
    post:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets
      description: "Create one or more new budgets to enable spending with the given limitations.\nAll three types of budgets can be created this way.\n            \nThe following constraints apply when creating a new budget.\n            \n• <b>sellerId</b>: the seller MUST be supplied<br />\n• <b>campaignIds</b>: a non-empty array of campaign ids MUST be supplied<br />\n• <b>budgetType</b>: a budget type MUST be supplied<br />\n• <b>amount</b>: an amount MAY be supplied only if the type is not Uncapped and if supplied it MUST be non-negative<br />\n• <b>startDate</b>: a future start date MUST be supplied<br />\n• <b>endDate</b>: an end date MAY be supplied and if supplied MUST be greater than the start date<br />\n            \nOther attributes MUST NOT be supplied."
      operationId: CreateMarketplaceSellerBudgets
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CreateSellerBudgetMapiMessage'
        required: true
        x-bodyName: createSellerBudgets
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SellerBudgetMessage'
      security:
      - oauth:
        - MarketingSolutions_Campaign_Manage
    servers:
    - url: https://api.criteo.com
  /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets/{budgetId}:
    get:
      tags:
      - Campaign
      summary: /2026-07/marketing-solutions/marketplace-performance-outcomes/budgets/{budgetId}
      description: "Return a budget. For example,\n            \n    {\n        \"id\": \"1759183\",\n        \"sellerId\": \"321392\",\n        \"campaignIds\": [\n            143962\n        ],\n        \"budgetType\": \"Capped\",\n        \"amount\": 1000,\n        \"startDate\": \"2021-01-11\",\n        \"endDate\": \"2021-01-12\",\n        \"spend\": null,\n        \"status\": \"Active\"\n    }\n            \

# --- truncated at 32 KB (385 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/criteo/refs/heads/main/openapi/criteo-campaign-api-openapi.yml