Advertising

Update a campaign

Changed on

Updates the mutable fields of a campaign. You can change: name, budget.amountMicros, schedule.startTime and schedule.durationInDays (schedule changes are only allowed before the campaign starts), and status. Set status to ACTIVE to run or resume the campaign, PAUSED to pause it, or CANCELLED to cancel it permanently. budget.type cannot be changed — only the amount. A budget increase takes effect immediately, but a budget decrease on a running campaign is scheduled for the next midnight in the account's time zone; while a decrease is pending, the response reports it in budget.scheduledAmountMicros and budget.scheduledEffectiveTime. The fields objective, paymentType, targeting, creativeAssetIds, and bid are fixed after creation and return 400 if included. The updated campaign is returned with its recomputed deliveryStatus.

patch/ads-management/v1/campaigns/{id}

Request

  • Base URL
    https://apis.roblox.com
  • URL
    https://apis.roblox.com/ads-management/v1/campaigns/{id}
  • Auth
    • API key in cookie .ROBLOSECURITY
    • or API key in header x-api-key
    • or OAuth 2
      Authorization code: https://apis.roblox.com/oauth/v1/authorize
      Token URL: https://apis.roblox.com/oauth/v1/token scopes: ad.campaign:write

Path parameters

idstring required

Campaign ID

Request body

creativeAssetIdsstring[]

Immutable in v1; including it returns 400.

namestring

A new display name for the campaign.

status'ACTIVE' | 'PAUSED' | 'CANCELLED'

A lifecycle transition: ACTIVE to run or resume, PAUSED to pause, or CANCELLED to cancel permanently.

Response

OK

billingAccountIdstring

The billing account that owns and funds the campaign.

createTimestring

The time the campaign was created, as an RFC 3339 UTC timestamp.

creativeAssetIdsstring[]

The Open Cloud image asset IDs the campaign advertises, as decimal strings.

deliveryStatus'SERVING' | 'IN_REVIEW' | 'NOT_SERVING' | 'REJECTED'

The current serving state, derived by the system (read-only). Can be SERVING, IN_REVIEW, NOT_SERVING, or REJECTED.

deliveryStatusReasonsstring[]

The 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.

idstring

The server-assigned unique identifier of the campaign.

namestring

The display name of the campaign.

objective'PLAYS' | 'ENGAGEMENT' | 'AWARENESS' | 'REACH' | 'VIDEO_VIEWS' | 'ROBUX_SPEND'

The advertising goal of the campaign. PLAYS or ENGAGEMENT for campaigns created via this API; campaigns from other surfaces may report AWARENESS, REACH, VIDEO_VIEWS, or ROBUX_SPEND.

paymentType'CREDIT_CARD' | 'ADS_CREDIT' | 'INVOICE'

How the campaign is paid for. Fixed when the campaign is created. Can be CREDIT_CARD, ADS_CREDIT, or INVOICE.

status'ACTIVE' | 'PAUSED' | 'CANCELLED'

The lifecycle state you control through update requests. Can be ACTIVE, PAUSED, or CANCELLED. CANCELLED is permanent.

targetUniverseIdstring

The identifier of the experience the campaign advertises.

updateTimestring

The time the campaign was last updated, as an RFC 3339 UTC timestamp.

Changes

    • warning

      added the new ENGAGEMENT enum value to the response property for the response status

    • info

      removed the ENGAGED_PLAYS enum value from the response property for the response status

    • warning

      added the new AWARENESS enum value to the response property for the response status

    • warning

      added the new ENGAGED_PLAYS enum value to the response property for the response status

    • warning

      added the new PLAYS enum value to the response property for the response status

    • warning

      added the new REACH enum value to the response property for the response status

    • warning

      added the new ROBUX_SPEND enum value to the response property for the response status

    • warning

      added the new VIDEO_VIEWS enum value to the response property for the response status

    • info

      removed the ENGAGEMENT enum value from the response property for the response status