Skip to content

Ad Configuration v2

Reference for the Ad Configuration v2 endpoints on Roblox.

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

MethodPathName
GET/v2/sponsored-campaignsgetSponsoredCampaigns
POST/v2/sponsored-campaigns/createpostSponsoredCampaignsCreate
GET/v2/sponsored-campaigns/eligible-asset-type-idsgetSponsoredCampaignsEligibleAssetTypeIds
POST/v2/sponsored-campaigns/eligible-campaign-targetspostSponsoredCampaignsEligibleCampaignTargets
GET/v2/sponsored-campaigns/multi-get-can-user-sponsorgetSponsoredCampaignsMultiGetCanUserSponsor
POST/v2/sponsored-campaigns/stoppostSponsoredCampaignsStop
GET/v2/sponsored-gamesgetSponsoredGames
POST/v2/sponsored-games/createpostSponsoredGamesCreate
POST/v2/sponsored-games/stoppostSponsoredGamesStop
GET/v2/sponsored-games/universesgetSponsoredGamesUniverses

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/lib/endpoints/adconfigurationv2';
const data = await fetchApi(getSponsoredCampaigns, {
campaignTargetType: /* unknown */,
campaignTargetId: /* integer */,
includeReportingStats: /* boolean? */,
isArchived: /* boolean? */,
pageCursor: /* string? */
});
NameTypeRequiredDescription
campaignTargetTypeunknownYesThe campaign target type enum value
campaignTargetIdintegerYesThe id of the campaign target
includeReportingStatsboolean?NoIndicates whether to include reporting stats in the response
isArchivedboolean?NoIndicates whether to retrieve archived ads
pageCursorstring?NoThe cursor of the page to retrieve. If empty, fetches the first page
FieldTypeDescription
sponsoredCampaignsobject[]See below
previousPageCursorstring
nextPageCursorstring

sponsoredCampaigns[] item fields:

FieldTypeDescription
adIdnumber
adSetIdnumber
adNamestring
adStatus`“Undefined""Draft"
creativeType`“Undefined""Image"
creativeTargetIdnumber
bidAmountInRobuxnumber
budgetInRobuxnumber
adSetStatus`“Undefined""Draft"
startDatestring
endDatestring
targetGender`“Undefined""Male"
targetAgeBracket`“Undefined""AgeUnder13"
targetDeviceType`“Undefined""Computer"
campaignTargetType`“Undefined""Universe"
campaignTargetIdnumber
totalSpendInRobuxnumber
totalImpressionsnumber
totalClicksnumber
totalConversionsnumber
impressionConversionsnumber
clickConversionsnumber
StatusDescription
40022: Invalid campaign target ID.
23: Invalid campaign target type.
4010: Authorization has been denied for this request.
5031: 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/lib/endpoints/adconfigurationv2';
const data = await fetchApi(postSponsoredCampaignsCreate, {
body: { /* ... */ }
});
FieldTypeDescription
campaignTargetIdnumber
campaignTargetType`“Undefined""Universe"
targetGender`“Undefined""Male"
targetAgeBracket`“Undefined""AgeUnder13"
startDatestring
endDatestring
targetDeviceType`“Undefined""Computer"
campaignNamestring
dailyBidAmountInRobuxnumber
placementLocation`“Undefined""GameSort"
creativeModelobjectSee below

creativeModel fields:

FieldTypeDescription
creativeIdnumber
creativeType`“Undefined""Image"

Type: integer

StatusDescription
4002: 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
4010: Authorization has been denied for this request.
10: Insufficient permissions.
4030: Token Validation Failed
5000: An unknown error occurred.
31: Internal server error
5031: 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/lib/endpoints/adconfigurationv2';
const data = await fetchApi(getSponsoredCampaignsEligibleAssetTypeIds, undefined);

Type: number[]

StatusDescription
4010: Authorization has been denied for this request.
40310: 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/lib/endpoints/adconfigurationv2';
const data = await fetchApi(postSponsoredCampaignsEligibleCampaignTargets, {
body: { /* ... */ }
});
FieldTypeDescription
campaignTargetTypes`01
groupIdnumber
FieldTypeDescription
campaignTargetModelsobject[]See below

campaignTargetModels[] item fields:

FieldTypeDescription
campaignTargetType`“Undefined""Universe"
campaignTargetIdnumber
namestring
StatusDescription
40019: Invalid group id.
4010: Authorization has been denied for this request.
4030: 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/lib/endpoints/adconfigurationv2';
const data = await fetchApi(getSponsoredCampaignsMultiGetCanUserSponsor, {
campaignTargetType: /* unknown */,
campaignTargetIds: /* number */
});
NameTypeRequiredDescription
campaignTargetTypeunknownYesAds.Management.Service.CampaignTargetType.
campaignTargetIdsnumberYesThe IDs of the campaign targets.

Type: boolean

StatusDescription
400Bad Request
4010: Authorization has been denied for this request.
403Forbidden
500Server 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/lib/endpoints/adconfigurationv2';
const data = await fetchApi(postSponsoredCampaignsStop, {
body: { /* ... */ }
});
FieldTypeDescription
adSetIdnumber

Type: integer

StatusDescription
40010: Insufficient permissions.
14: Invalid ad set id.
31: Internal server error
4010: Authorization has been denied for this request.
4030: Token Validation Failed
5031: 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/lib/endpoints/adconfigurationv2';
const data = await fetchApi(getSponsoredGames, {
universeId: /* integer */,
includeReportingStats: /* boolean? */,
isArchived: /* boolean? */,
pageCursor: /* string? */
});
NameTypeRequiredDescription
universeIdintegerYesThe universe id of the ad campaign.
includeReportingStatsboolean?NoIndicates whether to include reporting stats in the response.
isArchivedboolean?NoIndicates whether to retrieve archived ads.
pageCursorstring?NoThe cursor of the page to retrieve.
FieldTypeDescription
sponsoredGamesobject[]See below
previousPageCursorstring
nextPageCursorstring

sponsoredGames[] item fields:

FieldTypeDescription
adIdnumber
adSetIdnumber
adNamestring
adStatus`“Undefined""Draft"
creativeType`“Undefined""Image"
creativeTargetIdnumber
creativeUrlstring
bidAmountInRobuxnumber
budgetInRobuxnumber
adSetStatus`“Undefined""Draft"
startDatestring
endDatestring
targetGender`“Undefined""Male"
targetAgeBracket`“Undefined""AgeUnder13"
targetDeviceType`“Undefined""Computer"
campaignTargetType`“Undefined""Universe"
campaignTargetIdnumber
totalSpendInRobuxnumber
totalImpressionsnumber
totalClicksnumber
totalConversionsnumber
impressionConversionsnumber
clickConversionsnumber
StatusDescription
4009: Cannot load the universe for the specified universe id.
9: Cannot load the universe for the specified universe id.
4010: Authorization has been denied for this request.
5031: 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/lib/endpoints/adconfigurationv2';
const data = await fetchApi(postSponsoredGamesCreate, {
body: { /* ... */ }
});
FieldTypeDescription
universeIdnumber
targetGender`“Undefined""Male"
targetAgeBracket`“Undefined""AgeUnder13"
budgetInRobuxnumber
startDatestring
endDatestring
targetDeviceType`“Undefined""Computer"
adNamestring
bidAmountInRobuxnumber

Type: unknown

StatusDescription
4002: 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
4010: Authorization has been denied for this request.
10: Insufficient permissions.
4030: Token Validation Failed
5000: An unknown error occurred.
31: Internal server error
5031: 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/lib/endpoints/adconfigurationv2';
const data = await fetchApi(postSponsoredGamesStop, {
body: { /* ... */ }
});
FieldTypeDescription
adSetIdnumber

Type: unknown

StatusDescription
40014: Invalid ad set id.
4010: Authorization has been denied for this request.
4030: Token Validation Failed
10: Insufficient permissions.
5031: 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/lib/endpoints/adconfigurationv2';
const data = await fetchApi(getSponsoredGamesUniverses, {
groupId: /* integer? */
});
NameTypeRequiredDescription
groupIdinteger?NoThe group id, if applicable.
FieldTypeDescription
universesobject[]See below

universes[] item fields:

FieldTypeDescription
idnumber
namestring
StatusDescription
40019: Invalid group id.
4010: Authorization has been denied for this request.
40310: Insufficient permissions.