Outbrain Campaigns API

Campaign management

Operations 12

GET /campaigns/{id} Retrieve a Single Campaign #
PUT /campaigns/{id} Update an Existing Campaign #
POST /campaigns Create a new Campaign #
PUT /campaigns Update Multiple Campaigns #
GET /campaigns/{campaignIds}/multiple Retrieve Multiple Campaigns #
GET /budgets/{id}/campaigns List all Campaigns associated with a Budget #
GET /marketers/{id}/campaigns List all Campaigns associated with a Marketer #
GET /campaigns/{campaignId}/locations Retrieve Campaign GeoLocations #
GET /marketers/{marketerId}/campaigns List Campaigns For A Marketer #
POST /marketers/{marketerId}/campaigns Create A Campaign For A Marketer #
GET /campaigns/{campaignId} Get A Campaign By Id #
PUT /campaigns/{campaignId} Update A Campaign #

Documentation

Specifications

Schemas & Data

Other Resources

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/outbrain-campaigns-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 email required.

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

OpenAPI Specification

outbrain-campaigns-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Outbrain Campaigns API
  version: '0.1'
  contact:
    name: Outbrain Developer Center
    url: https://developer.outbrain.com
  description: 'Operations tagged Campaigns across 2 of this provider''s published API definitions: outbrain-amplify-api-full-openapi.yml, outbrain-campaigns-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.outbrain.com/amplify/v0.1
  description: Production Server
security:
- OBTokenAuth: []
tags:
- name: Campaigns
  description: 'Campaigns contain many PromotedLinks and define Budget, targeting, cpc, etc. Campaign settings apply to the PromotedLinks contained in a specific Campaign.


    The Campaign object has the following attributes:


    Property

    Type

    Semantic

    Example


    id

    String

    campaign id.

    "00f4b02153ee75f3c9dc4fc128ab041962"


    name

    String

    campaign name.

    "My Campaign"


    marketerId

    String

    marketer id.

    "00f4b02153ee75f3c9dc4fc128ab041963"


    enabled

    Boolean

    is campaign enabled.

    true


    cpc

    Money

    cost per click.

    0.58


    minimumCpc

    Money

    the minimal possible cost per click. read-only

    0.2


    currency

    String

    The currency of the Budget amount. read-only

    "USD"


    autoArchived

    Boolean

    Indicates whether this Campaign is archived.

    true


    targeting

    Targeting Object

    See Targeting object.


    feeds

    Array of RSS feeds

    Each feed contains the URL of the rss feed.


    autoExpirationOfPromotedLinks

    Numeric

    A number specifying within how many days Promo'
paths:
  /campaigns/{id}:
    get:
      operationId: getCampaignsId
      summary: Retrieve a Single Campaign
      description: 'Note: some campaign properties require using the Extra Field notion'
      tags:
      - Campaigns
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: the id of the Campaign
        example: 00f4b02153ee75f3c9dc4fc128ab0411ab
      - name: extraFields
        in: query
        required: false
        schema:
          type: string
        description: the additional campaign fields you want to include in the response
        example: CustomAudience,Locations,InterestsTargeting,BidBySections,BlockedSites,PlatformTargeting,CampaignOptimization,Scheduling,IABCategories,CampaignPixels,VolumeControl
      responses:
        '200':
          description: JSON representation of Campaign Resource
          content:
            application/json:
              schema:
                type: object
              example:
                id: 00f4b02153ee75f3c9dc4fc128ab041962
                name: Boost 'ABC' Brand
                marketerId: 00f4b02153ee75f3c9dc4fc128ab041562
                lastModified: '2013-04-15 14:52:13'
                creationTime: '2013-01-26 21:17:11'
                campaignOnAir: false
                onAirReason: CAMPAIGN_FLY_DATES_PAST
                enabled: true
                autoArchived: false
                currency: USD
                cpc: 0.13
                minimumCpc: 0.1
                autoExpirationOfPromotedLinks: 7
                amountSpent: 150.0
                targeting:
                  platform:
                  - MOBILE
                  - DESKTOP
                  locations:
                  - name: Prince Edward Island
                    canonicalName: Prince Edward Island, Canada
                    id: a7fd4b0f63f8437cf04690b481e5eab1
                    geoType: Region
                    parent:
                      geoType: Country
                      canonicalName: Canada
                      id: aa4ab4c893b9fb5618476cb27f264ef8
                      name: Canada
                  operatingSystems:
                  - MacOs
                  - Windows
                  browsers:
                  - Chrome
                feeds:
                - http://rss.cnn.com/rss/edition.rss
                - http://rss.cnn.com/rss/sport.rss
                budget:
                  id: 00f4b02153ee75f3c9dc4fc128ab041962
                  name: Boost 'ABC' Brand budget
                  shared: true
                  amount: 2000.0
                  amountRemaining: 100.0
                  creationTime: '2013-06-03 22:14:41'
                  lastModified: '2013-06-03 22:14:41'
                  startDate: '2013-09-16'
                  runForever: true
                  type: MONTHLY
                  currency: USD
                liveStatus:
                  campaignOnAir: false
                  onAirReason: Campaign Fly Dates
                  amountSpent: 523.35
                suffixTrackingCode: trck=12
                prefixTrackingCode:
                  prefix: http://www.marketersServer.com?redirectTo=
                  encode: true
                contentType: NATIVE_VIDEO
                cpcPerAdEnabled: true
                blockedSites:
                  blockedPublishers:
                  - id: 00f4b02153ee75f3c9dc4fc128ab041962
                    name: Blocked Publisher Name 1
                    creationTime: '2016-01-12 04:02:34'
                    expiration: '2026-01-20'
                  - id: 0095b3a4811c42fe570d1e730e7286adb4
                    name: Blocked Publisher Name 2
                    creationTime: '2016-01-12 04:02:34'
                  blockedSections:
                  - id: 00f4b02153ee75f3c9dc4fc128ab041962
                    name: Blocked Section Name
                    creationTime: '2016-01-12 04:02:34'
                    publisher:
                      id: 0095b3a4811c42fe570d1e730e7286adb4
                      name: The name of the publisher the section belongs to
                  marketerBlockedSites: {}
                bids:
                  bySection:
                  - sectionId: 009e769d5444de4570582abe8ff7689883
                    sectionName: Sports
                    publisherId: 00f3022e3638c88cb5e46768e45c471441
                    cpcAdjustment: 0.1
                    campaignId: 00f4b02153ee75f3c9dc4fc128ab041962
                    creationTime: '2013-01-14 07:19:16'
                    lastModified: '2013-01-14 07:21:16'
                  - sectionId: 000b4b1c9dda9d79fe9ff53e0faefa615d
                    sectionName: Culture
                    publisherId: 00d3a87281bbace0171560533ac547f6cc
                    cpcAdjustment: 0.1
                    campaignId: 00f4b02153ee75f3c9dc4fc128ab041962
                    creationTime: '2013-01-14 07:19:16'
                    lastModified: '2013-01-14 07:27:16'
                campaignOptimization:
                  optimizationType: TRAFFIC
                volumeControl:
                  adjustments:
                  - sectionId: 009e769d5444de4570582abe8ff7689883
                    adjustmentLevel: INCREASE
                onAirType: Scheduled
                scheduling:
                  cpc:
                  - startDay: Sunday
                    endDay: Monday
                    startHour: 3
                    endHour: 1
                    cpcAdjustment: 0.1
                  onAir:
                  - startDay: Sunday
                    endDay: Sunday
                    startHour: 8
                    endHour: 12
                objective: Awareness
                creativeFormat: Standard
                pixels:
                  trackingPixels:
                  - http://outbrain.com/1
                  - http://outbrain.com/2
                  impressionPixels:
                  - http://outbrain.com/3
                  - http://outbrain.com/4
          headers:
            AMPLIFY-REQUEST-ID:
              description: Request correlation / rate-limit signal
              schema:
                type: string
        '400':
          description: Bad Request - the request could not be understood or was missing required parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - authentication failed or the user lacks permission for the requested operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found - resource was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests - request exceeded rate limits; see the rate-limit-msec-left header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      operationId: updateCampaignsId
      summary: Update an Existing Campaign
      description: "To update a campaign send a JSON with the updated value for one or more of the updatable campaign attributes.\n\nAll attribute values left unset in this PUT will remain unchanged.\n\nOnly the following Campaign properties are updatable:\n\n- \nname - Maximum length is 100 characters\n\n- \nenabled\n\n- \ncpc - The cpc must be higher than the minimumCpc\n\n- \ntargeting.platform - See Targeting object\n\n- \ntargeting.locations - See Targeting object\n\n- \ntargeting.excludedLocations - See Targeting object\n\n- \ntargeting.language - See Targeting object\n\n- \ntargeting.excludeAdBlockUsers - See Targeting object\n\n- \ntargeting.operatingSystems - See Targeting object\n\n- \ntargeting.browsers - See Targeting object\n\n- \ntargeting.network - See Targeting object\n\n- \nsuffixTrackingCode - Tracking code parameters that will be appended to the Campaign's PromotedLinks. Use the value \"EMPTY_SUFFIX\" to delete.\n\n- \nprefixTrackingCode - A marketer's prefix for a PromotedLink. The prefixTrackingCode must be in a valid url form and must end with some parameter followed by an equals sign. Use the value \"EMPTY_PREFIX\" to delete.\n\n- \ncpcPerAdEnabled (deprecation date 20.4.20) - Indicates whether or not the 'Cpc Per Ad' feature is enabled for this campaign.\n\n- \nblockedSites - The publishers / sections which should be blocked. Note that this is a full list including publishers / sections which are already blocked.\n\n- \nstartHour - Time (12 hour format: 'HH:MM AM/PM') of the day when this Campaign should run. For this feature to work, the campaign budget type must be \"DAILY\" or \"AUTOMATIC\" it cannot be \"Spend_ASAP\"\n\n- \ntrackingPixels - Deprecated please use pixel.trackingPixels instead (will be removed in 1.7.2021). Array of Tracking Pixels\n\n- \narchived - Use value archived to archive campaign.  If you wish to unarchive please resend the archived request. Archived campaigns are not returned by the campaigns APIs\n\n- \nbids - See Bids object\n\n- \ncampaignOptimization - See CampaignOptimization object\n\n- \nvolumeControl - See Volume Control object\n\n- \nonAirType - See Campaign On Air Type object\n\n- \nscheduling - See Campaign Scheduling Rules object\n\n- \nobjective - See Campaign Objective object\n\n- \npixels - See Pixels object."
      tags:
      - Campaigns
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: the id of the Campaign
        example: 00f4b02153ee75f3c9dc4fc128ab0411ab
      - name: extraFields
        in: query
        required: false
        schema:
          type: string
        description: the additional campaign fields you want to include in the response
        example: CustomAudience,Locations,InterestsTargeting,BidBySections,BlockedSites,PlatformTargeting,CampaignOptimization,Scheduling,IABCategories,CampaignPixels,VolumeControl
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: JSON representation of Campaign Resource
          content:
            application/json:
              schema:
                type: object
              example:
                id: 00f4b02153ee75f3c9dc4fc128ab041962
                name: Boost 'ABC' Brand
                marketerId: 00f4b02153ee75f3c9dc4fc128ab041562
                lastModified: '2013-04-15 14:52:13'
                creationTime: '2013-01-26 21:17:11'
                campaignOnAir: false
                onAirReason: CAMPAIGN_FLY_DATES_PAST
                enabled: true
                autoArchived: false
                currency: USD
                cpc: 0.13
                minimumCpc: 0.1
                autoExpirationOfPromotedLinks: 7
                amountSpent: 150.0
                targeting:
                  platform:
                  - MOBILE
                  - DESKTOP
                  locations:
                  - name: Prince Edward Island
                    canonicalName: Prince Edward Island, Canada
                    id: a7fd4b0f63f8437cf04690b481e5eab1
                    geoType: Region
                    parent:
                      geoType: Country
                      canonicalName: Canada
                      id: aa4ab4c893b9fb5618476cb27f264ef8
                      name: Canada
                  operatingSystems:
                  - MacOs
                  - Windows
                  browsers:
                  - Chrome
                feeds:
                - http://rss.cnn.com/rss/edition.rss
                - http://rss.cnn.com/rss/sport.rss
                budget:
                  id: 00f4b02153ee75f3c9dc4fc128ab041962
                  name: Boost 'ABC' Brand budget
                  shared: true
                  amount: 2000.0
                  amountRemaining: 100.0
                  creationTime: '2013-06-03 22:14:41'
                  lastModified: '2013-06-03 22:14:41'
                  startDate: '2013-09-16'
                  runForever: true
                  type: MONTHLY
                  currency: USD
                liveStatus:
                  campaignOnAir: false
                  onAirReason: Campaign Fly Dates
                  amountSpent: 523.35
                suffixTrackingCode: trck=12
                prefixTrackingCode:
                  prefix: http://www.marketersServer.com?redirectTo=
                  encode: true
                contentType: NATIVE_VIDEO
                cpcPerAdEnabled: true
                blockedSites:
                  blockedPublishers:
                  - id: 00f4b02153ee75f3c9dc4fc128ab041962
                    name: Blocked Publisher Name 1
                    creationTime: '2016-01-12 04:02:34'
                    expiration: '2026-01-20'
                  - id: 0095b3a4811c42fe570d1e730e7286adb4
                    name: Blocked Publisher Name 2
                    creationTime: '2016-01-12 04:02:34'
                  blockedSections:
                  - id: 00f4b02153ee75f3c9dc4fc128ab041962
                    name: Blocked Section Name
                    creationTime: '2016-01-12 04:02:34'
                    publisher:
                      id: 0095b3a4811c42fe570d1e730e7286adb4
                      name: The name of the publisher the section belongs to
                  marketerBlockedSites: {}
                bids:
                  bySection:
                  - sectionId: 009e769d5444de4570582abe8ff7689883
                    sectionName: Sports
                    publisherId: 00f3022e3638c88cb5e46768e45c471441
                    cpcAdjustment: 0.1
                    campaignId: 00f4b02153ee75f3c9dc4fc128ab041962
                    creationTime: '2013-01-14 07:19:16'
                    lastModified: '2013-01-14 07:21:16'
                  - sectionId: 000b4b1c9dda9d79fe9ff53e0faefa615d
                    sectionName: Culture
                    publisherId: 00d3a87281bbace0171560533ac547f6cc
                    cpcAdjustment: 0.1
                    campaignId: 00f4b02153ee75f3c9dc4fc128ab041962
                    creationTime: '2013-01-14 07:19:16'
                    lastModified: '2013-01-14 07:27:16'
                campaignOptimization:
                  optimizationType: TRAFFIC
                volumeControl:
                  adjustments:
                  - sectionId: 009e769d5444de4570582abe8ff7689883
                    adjustmentLevel: INCREASE
                onAirType: Scheduled
                scheduling:
                  cpc:
                  - startDay: Sunday
                    endDay: Monday
                    startHour: 3
                    endHour: 1
                    cpcAdjustment: 0.1
                  onAir:
                  - startDay: Sunday
                    endDay: Sunday
                    startHour: 8
                    endHour: 12
                objective: Awareness
                creativeFormat: Standard
                pixels:
                  trackingPixels:
                  - http://outbrain.com/1
                  - http://outbrain.com/2
                  impressionPixels:
                  - http://outbrain.com/3
                  - http://outbrain.com/4
          headers:
            AMPLIFY-REQUEST-ID:
              description: Request correlation / rate-limit signal
              schema:
                type: string
        '400':
          description: Bad Request - the request could not be understood or was missing required parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - authentication failed or the user lacks permission for the requested operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found - resource was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests - request exceeded rate limits; see the rate-limit-msec-left header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    servers:
    - url: https://api.outbrain.com/amplify/v0.1
      description: Production Server
  /campaigns:
    post:
      operationId: createCampaigns
      summary: Create a new Campaign
      description: 'Property

        Type

        Semantic

        Example


        name

        String

        The name of this Campaign. Must be unique per each marketer. Maximum length is 100 characters.

        "My Campaign"


        budgetId

        String

        The id of the budget to associate the new campaign with.

        "00f4b02153ee75f3c9dc4fc128ab041962"


        enabled

        Boolean

        Is the campaign enabled

        true


        cpc

        Money

        Cost per click. See Currencies for valid cpc values.

        0.58


        targeting

        Targeting Object

        See Targeting object


        feeds

        String array

        An array of strings where each element contains the URL of the rss feed. optional


        suffixTrackingCode

        String

        Tracking code parameters that will be appended to the Campaign''s PromotedLinks. optional

        "utm_source=outb&utm_medium=cpc&utm_campaign=Celebrity-2-1"


        blockedSites

        Campaign Blocked Sites

        A property containing lists of blocked publishers and / or sections. The publishers and sections ids can be retrieved from the Publisher Performance Reporting section

        { "blockedSites": { "blockedPublishers": [ { "id": "00f4b02153ee75f3c9dc4fc128ab041962",  "expiration": "2026-01-15"} ],"blockedSections": [ {"id": "01f4b02153ee75f3f9dc4fce28ab041g65", "expiration": "2026-01-15"}} ] } }


        startHour

        Time (12 hour format: ''HH:MM AM/PM'')

        Time of the day when this Campaign should start. For this feature to work, the campaign budget type must be "DAILY" or "AUTOMATIC" it cannot be "Spend_ASAP"

        10:30 AM


        trackingPixels

        Array of Tracking Pixels

        Deprecated please use pixels.trackingPixels instead (will be removed in 1.7.2021). Array of tracking pixels attached to each promoted link under this campaign


        bids

        Bids

        CPC adjustments


        campaignOptimization

        CampaignOptimization

        Conversion optimization settings


        onAirType

        Campaign On Air Type

        Represents the scheduling type for the campaign to be on air

        "Scheduled"


        objective

        Campaign Objective

        The campaign objective


        creativeFormat

        Campaign creative format

        The campaign creative format. Default is Standard. optional


        pixels

        Pixels

        The campaign impression and tracking pixels.


        dynamicRetargeting

        Boolean

        true if this is a dynamic retargeting campaign. This can be set to true only if the marketer has uploaded their products feed to Outbrain'
      tags:
      - Campaigns
      parameters:
      - name: extraFields
        in: query
        required: false
        schema:
          type: string
        description: the additional campaign fields you want to include in the response
        example: CustomAudience,Locations,InterestsTargeting,BidBySections,BlockedSites,PlatformTargeting,CampaignOptimization,Scheduling,IABCategories,CampaignPixels
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              name: new campaign
              cpc: 0.05
              enabled: true
              budgetId: 004177467f7724bacae68b46524e3c6c3b
              targeting:
                platform:
                - DESKTOP
                - MOBILE
                locations:
                - a7fd4b0f63f8437cf04690b481e5eab1
                operatingSystems:
                - MacOs
                - Windows
                browsers:
                - Chrome
              suffixTrackingCode: utm_source=outb&utm_medium=cpc&utm_campaign=abc%20def
              feeds:
              - http://myfeedurl.com/feed/first
              - http://myfeedurl.com/feed/another
              bids:
                bySection:
                - sectionId: 009e769d5444de4570582abe8ff7689883
                  cpcAdjustment: 0.1
                - sectionId: 00f3022e3638c88cb5e46768e45c471441
                  cpcAdjustment: -0.1
              onAirType: Scheduled
              scheduling:
                cpc:
                - startDay: Sunday
                  endDay: Monday
                  startHour: 3
                  endHour: 1
                  cpcAdjustment: 0.1
                onAir:
                - startDay: Sunday
                  endDay: Sunday
                  startHour: 8
                  endHour: 12
              objective: Awareness
              creativeFormat: Standard
              pixels:
                trackingPixels:
                - http://outbrain.com/1
                - http://outbrain.com/2
                impressionPixels:
                - http://outbrain.com/3
                - http://outbrain.com/4
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
              example:
                id: 00f346fb73eefe9cdc93477727c6ee501d
                name: new campaign
                enabled: true
                creationTime: '2014-12-22 07:46:22'
                lastModified: '2014-12-22 07:46:22'
                cpc: 0.05
                autoArchived: false
                minimumCpc: 0.02
                currency: GBP
                targeting:
                  platform:
                  - DESKTOP
                  - MOBILE
                  locations:
                  - name: Prince Edward Island
                    canonicalName: Prince Edward Island, Canada
                    id: a7fd4b0f63f8437cf04690b481e5eab1
                    geoType: Region
                    parent:
                      geoType: Country
                      canonicalName: Canada
                      id: aa4ab4c893b9fb5618476cb27f264ef8
                      name: Canada
                  operatingSystems:
                  - MacOs
                  - Windows
                  browsers:
                  - Chrome
                marketerId: 00e28bea9eba98e0c8a14958e2196793af
                feeds:
                - http://myfeedurl.com/feed/first
                - http://myfeedurl.com/feed/another
                contentType: ARTICLES
                budget:
                  id: 004177467f7724bacae68b46524e3c6c3b
                  name: new campaign
                  shared: false
                  amount: 100.0
                  currency: GBP
                  amountRemaining: 100.0
                  amountSpent: 0.0
                  creationTime: '2014-12-22 07:46:22'
                  lastModified: '2014-12-22 07:46:22'
                  startDate: '2014-06-26'
                  endDate: '2016-07-26'
                  runForever: false
                  type: CAMPAIGN
                  pacing: SPEND_ASAP
                suffixTrackingCode: utm_source=outb&utm_medium=cpc&utm_campaign=abc
                liveStatus:
                  amountSpent: 0.0
                  campaignOnAir: false
                  onAirReason: CAMPAIGN_FLY_DATES_PAST
                blockedSites: {}
                bids:
                  bySection:
                  - sectionId: 009e769d5444de4570582abe8ff7689883
                    sectionName: Sports
                    publisherId: 00f3022e3638c88cb5e46768e45c471441
                    cpcAdjustment: 0.1
                    campaignId: 00f4b02153ee75f3c9dc4fc128ab041962
                    creationTime: '2013-01-14 07:19:16'
                    lastModified: '2013-01-14 07:21:16'
                  - sectionId: 000b4b1c9dda9d79fe9ff53e0faefa615d
                    sectionName: Culture
                    publisherId: 00d3a87281bbace0171560533ac547f6cc
                    cpcAdjustment: 0.1
                    campaignId: 00f4b02153ee75f3c9dc4fc128ab041962
                    creationTime: '2013-01-14 07:19:16'
                    lastModified: '2013-01-14 07:21:16'
                onAirType: Scheduled
                scheduling:
                  cpc:
                  - startDay: Sunday
                    endDay: Monday
                    startHour: 3
                    endHour: 1
                    cpcAdjustment: 0.1
                  onAir:
                  - startDay: Sunday
                    endDay: Sunday
                    startHour: 8
                    endHour: 12
                objective: Awareness
                creativeFormat: Standard
          headers:
            AMPLIFY-REQUEST-ID:
              description: Request correlation / rate-limit signal
              schema:
                type: string
        '400':
          description: Bad Request - the request could not be understood or was missing required parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - authentication failed or the user lacks permission for the requested operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found - resource was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests - request exceeded rate limits; see the rate-limit-msec-left header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      operationId: updateCampaigns
      summary: Update Multiple Campaigns
      description: "- \nYou can update as much as 25 multiple campaigns at once\n\n- \nsome campaign properties require using the Extra Field notion\n\nNotes regarding the request:\n\nThe request should be an array of objects that includes:\n\n- \nid - the campaign's id you want to update\n\n- \nthe properties you want to update, same as for a single campaign\n\nNotes regarding the response:\n\nSince some campaigns update may succeed and some may fail, the response is constructed as follows:\n\n- \noperationStatus - OperationStatus\n\n- \nid - the campaign's id\n\n- \ncampaign - The recent updated campaign (if the response is successful)"
      tags:
      - Campaigns
      parameters:
      - name: extraFields
        in: query
        required: false
        schema:
          type: string
        description: the additional campaign fields you want to include in the response
        example: CustomAudience,Locations,InterestsTargeting,BidBySections,BlockedSites,PlatformTargeting,CampaignOptimization,Scheduling,IABCategories,CampaignPixels
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
            - id: 00f863c5674af5c5f63415500f699a04e5
              name: new campaign name
            - id: 00edb86a9edd703c67af97b31466188e56
              cpc: 0.5
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
              - operationStatus:
                  status: Success
                id: 00f863c5674af5c5f63415500f699a04e5
                campaign:
                  name: new campaign name
                  enabled: true
                  creationTime: '2014-12-22 07:46:22'
                  lastModified: '2014-12-22 07:46:22'
                  cpc: 0.05
                  autoArchived: false
                  minimumCpc: 0.02
                  currency: GBP
                  targeting:
                    platform:
                    - DESKTOP
                    - MOBILE
                  marketerId: 00e28bea9eba98e0c8a14958e2196793af
                  contentType: ARTICLES
                  budget:
                    id: 004177467f7724bacae68b46524e3c6c3b
                    name: new campaign
                    shared: false
                    amount: 100.0
                    currency: GBP
                    amountRemaining: 100.0
                    amountSpent: 0.0
                    creationTime: '2014-12-22 07:46:22'
                    lastModified: '2014-12-22 07:46:22'
                    startDate: '2014-06-26'
                    endDate: '2016-07-26'
                    runForever: false
                    type: CAMPAIGN
                    pacing: SPEND_ASAP
                  suffixTrackingCode: utm_source=outb&utm_medium=cpc&utm_campaign=abc
                  liveStatus:
                    amountSpent: 0.0
                    campaignOnAir: false
                    onAirReason: CAMPAIGN_FLY_DATES_PAST
                  objective: Awareness
              - operationStatus:
                  status: Failure
                  reason:
                  - The provided cpc is below the campaign's cpc limit 0.6
                id: 00edb86a9edd703c67af97b31466188e56
          headers:
            AMPLIFY-REQUEST-ID:
              description: Request correlation / rate-limit signal
              schema:
                type: string
        '400':
          description: Bad Request - the request could not be understood or was missing required parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          d

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