Skip to content

Ad Configuration v2

Reference for the Ad Configuration v2 endpoints on Roblox.

Base URL: https://adconfiguration.roblox.com

Method Path Name
GET /v2/sponsored-campaigns getSponsoredCampaigns
POST /v2/sponsored-campaigns/create postSponsoredCampaignsCreate
GET /v2/sponsored-campaigns/eligible-asset-type-ids getSponsoredCampaignsEligibleAssetTypeIds
POST /v2/sponsored-campaigns/eligible-campaign-targets postSponsoredCampaignsEligibleCampaignTargets
GET /v2/sponsored-campaigns/multi-get-can-user-sponsor getSponsoredCampaignsMultiGetCanUserSponsor
POST /v2/sponsored-campaigns/stop postSponsoredCampaignsStop
GET /v2/sponsored-games getSponsoredGames
POST /v2/sponsored-games/create postSponsoredGamesCreate
POST /v2/sponsored-games/stop postSponsoredGamesStop
GET /v2/sponsored-games/universes getSponsoredGamesUniverses

GET /v2/sponsored-campaigns

Gets a page of Roblox.AdConfiguration.Api.SponsoredCampaignModel with specified input parameters.

Usage
import { fetchApi } from 'rozod';
import { getSponsoredCampaigns } from 'rozod/endpoints/adconfigurationv2';
const data = await fetchApi(getSponsoredCampaigns, {
campaignTargetType: /* unknown */,
campaignTargetId: /* integer */,
includeReportingStats: /* boolean? */,
isArchived: /* boolean? */,
pageCursor: /* string? */
});
Name Type Required Description
campaignTargetType unknown Yes The campaign target type enum value
campaignTargetId integer Yes The id of the campaign target
includeReportingStats boolean? No Indicates whether to include reporting stats in the response
isArchived boolean? No Indicates whether to retrieve archived ads
pageCursor string? No The cursor of the page to retrieve. If empty, fetches the first page
Field Type Description
sponsoredCampaigns object[] See below
previousPageCursor string
nextPageCursor string

sponsoredCampaigns[] item fields:

Field Type Description
adId number
adSetId number
adName string
adStatus `“Undefined” “Draft”
creativeType `“Undefined” “Image”
creativeTargetId number
bidAmountInRobux number
budgetInRobux number
adSetStatus `“Undefined” “Draft”
startDate string
endDate string
targetGender `“Undefined” “Male”
targetAgeBracket `“Undefined” “AgeUnder13”
targetDeviceType `“Undefined” “Computer”
campaignTargetType `“Undefined” “Universe”
campaignTargetId number
totalSpendInRobux number
totalImpressions number
totalClicks number
totalConversions number
impressionConversions number
clickConversions number
Status Description
400 22: Invalid campaign target ID.
23: Invalid campaign target type.
401 0: Authorization has been denied for this request.
503 1: This feature is disabled.

POST /v2/sponsored-campaigns/create

Creates a complete ad. Including ad campaign, ad set, escrow, and the ad.

Usage
import { fetchApi } from 'rozod';
import { postSponsoredCampaignsCreate } from 'rozod/endpoints/adconfigurationv2';
const data = await fetchApi(postSponsoredCampaignsCreate, {
body: { /* ... */ }
});
Field Type Description
campaignTargetId number
campaignTargetType `“Undefined” “Universe”
targetGender `“Undefined” “Male”
targetAgeBracket `“Undefined” “AgeUnder13”
startDate string
endDate string
targetDeviceType `“Undefined” “Computer”
campaignName string
dailyBidAmountInRobux number
placementLocation `“Undefined” “GameSort”
creativeModel object See below

creativeModel fields:

Field Type Description
creativeId number
creativeType `“Undefined” “Image”

Type: integer

Status Description
400 2: Daily budget is lower than minimum allowed.
3: Total budget must be greater than 0.
4: Ad name cannot be empty.
5: Start date must not be a future date.
6: End date must be a future date.
7: Start date must be earlier than end date.
8: Total budget does not match daily spend and number of days being scheduled
9: Cannot load the universe for the specified universe id.
11: Invalid target age bracket.
12: Invalid target gender.
13: Invalid target device type.
14: Invalid ad set id.
15: Ad name cannot exceed 255 characters.
16: Insufficient Robux balance.
17: Name has already been taken.
18: Daily budget is higher than maximum allowed.
19: Invalid group id.
20: Number of days scheduled exceeded maximum days allowed.
21: Your experience is currently not eligible for advertising.
22: Invalid campaign target ID.
23: Invalid campaign target type.
24: Invalid creative ID.
25: Invalid creative type.
28: Total budget must be campaign duration * daily bid
29: The target is not eligible for new campaigns
30: Invalid user ID
401 0: Authorization has been denied for this request.
10: Insufficient permissions.
403 0: Token Validation Failed
500 0: An unknown error occurred.
31: Internal server error
503 1: This feature is disabled.

GET /v2/sponsored-campaigns/eligible-asset-type-ids

Get all asset type IDs that are eligible to be sponsored.

Usage
import { fetchApi } from 'rozod';
import { getSponsoredCampaignsEligibleAssetTypeIds } from 'rozod/endpoints/adconfigurationv2';
const data = await fetchApi(getSponsoredCampaignsEligibleAssetTypeIds, undefined);

Type: number[]

Status Description
401 0: Authorization has been denied for this request.
403 10: Insufficient permissions.

postSponsoredCampaignsEligibleCampaignTargets

Section titled “postSponsoredCampaignsEligibleCampaignTargets”

POST /v2/sponsored-campaigns/eligible-campaign-targets

Returns a collection of Roblox.AdConfiguration.Api.Models.CampaignTargetModel that the user is authorized to sponsor, ordered by most recently advertised

Usage
import { fetchApi } from 'rozod';
import { postSponsoredCampaignsEligibleCampaignTargets } from 'rozod/endpoints/adconfigurationv2';
const data = await fetchApi(postSponsoredCampaignsEligibleCampaignTargets, {
body: { /* ... */ }
});
Field Type Description
campaignTargetTypes `0 1
groupId number
Field Type Description
campaignTargetModels object[] See below

campaignTargetModels[] item fields:

Field Type Description
campaignTargetType `“Undefined” “Universe”
campaignTargetId number
name string
Status Description
400 19: Invalid group id.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
10: Insufficient permissions.

getSponsoredCampaignsMultiGetCanUserSponsor

Section titled “getSponsoredCampaignsMultiGetCanUserSponsor”

GET /v2/sponsored-campaigns/multi-get-can-user-sponsor

Checks whether the targets are eligible for sponsorship, and

Usage
import { fetchApi } from 'rozod';
import { getSponsoredCampaignsMultiGetCanUserSponsor } from 'rozod/endpoints/adconfigurationv2';
const data = await fetchApi(getSponsoredCampaignsMultiGetCanUserSponsor, {
campaignTargetType: /* unknown */,
campaignTargetIds: /* number */
});
Name Type Required Description
campaignTargetType unknown Yes Ads.Management.Service.CampaignTargetType.
campaignTargetIds number Yes The IDs of the campaign targets.

Type: boolean

Status Description
400 Bad Request
401 0: Authorization has been denied for this request.
403 Forbidden
500 Server Error

POST /v2/sponsored-campaigns/stop

Stops a sponsored campaign / ad (ad set) from running. Initiated by a user.

Usage
import { fetchApi } from 'rozod';
import { postSponsoredCampaignsStop } from 'rozod/endpoints/adconfigurationv2';
const data = await fetchApi(postSponsoredCampaignsStop, {
body: { /* ... */ }
});
Field Type Description
adSetId number

Type: integer

Status Description
400 10: Insufficient permissions.
14: Invalid ad set id.
31: Internal server error
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
503 1: This feature is disabled.

GET /v2/sponsored-games

Gets a page of Roblox.AdConfiguration.Api.SponsoredGameV2Model with specified input parameters.

Usage
import { fetchApi } from 'rozod';
import { getSponsoredGames } from 'rozod/endpoints/adconfigurationv2';
const data = await fetchApi(getSponsoredGames, {
universeId: /* integer */,
includeReportingStats: /* boolean? */,
isArchived: /* boolean? */,
pageCursor: /* string? */
});
Name Type Required Description
universeId integer Yes The universe id of the ad campaign.
includeReportingStats boolean? No Indicates whether to include reporting stats in the response.
isArchived boolean? No Indicates whether to retrieve archived ads.
pageCursor string? No The cursor of the page to retrieve.
Field Type Description
sponsoredGames object[] See below
previousPageCursor string
nextPageCursor string

sponsoredGames[] item fields:

Field Type Description
adId number
adSetId number
adName string
adStatus `“Undefined” “Draft”
creativeType `“Undefined” “Image”
creativeTargetId number
creativeUrl string
bidAmountInRobux number
budgetInRobux number
adSetStatus `“Undefined” “Draft”
startDate string
endDate string
targetGender `“Undefined” “Male”
targetAgeBracket `“Undefined” “AgeUnder13”
targetDeviceType `“Undefined” “Computer”
campaignTargetType `“Undefined” “Universe”
campaignTargetId number
totalSpendInRobux number
totalImpressions number
totalClicks number
totalConversions number
impressionConversions number
clickConversions number
Status Description
400 9: Cannot load the universe for the specified universe id.
9: Cannot load the universe for the specified universe id.
401 0: Authorization has been denied for this request.
503 1: This feature is disabled.

POST /v2/sponsored-games/create

Creates a new sponsored game ad with specified input parameters.

Usage
import { fetchApi } from 'rozod';
import { postSponsoredGamesCreate } from 'rozod/endpoints/adconfigurationv2';
const data = await fetchApi(postSponsoredGamesCreate, {
body: { /* ... */ }
});
Field Type Description
universeId number
targetGender `“Undefined” “Male”
targetAgeBracket `“Undefined” “AgeUnder13”
budgetInRobux number
startDate string
endDate string
targetDeviceType `“Undefined” “Computer”
adName string
bidAmountInRobux number

Type: unknown

Status Description
400 2: Daily budget is lower than minimum allowed.
3: Total budget must be greater than 0.
4: Ad name cannot be empty.
5: Start date must not be a future date.
6: End date must be a future date.
7: Start date must be earlier than end date.
8: Total budget does not match daily spend and number of days being scheduled
9: Cannot load the universe for the specified universe id.
11: Invalid target age bracket.
12: Invalid target gender.
13: Invalid target device type.
14: Invalid ad set id.
15: Ad name cannot exceed 255 characters.
16: Insufficient Robux balance.
17: Name has already been taken.
18: Daily budget is higher than maximum allowed.
19: Invalid group id.
20: Number of days scheduled exceeded maximum days allowed.
21: Your experience is currently not eligible for advertising.
22: Invalid campaign target ID.
23: Invalid campaign target type.
24: Invalid creative ID.
25: Invalid creative type.
28: Total budget must be campaign duration * daily bid
29: The target is not eligible for new campaigns
30: Invalid user ID
401 0: Authorization has been denied for this request.
10: Insufficient permissions.
403 0: Token Validation Failed
500 0: An unknown error occurred.
31: Internal server error
503 1: This feature is disabled.

POST /v2/sponsored-games/stop

To stop a sponsored-game ad (ad set) from running, initiated by a user.

Usage
import { fetchApi } from 'rozod';
import { postSponsoredGamesStop } from 'rozod/endpoints/adconfigurationv2';
const data = await fetchApi(postSponsoredGamesStop, {
body: { /* ... */ }
});
Field Type Description
adSetId number

Type: unknown

Status Description
400 14: Invalid ad set id.
401 0: Authorization has been denied for this request.
403 0: Token Validation Failed
10: Insufficient permissions.
503 1: This feature is disabled.

GET /v2/sponsored-games/universes

Gets a list of universes for the authenticated user, or the given group, ordered by most recently created sponsored game ads.

Usage
import { fetchApi } from 'rozod';
import { getSponsoredGamesUniverses } from 'rozod/endpoints/adconfigurationv2';
const data = await fetchApi(getSponsoredGamesUniverses, {
groupId: /* integer? */
});
Name Type Required Description
groupId integer? No The group id, if applicable.
Field Type Description
universes object[] See below

universes[] item fields:

Field Type Description
id number
name string
Status Description
400 19: Invalid group id.
401 0: Authorization has been denied for this request.
403 10: Insufficient permissions.