Rapidata Campaign API

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

OpenAPI Specification

rapidata-campaign-api-openapi.yml Raw ↑
openapi: 3.0.4
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_GlobalBoostOutput:
      required:
      - effectiveLevel
      - contributors
      type: object
      properties:
        effectiveLevel:
          type: integer
          format: int32
        contributors:
          type: array
          items:
            $ref: '#/components/schemas/GetBoostInsightsEndpoint_LevelContributorOutput'
    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'
    BoostingProfileModel:
      required:
      - globalBoostLevel
      - prospectBlacklist
      - distillingBoosts
      - labelingBoosts
      type: object
      properties:
        globalBoostLevel:
          type: integer
          format: int32
        minAutoAdjustLevel:
          type: integer
          format: int32
          nullable: true
        maxAutoAdjustLevel:
          type: integer
          format: int32
          nullable: true
        prospectBlacklist:
          type: array
          items:
            type: integer
            format: int32
        distillingBoosts:
          type: array
          items:
            $ref: '#/components/schemas/AudienceBoostModel'
        labelingBoosts:
          type: array
          items:
            $ref: '#/components/schemas/AudienceBoostModel'
    ICampaignFilterModelOrFilterModel:
      required:
      - filters
      - _t
      properties:
        _t:
          enum:
          - OrFilter
          type: string
        filters: {}
    GetBoostInsightsEndpoint_LevelContributorOutput:
      required:
      - campaignId
      - campaignName
      - level
      type: object
      properties:
        campaignId:
          type: string
        campaignName:
          type: string
        level:
          type: integer
          format: int32
    ICampaignFilterModelDeviceFilterModel:
      required:
      - deviceTypes
      - _t
      properties:
        _t:
          enum:
          - DeviceFilter
          type: string
        deviceTypes:
          type: array
          items:
            $ref: '#/components/schemas/DeviceType'
    CreateProgramCampaignEndpoint_Output:
      required:
      - campaignId
      type: object
      properties:
        campaignId:
          type: string
          description: The id of the created campaign.
    BoostingControlMode:
      enum:
      - Manual
      - Automatic
    RetrievalMode:
      enum:
      - Random
      - Shuffled
      - Sequential
    ICampaignFilterModelUserActionRestrictionFilterModel:
      required:
      - requiredActions
      - _t
      properties:
        _t:
          enum:
          - UserActionRestrictionFilter
          type: string
        requiredActions: {}
    ICampaignSelectionModelLabelingSelectionModel:
      required:
      - effortBudget
      - retrievalMode
      - _t
      properties:
        _t:
          enum:
          - LabelingSelection
          type: string
        amount:
          type: integer
          format: int32
          nullable: true
        effortBudget:
          type: integer
          format: int32
        retrievalMode:
          $ref: '#/components/schemas/RetrievalMode'
        maxIterations:
          type: integer
          format: int32
          nullable: true
    FeatureFlag:
      required:
      - key
      - value
      type: object
      properties:
        key:
          type: string
        value:
          type: string
    ICampaignFilterModelNotFilterModel:
      required:
      - filter
      - _t
      properties:
        _t:
          enum:
          - NotFilter
          type: string
        filter:
          $ref: '#/components/schemas/ICampaignFilterModel'
    ICampaignSelectionModelDemographicSelectionModel:
      required:
      - keys
      - maxRapids
      - _t
      properties:
        _t:
          enum:
          - DemographicSelection
          type: string
        keys:
          type: array
          items:
            type: string
        probability:
          type: number
          format: double
          nullable: true
        maxRapids:
          type: integer
          format: int32
    AudienceBoostModel:
      required:
      - externalAudienceId
      - level
      type: object
      properties:
        externalAudienceId:
          type: integer
          format: int32
        level:
          type: integer
          format: int32
    IProgramNodeModelActionNodeModel:
      required:
      - action
      - _t
      properties:
        _t:
          enum:
          - ActionNode
          type: string
        action:
          $ref: '#/components/schemas/IProgramActionModel'
    ICampaignSelectionModelAudienceSelectionModel:
      required:
      - audienceId
      - effort
      - retrievalMode
      - _t
      properties:
        _t:
          enum:
          - AudienceSelection
          type: string
        audienceId:
          type: string
        effort:
          type: integer
          format: int32
        retrievalMode:
          $ref: '#/components/schemas/RetrievalMode'
        maxIterations:
          type: integer
          format: int32
          nullable: true
    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'
    ICampaignFilterModelDemographicFilterModel:
      required:
      - identifier
      - values
      - _t
      properties:
        _t:
          enum:
          - DemographicFilter
          type: string
        identifier:
          type: string
        values:
          type: array
          items:
            type: string
    ICampaignSelectionModelEnforcingSelectionModel:
      required:
      - selections
      - minSelections
      - minRapids
      - _t
      properties:
        _t:
          enum:
          - EnforcingSelection
          type: string
        selections:
          type: array
          items:
            $ref: '#/components/schemas/ICampaignSelectionModel'
        minSelections:
          type: integer
          format: int32
        minRapids:
          type: integer
          format: int32
    ICooldownDurationModelRandomCooldownDurationModel:
      required:
      - minDuration
      - maxDuration
      - seedByUserId
      - _t
      properties:
        _t:
          enum:
          - RandomCooldownDuration
          type: string
        minDuration:
          type: string
          format: date-time
        maxDuration:
          type: string
          format: date-time
        seedByUserId:
          type: boolean
    ICampaignFilterModelCampaignSessionCountFilterModel:
      required:
      - sessionCount
      - operator
      - _t
      properties:
        _t:
          enum:
          - CampaignSessionCountFilter
          type: string
        sessionCount:
          type: integer
          format: uint32
        operator:
          $ref: '#/components/schemas/ComparisonOperator'
    IProgramPredicateModelCorrectCountPredicateModel:
      required:
      - comparison
      - value
      - _t
      properties:
        _t:
          enum:
          - CorrectCountPredicate
          type: string
        comparison:
          $ref: '#/components/schemas/ProgramComparisonModel'
        value:
          type: integer
          format: int32
    CampaignStatusModel:
      enum:
      - Created
      - Preview
      - Active
      - Analysis
      - Paused
      - Completed
      - SpendLimited
    ICampaignSelectionModelShufflingSelectionModel:
      required:
      - selections
      - _t
      properties:
        _t:
          enum:
          - ShufflingSelection
          type: string
        selections:
          type: array
          items:
            $ref: '#/components/schemas/ICampaignSelectionModel'
    SetManualGlobalBoostLevelEndpoint_Input:
      type: object
      properties:
        level:
          type: integer
          description: The global boost level. Null disables manual mode and returns to automatic.
          format: int32
          nullable: true
    IProgramActionModelCompleteActionModel:
      required:
      - _t
      properties:
        _t:
          enum:
          - CompleteAction
          type: string
    ComparisonOperator:
      enum:
      - Equal
      - NotEqual
      - LessThan
      - LessThanOrEqual
      - GreaterThan
      - GreaterThanOrEqual
    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'
    IProgramPredicateModelAnsweredCountPredicateModel:
      required:
      - comparison
      - value
      - _t
      properties:
        _t:
          enum:
          - AnsweredCountPredicate
          type: string
        comparison:
          $ref: '#/components/schemas/ProgramComparisonModel'
        value:
          type: integer
          format: int32
    ValidationProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
    UpdateCampaignEndpoint_Input:
      type: object
      properties:
        name:
          type: string
          description: The new name for the campaign.
        priority:
          type: integer
          description: The new priority value for the campaign.
          format: int32
        boostLevel:
          type: integer
          description: "The campaign's boost level. Set 1-10 to boost (the audience service decides whether\n the boost manifests as global, distilling, or labeling based on the campaign's\n filters). Set 0 to clear any existing boost. Ignored when BoostingProfile is\n also set (explicit profile wins)."
          format: int32
        boostingProfile:
          allOf:
          - $ref: '#/components/schemas/BoostingProfileModel'
          description: "The boosting profile configuration. Takes precedence over BoostLevel and\n RequiresBooster when set. Prefer BoostLevel — it lets the server derive\n the right profile (including filtered-audience creation) from the campaign's filters."
        stickyConfig:
          allOf:
          - $ref: '#/components/schemas/StickyConfigModel'
          description: The st

# --- 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