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/lib/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/lib/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/lib/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/lib/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/lib/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/lib/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/lib/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/lib/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/lib/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/lib/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. |