Rapidata Campaign API

The Campaign API from Rapidata — 12 operation(s) for campaign.

Operations 14

POST /campaign/program Creates a program campaign from the given stream program.
GET /campaign/boost/insights Returns an attributed view of the aggregated boosting profile.
GET /campaign/boost/status Returns the current boost status including active and inactive campaigns.
GET /campaign/{campaignId} Retrieves the details of a specific campaign.
PATCH /campaign/{campaignId} Updates the specified campaign's properties.
GET /campaign/boost/{externalCampaignId}/fast-bid-multiplier Returns the fast bid multiplier currently applied to an external booster campaign.
PUT /campaign/boost/{externalCampaignId}/fast-bid-multiplier Sets the fast bid multiplier for a single external booster campaign to an arbitrary value.
GET /campaign/monitor Exercises the rapid-bag pipeline with a synthetic user profile so the health of the campaign monitoring path can be probed externally.
POST /campaign/{campaignId}/pause Pauses the specified campaign.
POST /campaign/boost/preheat Triggers a preheat pass for the boost subsystem so warm caches are ready before traffic spikes.
GET /campaigns Queries campaigns with optional filtering, sorting, and pagination.
POST /campaign/{campaignId}/resume Resumes the specified campaign.
PUT /campaign/boost/global-level Sets or clears the manual global boost level.
PUT /campaign/{campaignId}/program Replaces the campaign's stream program.

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/rapidata-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

rapidata-campaign-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Rapidata Asset Campaign API
  description: The API for the Rapidata Asset service
  version: v1
servers:
- url: https://api.rapidata.ai/
tags:
- name: Campaign
  x-displayName: Campaign
paths:
  /campaign/program:
    post:
      tags:
      - Campaign
      summary: Creates a program campaign from the given stream program.
      description: "The program is validated before the campaign is persisted; a malformed graph\n (missing root, dangling references, cycles, unreachable nodes) is rejected. The\n campaign starts in the Created status; move it to Active to start serving sessions."
      requestBody:
        description: The campaign and its stream program.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProgramCampaignEndpoint_Input'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateProgramCampaignEndpoint_Output'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /campaign/boost/insights:
    get:
      tags:
      - Campaign
      summary: Returns an attributed view of the aggregated boosting profile.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBoostInsightsEndpoint_Output'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /campaign/boost/status:
    get:
      tags:
      - Campaign
      summary: Returns the current boost status including active and inactive campaigns.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBoostStatusEndpoint_Output'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /campaign/{campaignId}:
    get:
      tags:
      - Campaign
      summary: Retrieves the details of a specific campaign.
      parameters:
      - name: campaignId
        in: path
        description: The ID of the campaign.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCampaignByIdEndpoint_Output'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
    patch:
      tags:
      - Campaign
      summary: Updates the specified campaign's properties.
      parameters:
      - name: campaignId
        in: path
        description: The identifier of the campaign to update.
        required: true
        schema:
          type: string
      requestBody:
        description: The properties to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCampaignEndpoint_Input'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /campaign/boost/{externalCampaignId}/fast-bid-multiplier:
    get:
      tags:
      - Campaign
      summary: Returns the fast bid multiplier currently applied to an external booster campaign.
      description: "Returns the downstream system's default (1.0) if the multiplier has never been set\n for the campaign."
      parameters:
      - name: externalCampaignId
        in: path
        description: The external booster campaign id to read.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetFastBidMultiplierEndpoint_Output'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
    put:
      tags:
      - Campaign
      summary: Sets the fast bid multiplier for a single external booster campaign to an arbitrary value.
      description: "Bypasses the level→multiplier mapping. Intended for live testing and one-off\n operational tweaks. Value must be in [0, 50]; 0 effectively pauses delivery on the\n campaign without changing its status. The response reports the multiplier the\n downstream system confirms is applied."
      parameters:
      - name: externalCampaignId
        in: path
        description: The external booster campaign id to update.
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: The desired multiplier value.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetFastBidMultiplierEndpoint_Input'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetFastBidMultiplierEndpoint_Output'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /campaign/monitor:
    get:
      tags:
      - Campaign
      summary: "Exercises the rapid-bag pipeline with a synthetic user profile so the health of\n the campaign monitoring path can be probed externally."
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /campaign/{campaignId}/pause:
    post:
      tags:
      - Campaign
      summary: Pauses the specified campaign.
      parameters:
      - name: campaignId
        in: path
        description: The identifier of the campaign to pause.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /campaign/boost/preheat:
    post:
      tags:
      - Campaign
      summary: "Triggers a preheat pass for the boost subsystem so warm caches are ready before\n traffic spikes."
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /campaigns:
    get:
      tags:
      - Campaign
      summary: Queries campaigns with optional filtering, sorting, and pagination.
      parameters:
      - name: page
        in: query
        description: The 1-based page index.
        schema:
          type: integer
        x-parameter-group: page
      - name: page_size
        in: query
        description: The number of items per page.
        schema:
          type: integer
        x-parameter-group: page
      - name: sort
        in: query
        description: Sort fields. Prefix with - for descending order (e.g. -created_at).
        schema:
          type: array
          items:
            enum:
            - name
            - -name
            - priority
            - -priority
            - status
            - -status
            - created_at
            - -created_at
            type: string
        x-parameter-group: sort
      - name: id
        in: query
        description: Filter by id.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: name
        in: query
        description: Filter by name.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: status
        in: query
        description: Filter by status.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: priority
        in: query
        description: Filter by priority.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: owner_mail
        in: query
        description: Filter by owner_mail.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: created_at
        in: query
        description: Filter by created_at.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: logic
        in: query
        description: 'How to combine the field filters: "and" (default) requires every filter to match, "or" requires any of them to match.'
        schema:
          enum:
          - and
          - or
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryCampaignsEndpoint_PagedResultOfOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /campaign/{campaignId}/resume:
    post:
      tags:
      - Campaign
      summary: Resumes the specified campaign.
      parameters:
      - name: campaignId
        in: path
        description: The identifier of the campaign to resume.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /campaign/boost/global-level:
    put:
      tags:
      - Campaign
      summary: Sets or clears the manual global boost level.
      requestBody:
        description: The manual global boost level to apply. Null clears the manual override.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetManualGlobalBoostLevelEndpoint_Input'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
  /campaign/{campaignId}/program:
    put:
      tags:
      - Campaign
      summary: Replaces the campaign's stream program.
      description: "The program is validated before it is persisted; a malformed graph is rejected.\n The program's version is bumped and republished — running sessions pick up the new\n program on their next response."
      parameters:
      - name: campaignId
        in: path
        description: The identifier of the program campaign.
        required: true
        schema:
          type: string
      requestBody:
        description: The replacement stream program.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateStreamProgramEndpoint_Input'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
components:
  schemas:
    GetBoostInsightsEndpoint_AudienceOutput:
      required:
      - externalAudienceId
      - contributors
      type: object
      properties:
        externalAudienceId:
          type: integer
          format: int32
        contributors:
          type: array
          items:
            $ref: '#/components/schemas/GetBoostInsightsEndpoint_ContributorOutput'
    IProgramNodeModel:
      required:
      - _t
      type: object
      oneOf:
      - $ref: '#/components/schemas/IProgramNodeModelActionNodeModel'
      - $ref: '#/components/schemas/IProgramNodeModelCasesNodeModel'
      discriminator:
        propertyName: _t
        mapping:
          ActionNode: '#/components/schemas/IProgramNodeModelActionNodeModel'
          CasesNode: '#/components/schemas/IProgramNodeModelCasesNodeModel'
    GetBoostInsightsEndpoint_ContributorOutput:
      required:
      - campaignId
      - campaignName
      type: object
      properties:
        campaignId:
          type: string
        campaignName:
          type: string
    ICampaignFilterModelDeviceFilterModel:
      required:
      - deviceTypes
      - _t
      properties:
        _t:
          enum:
          - DeviceFilter
          type: string
        deviceTypes:
          type: array
          items:
            $ref: '#/components/schemas/DeviceType'
    ICampaignFilterModelNewUserFilterModel:
      required:
      - _t
      properties:
        _t:
          enum:
          - NewUserFilter
          type: string
    ICampaignSelectionModelAbTestSelectionModel:
      required:
      - a
      - b
      - _t
      properties:
        _t:
          enum:
          - AbTestSelection
          type: string
        a:
          type: array
          items:
            $ref: '#/components/schemas/ICampaignSelectionModel'
        b:
          type: array
          items:
            $ref: '#/components/schemas/ICampaignSelectionModel'
    ValidationChanceModel:
      required:
      - userScoreThreshold
      - chance
      - rapidCount
      type: object
      properties:
        userScoreThreshold:
          type: number
          format: double
        chance:
          type: number
          format: double
        rapidCount:
          type: integer
          format: int32
        selections:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ICampaignSelectionModel'
    GetBoostInsightsEndpoint_LevelContributorOutput:
      required:
      - campaignId
      - campaignName
      - level
      type: object
      properties:
        campaignId:
          type: string
        campaignName:
          type: string
        level:
          type: integer
          format: int32
    GetBoostInsightsEndpoint_LeveledAudienceOutput:
      required:
      - externalAudienceId
      - effectiveLevel
      - contributors
      type: object
      properties:
        externalAudienceId:
          type: integer
          format: int32
        effectiveLevel:
          type: integer
          format: int32
        contributors:
          type: array
          items:
            $ref: '#/components/schemas/GetBoostInsightsEndpoint_LevelContributorOutput'
    ICampaignFilterModelCampaignSessionCountFilterModel:
      required:
      - sessionCount
      - operator
      - _t
      properties:
        _t:
          enum:
          - CampaignSessionCountFilter
          type: string
        sessionCount:
          type: integer
          format: uint32
        operator:
          $ref: '#/components/schemas/ComparisonOperator'
    UpdateStreamProgramEndpoint_Input:
      required:
      - rootNodeId
      - nodes
      - maxRapids
      - maxDurationSeconds
      type: object
      properties:
        rootNodeId:
          type: string
          description: The node the program's evaluation enters at.
        nodes:
          allOf:
          - type: object
            additionalProperties:
              $ref: '#/components/schemas/IProgramNodeModel'
          description: The program's decision graph, keyed by node id.
        maxRapids:
          type: integer
          description: The session ends after this many counted responses.
          format: int32
        maxDurationSeconds:
          type: integer
          description: The session ends after this many seconds.
          format: int32
    ProgramCaseModel:
      required:
      - predicate
      - nodeId
      type: object
      properties:
        predicate:
          $ref: '#/components/schemas/IProgramPredicateModel'
        nodeId:
          type: string
    RetrievalMode:
      enum:
      - Random
      - Shuffled
      - Sequential
    SetFastBidMultiplierEndpoint_Output:
      required:
      - externalCampaignId
      - appliedMultiplier
      type: object
      properties:
        externalCampaignId:
          type: integer
          description: The external campaign id reported by the downstream system.
          format: int32
        appliedMultiplier:
          type: number
          description: The bid multiplier the downstream system reports as currently applied.
          format: double
    AudienceBoostModel:
      required:
      - externalAudienceId
      - level
      type: object
      properties:
        externalAudienceId:
          type: integer
          format: int32
        level:
          type: integer
          format: int32
    ICampaignFilterModel:
      required:
      - _t
      type: object
      oneOf:
      - $ref: '#/components/schemas/ICampaignFilterModelAndFilterModel'
      - $ref: '#/components/schemas/ICampaignFilterModelAudienceStateFilterModel'
      - $ref: '#/components/schemas/ICampaignFilterModelCampaignCooldownFilterModel'
      - $ref: '#/components/schemas/ICampaignFilterModelCampaignIdFilterModel'
      - $ref: '#/components/schemas/ICampaignFilterModelCampaignSessionCountFilterModel'
      - $ref: '#/components/schemas/ICampaignFilterModelCountryFilterModel'
      - $ref: '#/components/schemas/ICampaignFilterModelDemographicFilterModel'
      - $ref: '#/components/schemas/ICampaignFilterModelDeviceFilterModel'
      - $ref: '#/components/schemas/ICampaignFilterModelLanguageFilterModel'
      - $ref: '#/components/schemas/ICampaignFilterModelNewUserFilterModel'
      - $ref: '#/components/schemas/ICampaignFilterModelNotFilterModel'
      - $ref: '#/components/schemas/ICampaignFilterModelOrFilterModel'
      - $ref: '#/components/schemas/ICampaignFilterModelResponseCountFilterModel'
      - $ref: '#/components/schemas/ICampaignFilterModelUserActionRestrictionFilterModel'
      - $ref: '#/components/schemas/ICampaignFilterModelUserScoreFilterModel'
      discriminator:
        propertyName: _t
        mapping:
          AndFilter: '#/components/schemas/ICampaignFilterModelAndFilterModel'
          AudienceStateFilter: '#/components/schemas/ICampaignFilterModelAudienceStateFilterModel'
          CampaignCooldownFilter: '#/components/schemas/ICampaignFilterModelCampaignCooldownFilterModel'
          CampaignIdFilter: '#/components/schemas/ICampaignFilterModelCampaignIdFilterModel'
          CampaignSessionCountFilter: '#/components/schemas/ICampaignFilterModelCampaignSessionCountFilterModel'
          CountryFilter: '#/components/schemas/ICampaignFilterModelCountryFilterModel'
          DemographicFilter: '#/components/schemas/ICampaignFilterModelDemographicFilterModel'
          DeviceFilter: '#/components/schemas/ICampaignFilterModelDeviceFilterModel'
          LanguageFilter: '#/components/schemas/ICampaignFilterModelLanguageFilterModel'
          NewUserFilter: '#/components/schemas/ICampaignFilterModelNewUserFilterModel'
          NotFilter: '#/components/schemas/ICampaignFilterModelNotFilterModel'
          OrFilter: '#/components/schemas/ICampaignFilterModelOrFilterModel'
          ResponseCountFilter: '#/components/schemas/ICampaignFilterModelResponseCountFilterModel'
          UserActionRestrictionFilter: '#/components/schemas/ICampaignFilterModelUserActionRestrictionFilterModel'
          UserScoreFilter: '#/components/schemas/ICampaignFilterModelUserScoreFilterModel'
    ICampaignSelectionModel:
      required:
      - _t
      type: object
      oneOf:
      - $ref: '#/components/schemas/ICampaignSelectionModelAbTestSelectionModel'
      - $ref: '#/components/schemas/ICampaignSelectionModelAudienceSelectionModel'
      - $ref: '#/components/schemas/ICampaignSelectionModelCappedSelectionModel'
      - $ref: '#/components/schemas/ICampaignSelectionModelConditionalValidationSelectionModel'
      - $ref: '#/components/schemas/ICampaignSelectionModelDemographicSelectionModel'
      - $ref: '#/components/schemas/ICampaignSelectionModelEnforcingSelectionModel'
      - $ref: '#/components/schemas/ICampaignSelectionModelLabelingSelectionModel'
      - $ref: '#/components/schemas/ICampaignSelectionModelShufflingSelectionModel'
      - $ref: '#/components/schemas/ICampaignSelectionModelStaticSelectionModel'
      - $ref: '#/components/schemas/ICampaignSelectionModelValidationSelectionModel'
      discriminator:
        propertyName: _t
        mapping:
          AbTestSelection: '#/components/schemas/ICampaignSelectionModelAbTestSelectionModel'
          AudienceSelection: '#/components/schemas/ICampaignSelectionModelAudienceSelectionModel'
          CappedSelection: '#/components/schemas/ICampaignSelectionModelCappedSelectionModel'
          ConditionalValidationSelection: '#/components/schemas/ICampaignSelectionModelConditionalValidationSelectionModel'
          DemographicSelection: '#/components/schemas/ICampaignSelectionModelDemographicSelectionModel'
          EnforcingSelection: '#/components/schemas/ICampaignSelectionModelEnforcingSelectionModel'
          LabelingSelection: '#/components/schemas/ICampaignSelectionModelLabelingSelectionModel'
          ShufflingSelection: '#/components/schemas/ICampaignSelectionModelShufflingSelectionModel'
          StaticSelection: '#/components/schemas/ICampaignSelectionModelStaticSelectionModel'
          ValidationSelection: '#/components/schemas/ICampaignSelectionModelValidationSelectionModel'
    BoostMode:
      enum:
      - Automatic
      - Manual
    GetBoostInsightsEndpoint_Output:
      required:
      - mode
      - manualOverrideLevel
      - globalBoost
      - prospectBlacklist
      - distillingBoosts
      - labelingBoosts
      type: object
      properties:
        mode:
          allOf:
          - $ref: '#/components/schemas/BoostMode'
          description: The current boost mode.
        manualOverrideLevel:
          type:
          - integer
          - 'null'
          description: The manual override level, if manual mode is active.
          format: int32
        globalBoost:
          allOf:
          - $ref: '#/components/schemas/GetBoostInsightsEndpoint_GlobalBoostOutput'
          description: Global boost insight with contributing campaigns.
        prospectBlacklist:
          allOf:
          - type: array
            items:
              $ref: '#/components/schemas/GetBoostInsightsEndpoint_AudienceOutput'
          description: Prospect blacklist insights.
        distillingBoosts:
          allOf:
          - type: array
            items:
              $ref: '#/components/schemas/GetBoostInsightsEndpoint_LeveledAudienceOutput'
          description: Distilling boost insights.
        labelingBoosts:
          allOf:
          - type: array
            items:
              $ref: '#/components/schemas/GetBoostInsightsEndpoint_LeveledAudienceOutput'
          description: Labeling boost insights.
    ProgramComparisonModel:
      enum:
      - GreaterThanOrEqual
      - GreaterThan
      - LessThanOrEqual
      - LessThan
      - Equal
    ICooldownDurationModelFixedCooldownDurationModel:
      required:
      - duration
      - _t
      properties:
        _t:
          enum:
          - FixedCooldownDuration
          type: string
        duration:
          type: string
          format: date-time
    GetFastBidMultiplierEndpoint_Output:
      required:
      - externalCampaignId
      - bidMultiplierValue
      type: object
      properties:
        externalCampaignId:
          type: integer
          description: The external campaign id reported by the downstream system.
          format: int32
        bidMultiplierValue:
          type: number
          description: The current bid multiplier reported for the campaign.
          format: double
    GetBoostInsightsEndpoint_GlobalBoostOutput:
      required:
      - effectiveLevel
      - contributors
      type: object
      properties:
        effectiveLevel:
          type: integer
          format: int32
        contributors:
          type: array
          items:
            $ref: '#/components/schemas/GetBoostInsightsEndpoint_LevelContributorOutput'
    ICampaignSelectionModelCappedSelectionModel:
      required:
      - selections
      - maxRapids
      - _t
      properties:
        _t:
          enum:
          - CappedSelection
          type: string
        selections:
          type: array
          items:
            $ref: '#/components/schemas/ICampaignSelectionModel'
        maxRapids:
          type: integer
          format: int32
    ICampaignFilterModelCountryFilterModel:
      required:
      - countries
      - _t
      properties:
        _t:
          enum:
          - CountryFilter
          type: string
        countries:
          type: array
          items:
            type: string
    ICampaignFilterModelCampaignCooldownFilterModel:
      required:
      - cooldown
      - _t
      properties:
        _t:
          enum:
          - CampaignCooldownFilter
          type: string
        cooldown:
          $ref: '#/components/schemas/I

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