> ## Documentation Index
> Fetch the complete documentation index at: https://developers.criteo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# /2026-01/marketing-solutions/marketplace-performance-outcomes/sellers/{sellerId}/seller-campaigns

> Associate an existing Seller with an existing Campaign allowing for budget creation



## OpenAPI

````yaml https://api.criteo.com/2026-01/marketingsolutions/open-api-specifications.json post /2026-01/marketing-solutions/marketplace-performance-outcomes/sellers/{sellerId}/seller-campaigns
openapi: 3.0.1
info:
  title: Criteo API
  description: Criteo API - MarketingSolutions
  version: 2026-01
servers:
  - url: https://api.criteo.com
security:
  - oauth: []
tags:
  - name: Advertiser
  - name: Analytics
  - name: Audience
  - name: Campaign
  - name: Creative
  - name: Gateway
  - name: Reco
paths:
  /2026-01/marketing-solutions/marketplace-performance-outcomes/sellers/{sellerId}/seller-campaigns:
    post:
      tags:
        - Campaign
      summary: >-
        /2026-01/marketing-solutions/marketplace-performance-outcomes/sellers/{sellerId}/seller-campaigns
      description: >-
        Associate an existing Seller with an existing Campaign allowing for
        budget creation
      operationId: CreateMarketplaceSellerCampaignsBySeller
      parameters:
        - name: sellerId
          in: path
          description: Supply a generated Id of an existing Seller
          required: true
          schema:
            type: string
      requestBody:
        description: Supply the campaign Id and bid to create the mapping
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSellerCampaignMessageMapi'
        required: true
        x-bodyName: sellerCampaign
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerCampaignMessage'
      security:
        - oauth:
            - MarketingSolutions_Campaign_Manage
components:
  schemas:
    CreateSellerCampaignMessageMapi:
      type: object
      properties:
        bid:
          type: number
          description: Initial cost-per-click bid in the advertiser's currency
          format: double
        campaignId:
          type: integer
          description: >-
            ID of the campaign to associate the seller with. Must be an existing
            campaign.
          format: int32
      description: Data used to create a seller's campaign
    SellerCampaignMessage:
      type: object
      properties:
        bid:
          type: number
          description: >-
            Cost-per-click bid in the advertiser's currency. Null means no CPC
            is defined (seller-campaign will be suspended with NoCpcDefined).
            Set to 0 to stop delivery.
          format: double
          nullable: true
        campaignId:
          type: integer
          description: Identifier of the campaign this seller participates in
          format: int32
        id:
          type: string
          description: Composite identifier in format {sellerId}.{campaignId}
          readOnly: true
        productSet:
          $ref: '#/components/schemas/SellerCampaignProductSet'
        sellerId:
          type: string
          description: Unique identifier of the seller (merchant)
        suspendedSince:
          type: string
          description: >-
            Timestamp when the seller-campaign was suspended. Null means the
            seller-campaign is active.
          format: date-time
          nullable: true
        suspensionReasons:
          type: array
          items:
            $ref: '#/components/schemas/SellerCampaignSuspensionReason'
          description: >-
            List of reasons why the seller-campaign is suspended. Null means the
            seller-campaign is active.
          nullable: true
      description: >-
        A seller-campaign links a seller to a campaign, defining the CPC bid. A
        seller can participate in multiple campaigns, and a campaign can have
        multiple sellers.
      example:
        id: '10656107.248287'
        sellerId: '10656107'
        campaignId: 248287
        bid: 0.15
        suspendedSince: '2021-03-03T15:14:25.7970000+00:00'
        suspensionReasons:
          - NoBudgetDefined
      x-readonly-id: true
    SellerCampaignProductSet:
      type: object
      properties:
        productSetNumberOfProducts:
          type: integer
          description: Number of products matching the product set rules
          format: int32
          nullable: true
        productSetStatus:
          type: string
          description: Status of the product set (e.g. Active, Pending)
          nullable: true
        rules:
          type: array
          items:
            type: object
          description: Array of product set filtering rules
          nullable: true
      description: Product set targeting configuration for a seller-campaign
      nullable: true
    SellerCampaignSuspensionReason:
      enum:
        - NoMoreBudget
        - ManuallyStopped
        - NoBudgetDefined
        - NoCpcDefined
        - RemovedFromCatalog
        - NotYetStarted
        - NoMoreDailyBudget
        - Other
      type: string
      description: >-
        Reason why a seller-campaign is suspended. Values: ManuallyStopped
        (manually paused by the partner), NoBudgetDefined (no valid budget
        linked), NoCpcDefined (no CPC bid set), NoMoreBudget (lifetime budget
        fully spent), NoMoreDailyBudget (daily budget limit reached),
        RemovedFromCatalog (all products removed from catalog), NotYetStarted
        (newly created, not yet processed), Other (internal issue preventing
        delivery).
  securitySchemes:
    oauth:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.criteo.com/oauth2/token
          scopes: {}
        authorizationCode:
          authorizationUrl: https://api.criteo.com/oauth2
          tokenUrl: https://api.criteo.com/oauth2/token
          scopes: {}

````