3 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

internal_public_v1.Campaign — openapi

Properties

NameTypeRequiredDescription
bid#/components/schemas/internal_public_v1.Bidfalse
billingAccountIdstringfalseThe billing account that owns and funds the campaign.
budget#/components/schemas/internal_public_v1.Budgetfalse
createTimestringfalseThe time the campaign was created, as an RFC 3339 UTC timestamp.
creativeAssetIdsarrayfalseThe Open Cloud image asset IDs the campaign advertises, as decimal strings.
deliveryStatusstringfalseThe current serving state, derived by the system (read-only). Can be SERVING, IN_REVIEW, NOT_SERVING, or REJECTED.
deliveryStatusReasonsarrayfalseThe reasons behind the current deliveryStatus, such as why a campaign is not serving or was rejected, or LEARNING while a serving campaign ramps up. Omitted when there are none.
idstringfalseThe server-assigned unique identifier of the campaign.
namestringfalseThe display name of the campaign.
objectivestringfalseThe advertising goal of the campaign. PLAYS for campaigns created via this API; campaigns from other surfaces may report AWARENESS, REACH, ENGAGED_PLAYS, VIDEO_VIEWS, or ROBUX_SPEND.
paymentTypestringfalseHow the campaign is paid for. Fixed when the campaign is created. Can be CREDIT_CARD, ADS_CREDIT, or INVOICE.
schedule#/components/schemas/internal_public_v1.Schedulefalse
statusstringfalseThe lifecycle state you control through update requests. Can be ACTIVE, PAUSED, or CANCELLED. CANCELLED is permanent.
targetUniverseIdstringfalseThe identifier of the experience the campaign advertises.
targeting#/components/schemas/internal_public_v1.Targetingfalse
updateTimestringfalseThe time the campaign was last updated, as an RFC 3339 UTC timestamp.

Complete Schema

{
  "type": "object",
  "properties": {
    "bid": {
      "$ref": "#/components/schemas/internal_public_v1.Bid"
    },
    "billingAccountId": {
      "description": "The billing account that owns and funds the campaign.",
      "type": "string"
    },
    "budget": {
      "$ref": "#/components/schemas/internal_public_v1.Budget"
    },
    "createTime": {
      "description": "The time the campaign was created, as an RFC 3339 UTC timestamp.",
      "type": "string"
    },
    "creativeAssetIds": {
      "description": "The Open Cloud image asset IDs the campaign advertises, as decimal strings.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "deliveryStatus": {
      "description": "The current serving state, derived by the system (read-only). Can be `SERVING`,\n`IN_REVIEW`, `NOT_SERVING`, or `REJECTED`.",
      "type": "string",
      "enum": [
        "SERVING",
        "IN_REVIEW",
        "NOT_SERVING",
        "REJECTED"
      ]
    },
    "deliveryStatusReasons": {
      "description": "The reasons behind the current deliveryStatus, such as why a campaign is not\nserving or was rejected, or `LEARNING` while a serving campaign ramps up. Omitted\nwhen there are none.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "SCHEDULED",
          "AUTO_PAUSED",
          "PAUSED",
          "INACTIVE",
          "COMPLETED",
          "EXPIRED",
          "CANCELLED",
          "MODERATED",
          "CLICK_BAIT",
          "GAME_FILTERED",
          "PRIVATE",
          "PLACE_JOIN_RESTRICTED",
          "LEARNING"
        ]
      }
    },
    "id": {
      "description": "The server-assigned unique identifier of the campaign.",
      "type": "string"
    },
    "name": {
      "description": "The display name of the campaign.",
      "type": "string"
    },
    "objective": {
      "description": "The advertising goal of the campaign. `PLAYS` for campaigns created via this API; campaigns from other surfaces may report `AWARENESS`, `REACH`, `ENGAGED_PLAYS`, `VIDEO_VIEWS`, or `ROBUX_SPEND`.",
      "type": "string",
      "enum": [
        "PLAYS",
        "AWARENESS",
        "REACH",
        "ENGAGED_PLAYS",
        "VIDEO_VIEWS",
        "ROBUX_SPEND"
      ]
    },
    "paymentType": {
      "description": "How the campaign is paid for. Fixed when the campaign is created. Can be\n`CREDIT_CARD`, `ADS_CREDIT`, or `INVOICE`.",
      "type": "string",
      "enum": [
        "CREDIT_CARD",
        "ADS_CREDIT",
        "INVOICE"
      ]
    },
    "schedule": {
      "$ref": "#/components/schemas/internal_public_v1.Schedule"
    },
    "status": {
      "description": "The lifecycle state you control through update requests. Can be `ACTIVE`,\n`PAUSED`, or `CANCELLED`. `CANCELLED` is permanent.",
      "type": "string",
      "enum": [
        "ACTIVE",
        "PAUSED",
        "CANCELLED"
      ]
    },
    "targetUniverseId": {
      "description": "The identifier of the experience the campaign advertises.",
      "type": "string"
    },
    "targeting": {
      "$ref": "#/components/schemas/internal_public_v1.Targeting"
    },
    "updateTime": {
      "description": "The time the campaign was last updated, as an RFC 3339 UTC timestamp.",
      "type": "string"
    }
  }
}