Ad Configuration v2
Reference for the Ad Configuration v2 endpoints on Roblox.
Base URL: https://adconfiguration.roblox.com
Endpoints
Section titled “Endpoints”| 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 |
getSponsoredCampaigns
Section titled “getSponsoredCampaigns”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? */});Parameters
Section titled “Parameters”| 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 |
Response
Section titled “Response”| 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 |
Errors
Section titled “Errors”| 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. |
postSponsoredCampaignsCreate
Section titled “postSponsoredCampaignsCreate”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: { /* ... */ }});Request Body
Section titled “Request 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” |
Response
Section titled “Response”Type: integer
Errors
Section titled “Errors”| 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. |
getSponsoredCampaignsEligibleAssetTypeIds
Section titled “getSponsoredCampaignsEligibleAssetTypeIds”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);Response
Section titled “Response”Type: number[]
Errors
Section titled “Errors”| 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: { /* ... */ }});Request Body
Section titled “Request Body”| Field | Type | Description |
|---|---|---|
campaignTargetTypes |
`0 | 1 |
groupId |
number |
Response
Section titled “Response”| Field | Type | Description |
|---|---|---|
campaignTargetModels |
object[] |
See below |
campaignTargetModels[] item fields:
| Field | Type | Description |
|---|---|---|
campaignTargetType |
`“Undefined” | “Universe” |
campaignTargetId |
number |
|
name |
string |
Errors
Section titled “Errors”| 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 */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
campaignTargetType |
unknown |
Yes | Ads.Management.Service.CampaignTargetType. |
campaignTargetIds |
number |
Yes | The IDs of the campaign targets. |
Response
Section titled “Response”Type: boolean
Errors
Section titled “Errors”| Status | Description |
|---|---|
| 400 | Bad Request |
| 401 | 0: Authorization has been denied for this request. |
| 403 | Forbidden |
| 500 | Server Error |
postSponsoredCampaignsStop
Section titled “postSponsoredCampaignsStop”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: { /* ... */ }});Request Body
Section titled “Request Body”| Field | Type | Description |
|---|---|---|
adSetId |
number |
Response
Section titled “Response”Type: integer
Errors
Section titled “Errors”| 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. |
getSponsoredGames
Section titled “getSponsoredGames”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? */});Parameters
Section titled “Parameters”| 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. |
Response
Section titled “Response”| 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 |
Errors
Section titled “Errors”| 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. |
postSponsoredGamesCreate
Section titled “postSponsoredGamesCreate”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: { /* ... */ }});Request Body
Section titled “Request 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 |
Response
Section titled “Response”Type: unknown
Errors
Section titled “Errors”| 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. |
postSponsoredGamesStop
Section titled “postSponsoredGamesStop”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: { /* ... */ }});Request Body
Section titled “Request Body”| Field | Type | Description |
|---|---|---|
adSetId |
number |
Response
Section titled “Response”Type: unknown
Errors
Section titled “Errors”| 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. |
getSponsoredGamesUniverses
Section titled “getSponsoredGamesUniverses”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? */});Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
groupId |
integer? |
No | The group id, if applicable. |
Response
Section titled “Response”| Field | Type | Description |
|---|---|---|
universes |
object[] |
See below |
universes[] item fields:
| Field | Type | Description |
|---|---|---|
id |
number |
|
name |
string |
Errors
Section titled “Errors”| Status | Description |
|---|---|
| 400 | 19: Invalid group id. |
| 401 | 0: Authorization has been denied for this request. |
| 403 | 10: Insufficient permissions. |