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

# Update Campaign

> Update a campaign.



## OpenAPI

````yaml /openapi.json patch /public/v1/offsite-ads/campaigns/{campaign-id}
openapi: 3.1.0
info:
  title: Topsort Endpoints v2 API Reference
  description: >
    In order for a storefront to be able to run auctions in Topsort and report
    auction-related events back to Topsort,

    both the `/v2/auctions` and `/v2/events` endpoints must be integrated.

    Below are the endpoint and model definitions for each.
  contact:
    email: wicha@topsort.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  x-logo:
    url: https://assets.topsort.com/Topsort_logo_icon_dark.svg
    backgroundColor: '#fff'
    altText: Topsort
  version: 2.0.0
servers:
  - url: https://api.topsort.com
    description: Base API URL
security: []
tags:
  - name: Auctions
    description: >-
      An auction determines which products should be promoted based on the
      vendors' bids.
  - name: Events
    description: >-
      Events are sent to Topsort as part of the attribution and reporting
      journey.
  - name: Toptimize
    description: >
      An out-of-the-box solution for prediction, ranking, retrieval, and other
      elements of ad selection.
  - name: Toppie API
    description: Toppie management API.
  - name: Campaign API
    description: Full-featured campaign management API for banners and sponsored listings.
  - name: Catalog API
    description: Products catalog management API.
  - name: Billing API
    description: Marketplace and Vendor Billing management API.
  - name: Reporting API
    description: Marketplace, Vendor, Campaign, and product reporting API.
  - name: Invitation API
    description: Vendor invitations management API.
  - name: User API
    description: User management API.
  - name: Webhooks API
    description: Webhooks API that allows event-driven automation.
  - name: Assets API
    description: Assets management API.
  - name: Segments Service
    description: Segments Service.
  - name: Forecasting Service
    description: Toptimize Forecasting Service.
  - name: Offsite Ads API
    description: Offsite Ads API that allows to manage offsite ads campaigns.
  - name: Media API
    description: Ad configuration API.
paths:
  /public/v1/offsite-ads/campaigns/{campaign-id}:
    patch:
      tags:
        - Offsite Ads API
      summary: Update Campaign
      description: Update a campaign.
      operationId: update_offsite_campaign
      parameters:
        - name: campaign-id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: The ID of the campaign to update.
          description: The ID of the campaign to update.
        - name: vendor_id
          in: query
          required: true
          schema:
            type: string
            description: The ID of the vendor to update the campaign for.
          description: The ID of the vendor to update the campaign for.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Advanced_APIs_UpdateOffsiteCampaignRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Advanced_APIs_JobResponseBase'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Advanced_APIs_HTTPValidationError'
      security:
        - Advanced_APIs_HTTPBearer: []
components:
  schemas:
    Advanced_APIs_UpdateOffsiteCampaignRequest:
      properties:
        name:
          title: Name
          description: The name of the campaign
          oneOf:
            - type: string
              maxLength: 35
              pattern: "^[^;\"'<>\\#\\|,\\\r\\\n\\\\]*[^;\"'<>\\#\\|,\\\r\\\n\\\\\\s][^;\"'<>\\#\\|,\\\r\\\n\\\\]*$"
            - type: 'null'
        startDate:
          title: Startdate
          description: The start date of the campaign
          oneOf:
            - type: string
              format: date-time
            - type: 'null'
        endDate:
          title: Enddate
          description: The end date of the campaign
          oneOf:
            - type: string
              format: date-time
            - type: 'null'
        budget:
          title: Budget
          description: The budget of the campaign
          oneOf:
            - type: integer
            - type: 'null'
        status:
          description: The status of the campaign
          oneOf:
            - $ref: '#/components/schemas/Advanced_APIs_OffsiteCampaignStatus'
            - type: 'null'
        locationIds:
          title: Locationids
          description: >-
            The location ids to target. Google ads geo target ids can be found
            here: https://developers.google.com/google-ads/api/data/geotargets.
            Facebook region ids can be found here:
            https://developers.facebook.com/docs/marketing-api/audiences/reference/targeting-search#regions
          oneOf:
            - items:
                type: string
              type: array
              minItems: 1
            - type: 'null'
        productIds:
          title: Productids
          description: >-
            The product ids to target. These are the product ids from the
            catalog. When updating product_ids, you must provide at least 5
            products. Use an empty list [] to select all products, or None to
            keep the current selection.
          oneOf:
            - items:
                type: string
              type: array
            - type: 'null'
        audienceIds:
          title: Audienceids
          description: >-
            The audience ids to target. These are the audience ids from each DSP
            platform. Currently, only one audience is supported. If not
            provided, no audience won't be updated. If empty, the audience will
            be removed.
          examples:
            - - '123456'
          oneOf:
            - items:
                type: string
              type: array
              maxItems: 1
            - type: 'null'
      type: object
      title: UpdateOffsiteCampaignRequest
    Advanced_APIs_JobResponseBase:
      properties:
        jobId:
          type: string
          format: uuid
          title: Jobid
          description: The unique identifier for the queued job.
      type: object
      required:
        - jobId
      title: JobResponseBase
    Advanced_APIs_HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/Advanced_APIs_ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    Advanced_APIs_OffsiteCampaignStatus:
      type: string
      enum:
        - ENABLED
        - PAUSED
      title: OffsiteCampaignStatus
    Advanced_APIs_ValidationError:
      properties:
        loc:
          items:
            oneOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    Advanced_APIs_HTTPBearer:
      type: http
      description: >-
        A valid API key generated in Topsort's UI. Use the TSE API key if
        calling auctions or events API, otherwise use the TSC API key.
      scheme: bearer

````