mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-24 06:34:09 +00:00
2469 lines
75 KiB
JSON
2469 lines
75 KiB
JSON
{
|
|
"openapi": "3.0.1",
|
|
"info": {
|
|
"title": "Toolbox.Service",
|
|
"version": "1.0",
|
|
"x-roblox-extensions-version": "1.0.0"
|
|
},
|
|
"paths": {
|
|
"/toolbox-service/v2/assets:search": {
|
|
"get": {
|
|
"tags": ["ToolboxService"],
|
|
"summary": "Search Creator Store Assets",
|
|
"description": "Search Creator Store for assets.",
|
|
"parameters": [
|
|
{
|
|
"name": "searchCategoryType",
|
|
"in": "query",
|
|
"description": "The asset type to search within.",
|
|
"required": true,
|
|
"schema": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SearchCategoryType"
|
|
}
|
|
],
|
|
"description": "This represents a \"subset\" of Toolbox.Service.CategoryType options and represent the full set\r\nof \"categories\" (or asset types) that can be searched upon from the toolbox search API.",
|
|
"x-enumNames": [
|
|
"Audio",
|
|
"Model",
|
|
"Decal",
|
|
"Plugin",
|
|
"MeshPart",
|
|
"Video",
|
|
"FontFamily"
|
|
],
|
|
"x-enum-varnames": [
|
|
"Audio",
|
|
"Model",
|
|
"Decal",
|
|
"Plugin",
|
|
"MeshPart",
|
|
"Video",
|
|
"FontFamily"
|
|
],
|
|
"x-enum-descriptions": [
|
|
"Audio",
|
|
"Model",
|
|
"Decal",
|
|
"Plugin",
|
|
"MeshPart",
|
|
"Video",
|
|
"FontFamily"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "query",
|
|
"in": "query",
|
|
"description": "The search terms used to filter the results.",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "modelSubTypes",
|
|
"in": "query",
|
|
"description": "When searching for models, the subtypes associated with the search results.",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ModelSubType"
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
{
|
|
"name": "excludedModelSubTypes",
|
|
"in": "query",
|
|
"description": "When searching for models, the subtypes not associated with the search results.",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ModelSubType"
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
{
|
|
"name": "creator",
|
|
"in": "query",
|
|
"description": "Deprecated: Please refer to the 'userId' and 'groupId' properties instead. The creator type and ID. E.g. \"user/123\" or \"group/456\"",
|
|
"schema": {
|
|
"pattern": "^(user|group)/\\d+$",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "userId",
|
|
"in": "query",
|
|
"description": "The User ID of the creator. Only one of 'userId' and 'groupId' can be present in a query.",
|
|
"schema": {
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"nullable": true
|
|
}
|
|
},
|
|
{
|
|
"name": "groupId",
|
|
"in": "query",
|
|
"description": "The Group ID of the creator. Only one of 'userId' and 'groupId' can be present in a query.",
|
|
"schema": {
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"nullable": true
|
|
}
|
|
},
|
|
{
|
|
"name": "pageToken",
|
|
"in": "query",
|
|
"description": "The identifier for the desired search results page. Only one of 'pageNumber' and 'pageToken' can be present in a query.",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "pageNumber",
|
|
"in": "query",
|
|
"description": "The page number to retrieve, starting from 0. Only one of 'pageNumber' and 'pageToken' can be present in a query.",
|
|
"schema": {
|
|
"maximum": 2147483647,
|
|
"minimum": 0,
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"nullable": true
|
|
}
|
|
},
|
|
{
|
|
"name": "maxPageSize",
|
|
"in": "query",
|
|
"description": "The number of assets to be returned. Cannot be larger than 100.",
|
|
"schema": {
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"default": 25
|
|
}
|
|
},
|
|
{
|
|
"name": "sortDirection",
|
|
"in": "query",
|
|
"description": "The sort direction of the search results.",
|
|
"schema": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SortDirection"
|
|
}
|
|
],
|
|
"description": "Represents the direction in which to sort the results",
|
|
"default": "None",
|
|
"x-enumNames": ["None", "Ascending", "Descending"],
|
|
"x-enum-varnames": ["None", "Ascending", "Descending"],
|
|
"x-enum-descriptions": ["None", "Ascending", "Descending"]
|
|
}
|
|
},
|
|
{
|
|
"name": "sortCategory",
|
|
"in": "query",
|
|
"description": "The category to sort the search results by.",
|
|
"schema": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SortCategory"
|
|
}
|
|
],
|
|
"description": "The category to sort the search results by.",
|
|
"default": "Relevance",
|
|
"x-enumNames": [
|
|
"Relevance",
|
|
"Trending",
|
|
"Top",
|
|
"AudioDuration",
|
|
"CreateTime",
|
|
"UpdatedTime",
|
|
"Ratings"
|
|
],
|
|
"x-enum-varnames": [
|
|
"Relevance",
|
|
"Trending",
|
|
"Top",
|
|
"AudioDuration",
|
|
"CreateTime",
|
|
"UpdatedTime",
|
|
"Ratings"
|
|
],
|
|
"x-enum-descriptions": [
|
|
"Relevance",
|
|
"Trending",
|
|
"Top",
|
|
"AudioDuration",
|
|
"CreateTime",
|
|
"UpdatedTime",
|
|
"Ratings"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "audioMinDurationSeconds",
|
|
"in": "query",
|
|
"description": "When searching for audio, the minimum duration of the audio assets. If included, must be greater than or equal to 0.",
|
|
"schema": {
|
|
"maximum": 2147483647,
|
|
"minimum": 0,
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "audioMaxDurationSeconds",
|
|
"in": "query",
|
|
"description": "When searching for audio, the maximum duration of the audio assets. If included, must be greater than or equal to 0.",
|
|
"schema": {
|
|
"maximum": 2147483647,
|
|
"minimum": 1,
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"nullable": true
|
|
}
|
|
},
|
|
{
|
|
"name": "audioArtist",
|
|
"in": "query",
|
|
"description": "When searching for audio, the artist name of the audio assets.",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "audioAlbum",
|
|
"in": "query",
|
|
"description": "When searching for audio, the album name of the audio assets.",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "includeTopCharts",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"nullable": true
|
|
}
|
|
},
|
|
{
|
|
"name": "audioTypes",
|
|
"in": "query",
|
|
"description": "When searching for audio, the type of the audio assets.",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SearchAudioTypeModel"
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
{
|
|
"name": "includedInstanceTypes",
|
|
"in": "query",
|
|
"description": "When searching for models, this filters that the following [Instance](https://create.roblox.com/docs/reference/engine/classes/Instance) types are included in the model.",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ModelInstanceType"
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
{
|
|
"name": "includeOnlyVerifiedCreators",
|
|
"in": "query",
|
|
"description": "Whether the results should only include assets created by verified creators.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"name": "minPriceCents",
|
|
"in": "query",
|
|
"description": "The minimum price of the asset in cents. If included, must be greater than or equal to 0.",
|
|
"schema": {
|
|
"maximum": 2147483647,
|
|
"minimum": 0,
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "maxPriceCents",
|
|
"in": "query",
|
|
"description": "The maximum price of the asset in cents. If included, must be greater than or equal to 0.",
|
|
"schema": {
|
|
"maximum": 2147483647,
|
|
"minimum": 0,
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"nullable": true
|
|
}
|
|
},
|
|
{
|
|
"name": "facets",
|
|
"in": "query",
|
|
"description": "Additional keywords to query by.",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
{
|
|
"name": "categoryPath",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "searchView",
|
|
"in": "query",
|
|
"description": "Indicates which fields will be populated in the response.",
|
|
"schema": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SearchView"
|
|
}
|
|
],
|
|
"description": "This view controls which fields are populated in the search response. A lighter\r\nview will result in faster response times and higher reliability.",
|
|
"default": "Core",
|
|
"x-enumNames": ["IDs", "Core", "Full"],
|
|
"x-enum-varnames": ["IDs", "Core", "Full"],
|
|
"x-enum-descriptions": ["IDs", "Core", "Full"]
|
|
}
|
|
},
|
|
{
|
|
"name": "musicChartType",
|
|
"in": "query",
|
|
"description": "Indicates which music charts to filter from.",
|
|
"schema": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/MusicChartType"
|
|
}
|
|
],
|
|
"description": "Represents which music chart to pull entries from, if any",
|
|
"default": "None",
|
|
"x-enumNames": ["None", "Current", "Week", "Month", "Year"],
|
|
"x-enum-varnames": ["None", "Current", "Week", "Month", "Year"],
|
|
"x-enum-descriptions": [
|
|
"None",
|
|
"Current",
|
|
"Week",
|
|
"Month",
|
|
"Year"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SearchCreatorStoreAssetsResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ProblemDetails"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/HttpValidationProblemDetails"
|
|
}
|
|
],
|
|
"nullable": true
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"429": {
|
|
"description": "Too Many Requests",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ProblemDetails"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/HttpValidationProblemDetails"
|
|
}
|
|
],
|
|
"nullable": true
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Server Error"
|
|
}
|
|
},
|
|
"x-roblox-engine-usability": {
|
|
"apiKeyWithHttpService": true
|
|
},
|
|
"x-roblox-stability": "BETA",
|
|
"x-roblox-rate-limits": {
|
|
"perApiKeyOwner": {
|
|
"period": "MINUTE",
|
|
"maxInPeriod": 1000
|
|
}
|
|
},
|
|
"x-roblox-scopes": [
|
|
{
|
|
"name": "creator-store-product:read"
|
|
}
|
|
],
|
|
"security": [
|
|
{
|
|
"roblox-legacy-cookie": []
|
|
},
|
|
{
|
|
"roblox-api-key": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/toolbox-service/v2/assets/{id}": {
|
|
"get": {
|
|
"tags": ["ToolboxService"],
|
|
"summary": "Get Creator Store Asset Details",
|
|
"description": "Get details for a single Creator Store asset.",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"description": "The asset ID to retrieve details for.",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreatorStoreAsset"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ProblemDetails"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/HttpValidationProblemDetails"
|
|
}
|
|
],
|
|
"nullable": true
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ProblemDetails"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/HttpValidationProblemDetails"
|
|
}
|
|
],
|
|
"nullable": true
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"429": {
|
|
"description": "Too Many Requests",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ProblemDetails"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/HttpValidationProblemDetails"
|
|
}
|
|
],
|
|
"nullable": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-roblox-engine-usability": {
|
|
"apiKeyWithHttpService": true
|
|
},
|
|
"x-roblox-stability": "BETA",
|
|
"x-roblox-rate-limits": {
|
|
"perApiKeyOwner": {
|
|
"period": "MINUTE",
|
|
"maxInPeriod": 1000
|
|
}
|
|
},
|
|
"x-roblox-scopes": [
|
|
{
|
|
"name": "creator-store-product:read"
|
|
}
|
|
],
|
|
"security": [
|
|
{
|
|
"roblox-legacy-cookie": []
|
|
},
|
|
{
|
|
"roblox-api-key": []
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"schemas": {
|
|
"Asset": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"description": "The unique identifier of the asset.",
|
|
"format": "int64"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the asset.",
|
|
"nullable": true
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the asset.",
|
|
"nullable": true
|
|
},
|
|
"assetTypeId": {
|
|
"type": "integer",
|
|
"description": "The type that the asset belongs to.",
|
|
"format": "int32",
|
|
"nullable": true
|
|
},
|
|
"socialLinks": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SocialLinkModel"
|
|
},
|
|
"description": "The social links associated with the asset.",
|
|
"nullable": true
|
|
},
|
|
"previewAssets": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/PreviewAssetsModel"
|
|
}
|
|
],
|
|
"description": "The asset's preview asset ids grouped by asset type.",
|
|
"nullable": true
|
|
},
|
|
"createTime": {
|
|
"type": "string",
|
|
"description": "The time the asset was created.",
|
|
"format": "date-time",
|
|
"nullable": true
|
|
},
|
|
"updateTime": {
|
|
"type": "string",
|
|
"description": "The time the asset was last updated.",
|
|
"format": "date-time",
|
|
"nullable": true
|
|
},
|
|
"categoryPath": {
|
|
"type": "string",
|
|
"description": "Category Path of the asset, if it exists.\r\ne.g. \"3d__characters\"",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Representation of an asset.",
|
|
"nullable": true
|
|
},
|
|
"AssetSubType": {
|
|
"enum": ["Invalid", "Ad", "MaterialPack", "Package"],
|
|
"type": "string",
|
|
"x-enumNames": ["Invalid", "Ad", "MaterialPack", "Package"],
|
|
"x-enum-varnames": ["Invalid", "Ad", "MaterialPack", "Package"],
|
|
"x-enum-descriptions": ["Invalid", "Ad", "MaterialPack", "Package"]
|
|
},
|
|
"Audio": {
|
|
"type": "object",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Asset"
|
|
}
|
|
],
|
|
"properties": {
|
|
"durationSeconds": {
|
|
"type": "integer",
|
|
"description": "The duration of the audio file in seconds.",
|
|
"format": "int32"
|
|
},
|
|
"audioType": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SearchAudioTypeModel"
|
|
}
|
|
],
|
|
"description": "The type of audio (Music or SoundEffect).",
|
|
"deprecated": true,
|
|
"x-enumNames": ["Music", "SoundEffect"],
|
|
"x-enum-varnames": ["Music", "SoundEffect"],
|
|
"x-enum-descriptions": ["Music", "SoundEffect"]
|
|
},
|
|
"artist": {
|
|
"type": "string",
|
|
"description": "The audio artist.",
|
|
"nullable": true
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The audio title.",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Representation of an audio asset.",
|
|
"nullable": true
|
|
},
|
|
"AudioType": {
|
|
"enum": [0, 1, 2],
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"x-enumNames": ["Music", "SoundEffect", "Unknown"],
|
|
"x-enum-varnames": ["Music", "SoundEffect", "Unknown"],
|
|
"x-enum-descriptions": ["Music", "SoundEffect", "Unknown"]
|
|
},
|
|
"CorrectionState": {
|
|
"enum": [0, 1, 2],
|
|
"type": "integer",
|
|
"description": "Determines the state of the Toolbox response depending on spell checking status and the input arguments.",
|
|
"format": "int32",
|
|
"x-enumNames": [
|
|
"NoCorrection",
|
|
"CorrectionAvailable",
|
|
"CorrectionAccepted"
|
|
],
|
|
"x-enum-varnames": [
|
|
"NoCorrection",
|
|
"CorrectionAvailable",
|
|
"CorrectionAccepted"
|
|
],
|
|
"x-enum-descriptions": [
|
|
"NoCorrection",
|
|
"CorrectionAvailable",
|
|
"CorrectionAccepted"
|
|
]
|
|
},
|
|
"CreatorModelV2": {
|
|
"type": "object",
|
|
"properties": {
|
|
"creator": {
|
|
"type": "string",
|
|
"description": "Deprecated: Please refer to the 'userId' and 'groupId' properties instead.\r\nThe creator type and ID. E.g. user/123 or group/456.",
|
|
"nullable": true,
|
|
"deprecated": true
|
|
},
|
|
"userId": {
|
|
"type": "integer",
|
|
"description": "The User ID of the creator. Required if the asset is individual-user-owned.",
|
|
"format": "int64",
|
|
"nullable": true
|
|
},
|
|
"groupId": {
|
|
"type": "integer",
|
|
"description": "The Group ID. Required if the asset is group-owned.",
|
|
"format": "int64",
|
|
"nullable": true
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The creator's name.",
|
|
"nullable": true
|
|
},
|
|
"verified": {
|
|
"type": "boolean",
|
|
"description": "Whether the creator is verified.",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Model representing a creator.",
|
|
"nullable": true
|
|
},
|
|
"CreatorStoreAsset": {
|
|
"type": "object",
|
|
"properties": {
|
|
"voting": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/VotingModel"
|
|
}
|
|
],
|
|
"description": "The asset's voting details.",
|
|
"nullable": true
|
|
},
|
|
"creator": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/CreatorModelV2"
|
|
}
|
|
],
|
|
"description": "The asset creator's details.",
|
|
"nullable": true
|
|
},
|
|
"creatorStoreProduct": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/CreatorStoreProduct"
|
|
}
|
|
],
|
|
"description": "The asset's product details.",
|
|
"nullable": true
|
|
},
|
|
"asset": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Asset"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Audio"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Decal"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/MeshPart"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Model"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Music"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Plugin"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SoundEffect"
|
|
}
|
|
],
|
|
"description": "The asset information.",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Representation of a creator store asset.",
|
|
"nullable": true
|
|
},
|
|
"CreatorStoreProduct": {
|
|
"type": "object",
|
|
"properties": {
|
|
"purchasePrice": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Money"
|
|
}
|
|
],
|
|
"description": "The price of the asset, including the currency code.",
|
|
"nullable": true
|
|
},
|
|
"purchasable": {
|
|
"type": "boolean",
|
|
"description": "Whether or not the asset can be purchased in the Creator Store."
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "The asset's creator store product information.",
|
|
"nullable": true
|
|
},
|
|
"CreatorType": {
|
|
"enum": [1, 2, 3],
|
|
"type": "integer",
|
|
"description": "Creator Type for querying",
|
|
"format": "int32",
|
|
"x-enumNames": ["User", "Group", "Invalid"],
|
|
"x-enum-varnames": ["User", "Group", "Invalid"],
|
|
"x-enum-descriptions": ["User", "Group", "Invalid"]
|
|
},
|
|
"Decal": {
|
|
"type": "object",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Asset"
|
|
}
|
|
],
|
|
"properties": {
|
|
"textureId": {
|
|
"type": "integer",
|
|
"description": "The texture id of the decal.",
|
|
"format": "int64"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Representation of a decal asset.",
|
|
"nullable": true
|
|
},
|
|
"Decimal": {
|
|
"type": "object",
|
|
"properties": {
|
|
"significand": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"exponent": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"nullable": true
|
|
},
|
|
"FilterSortRange": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ascending": {
|
|
"type": "boolean"
|
|
},
|
|
"minA": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"nullable": true
|
|
},
|
|
"minB": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"nullable": true
|
|
},
|
|
"maxA": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"nullable": true
|
|
},
|
|
"maxB": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"nullable": true
|
|
},
|
|
"keyword": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"value": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"byteValue": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"startDateTime": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"endDateTime": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"nullable": true
|
|
},
|
|
"HomeAssetsResponse": {
|
|
"type": "object",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ToolboxItemApiPageResponse"
|
|
}
|
|
],
|
|
"properties": {
|
|
"totalResults": {
|
|
"type": "integer",
|
|
"description": "Gets or sets total results",
|
|
"format": "int64"
|
|
},
|
|
"searchDebugInfo": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ISearchDebugInfo"
|
|
}
|
|
],
|
|
"description": "Gets or sets the search infra debug info",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Response from the HomeController's Assets endpoints",
|
|
"nullable": true
|
|
},
|
|
"HttpValidationProblemDetails": {
|
|
"type": "object",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ProblemDetails"
|
|
}
|
|
],
|
|
"properties": {
|
|
"errors": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"nullable": true
|
|
},
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": {
|
|
"nullable": true
|
|
},
|
|
"nullable": true
|
|
},
|
|
"ISearchDebugInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"libraryQueryOptions": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/components/schemas/LibraryQueryOptions"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/QueryOptionConfigElement"
|
|
}
|
|
],
|
|
"description": "Class passed to ToolboxItemStore when querying",
|
|
"nullable": true,
|
|
"readOnly": true
|
|
},
|
|
"serializedCcsSearchResponseDebugInfo": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"readOnly": true
|
|
},
|
|
"additionalImplData": {
|
|
"type": "object",
|
|
"properties": {
|
|
"SND_INFRA_ALGORITHM_NAME": {
|
|
"nullable": true
|
|
},
|
|
"SND_INFRA_BLENDERS": {
|
|
"nullable": true
|
|
},
|
|
"ELASTIC_SEARCH_EXPLANATIONS": {
|
|
"nullable": true
|
|
},
|
|
"ELASTIC_SEARCH_DOCUMENTS": {
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"nullable": true,
|
|
"readOnly": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"nullable": true
|
|
},
|
|
"ImageSearchStatus": {
|
|
"enum": [0, 1, 2, 3],
|
|
"type": "integer",
|
|
"description": "Enum representing possible outcomes of image search",
|
|
"format": "int32",
|
|
"x-enumNames": [
|
|
"Success",
|
|
"InputImageFiltered",
|
|
"FailedImageConversion",
|
|
"ImageSearchDisabled"
|
|
],
|
|
"x-enum-varnames": [
|
|
"Success",
|
|
"InputImageFiltered",
|
|
"FailedImageConversion",
|
|
"ImageSearchDisabled"
|
|
],
|
|
"x-enum-descriptions": [
|
|
"Success",
|
|
"InputImageFiltered",
|
|
"FailedImageConversion",
|
|
"ImageSearchDisabled"
|
|
]
|
|
},
|
|
"InstanceCounts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"script": {
|
|
"type": "integer",
|
|
"description": "The number of Script instances.",
|
|
"format": "int32"
|
|
},
|
|
"meshPart": {
|
|
"type": "integer",
|
|
"description": "The number of MeshPart instances.",
|
|
"format": "int32"
|
|
},
|
|
"animation": {
|
|
"type": "integer",
|
|
"description": "The number of Animation instances.",
|
|
"format": "int32"
|
|
},
|
|
"decal": {
|
|
"type": "integer",
|
|
"description": "The number of Decal instances.",
|
|
"format": "int32"
|
|
},
|
|
"audio": {
|
|
"type": "integer",
|
|
"description": "The number of Audio instances.",
|
|
"format": "int32"
|
|
},
|
|
"tool": {
|
|
"type": "integer",
|
|
"description": "The number of Tool instances.",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Represents the count of various instance types within an asset.\r\nSee [Instance](https://create.roblox.com/docs/reference/engine/classes/Instance).",
|
|
"nullable": true
|
|
},
|
|
"LibraryQueryOptions": {
|
|
"type": "object",
|
|
"properties": {
|
|
"contextMatch": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"isMultiplicativeSearchEnabled": {
|
|
"type": "boolean",
|
|
"nullable": true
|
|
},
|
|
"sortByRankingScore": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SortByRankingScore"
|
|
}
|
|
],
|
|
"nullable": true
|
|
},
|
|
"assetAnalysisScores": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/ThresholdWithFallback"
|
|
},
|
|
"nullable": true
|
|
},
|
|
"assetStats": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/ThresholdWithFallback"
|
|
},
|
|
"nullable": true
|
|
},
|
|
"excludeModeratedAssets": {
|
|
"type": "boolean",
|
|
"nullable": true
|
|
},
|
|
"includeOnlyValidCreators": {
|
|
"type": "boolean",
|
|
"nullable": true
|
|
},
|
|
"filterForVisibleAssets": {
|
|
"type": "boolean",
|
|
"nullable": true
|
|
},
|
|
"includeHumanEvaluationVerifiedOnly": {
|
|
"type": "boolean",
|
|
"nullable": true
|
|
},
|
|
"filterOutHumanEvaluationVerifiedMalicious": {
|
|
"type": "boolean",
|
|
"nullable": true
|
|
},
|
|
"filterOutLowQualityThumbnails": {
|
|
"type": "boolean",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Class passed to ToolboxItemStore when querying",
|
|
"nullable": true
|
|
},
|
|
"LinkType": {
|
|
"enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"x-enumNames": [
|
|
"Invalid",
|
|
"Facebook",
|
|
"Twitter",
|
|
"Youtube",
|
|
"Twitch",
|
|
"Discord",
|
|
"Github",
|
|
"Guilded",
|
|
"Roblox",
|
|
"Devforum",
|
|
"TryInExperience"
|
|
],
|
|
"x-enum-varnames": [
|
|
"Invalid",
|
|
"Facebook",
|
|
"Twitter",
|
|
"Youtube",
|
|
"Twitch",
|
|
"Discord",
|
|
"Github",
|
|
"Guilded",
|
|
"Roblox",
|
|
"Devforum",
|
|
"TryInExperience"
|
|
],
|
|
"x-enum-descriptions": [
|
|
"Invalid",
|
|
"Facebook",
|
|
"Twitter",
|
|
"Youtube",
|
|
"Twitch",
|
|
"Discord",
|
|
"Github",
|
|
"Guilded",
|
|
"Roblox",
|
|
"Devforum",
|
|
"TryInExperience"
|
|
]
|
|
},
|
|
"MeshPart": {
|
|
"type": "object",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Asset"
|
|
}
|
|
],
|
|
"properties": {
|
|
"meshId": {
|
|
"type": "integer",
|
|
"description": "The mesh id of the meshpart.",
|
|
"format": "int64"
|
|
},
|
|
"textureId": {
|
|
"type": "integer",
|
|
"description": "The texture id of the meshpart.",
|
|
"format": "int64"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Representation of a mesh asset.",
|
|
"nullable": true
|
|
},
|
|
"Model": {
|
|
"type": "object",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Asset"
|
|
}
|
|
],
|
|
"properties": {
|
|
"subTypes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ModelSubType"
|
|
},
|
|
"description": "The subtypes that the model belongs to.",
|
|
"nullable": true
|
|
},
|
|
"hasScripts": {
|
|
"type": "boolean",
|
|
"description": "Whether the model has scripts."
|
|
},
|
|
"scriptCount": {
|
|
"type": "integer",
|
|
"description": "The number of scripts that are in the model.",
|
|
"format": "int32"
|
|
},
|
|
"objectMeshSummary": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ObjectMeshSummary"
|
|
}
|
|
],
|
|
"description": "The summary of the meshes within the model, if they exist.",
|
|
"nullable": true
|
|
},
|
|
"instanceCounts": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/InstanceCounts"
|
|
}
|
|
],
|
|
"description": "The number of studio Instance types in the model.\r\nSee [Instance](https://create.roblox.com/docs/reference/engine/classes/Instance).\r\nThese are broken down into specific types, such as MeshPart, Part, Script,\r\nTool, Animation, etc.",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Representation of a model asset.",
|
|
"nullable": true
|
|
},
|
|
"ModelInstanceType": {
|
|
"enum": ["Script", "MeshPart", "Decal", "Animation", "Audio", "Tool"],
|
|
"type": "string",
|
|
"description": "A list of model instance types. See Toolbox.Service.Models.Internal.InstanceCounts and [Instance](https://create.roblox.com/docs/reference/engine/classes/Instance) for more details.",
|
|
"x-enumNames": [
|
|
"Script",
|
|
"MeshPart",
|
|
"Decal",
|
|
"Animation",
|
|
"Audio",
|
|
"Tool"
|
|
],
|
|
"x-enum-varnames": [
|
|
"Script",
|
|
"MeshPart",
|
|
"Decal",
|
|
"Animation",
|
|
"Audio",
|
|
"Tool"
|
|
],
|
|
"x-enum-descriptions": [
|
|
"Script",
|
|
"MeshPart",
|
|
"Decal",
|
|
"Animation",
|
|
"Audio",
|
|
"Tool"
|
|
]
|
|
},
|
|
"ModelSubType": {
|
|
"enum": ["Ad", "MaterialPack", "Package"],
|
|
"type": "string",
|
|
"description": "The supported model subtypes.",
|
|
"x-enumNames": ["Ad", "MaterialPack", "Package"],
|
|
"x-enum-varnames": ["Ad", "MaterialPack", "Package"],
|
|
"x-enum-descriptions": ["Ad", "MaterialPack", "Package"]
|
|
},
|
|
"Money": {
|
|
"type": "object",
|
|
"properties": {
|
|
"currencyCode": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"quantity": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Decimal"
|
|
}
|
|
],
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"nullable": true
|
|
},
|
|
"Music": {
|
|
"type": "object",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Audio"
|
|
}
|
|
],
|
|
"properties": {
|
|
"album": {
|
|
"type": "string",
|
|
"description": "The album the music belongs to.",
|
|
"nullable": true
|
|
},
|
|
"genre": {
|
|
"type": "string",
|
|
"description": "The genre of the music.",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Representation of a music asset.",
|
|
"nullable": true
|
|
},
|
|
"MusicChartType": {
|
|
"enum": ["None", "Current", "Week", "Month", "Year"],
|
|
"type": "string",
|
|
"description": "Represents which music chart to pull entries from, if any",
|
|
"x-enumNames": ["None", "Current", "Week", "Month", "Year"],
|
|
"x-enum-varnames": ["None", "Current", "Week", "Month", "Year"],
|
|
"x-enum-descriptions": ["None", "Current", "Week", "Month", "Year"]
|
|
},
|
|
"ObjectMeshSummary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"triangles": {
|
|
"type": "integer",
|
|
"description": "The total number of triangles in the object's mesh.",
|
|
"format": "int32"
|
|
},
|
|
"vertices": {
|
|
"type": "integer",
|
|
"description": "The total number of vertices in the object's mesh.",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Provides a summary of the mesh characteristics of an object, such as triangle and vertex counts.",
|
|
"nullable": true
|
|
},
|
|
"Plugin": {
|
|
"type": "object",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Asset"
|
|
}
|
|
],
|
|
"properties": {
|
|
"hasScripts": {
|
|
"type": "boolean",
|
|
"description": "Whether the plugin has scripts."
|
|
},
|
|
"scriptCount": {
|
|
"type": "integer",
|
|
"description": "The number of scripts that are in the plugin.",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Representation of a plugin asset.",
|
|
"nullable": true
|
|
},
|
|
"PreviewAssetsModel": {
|
|
"type": "object",
|
|
"properties": {
|
|
"imagePreviewAssets": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"description": "Ordered list of image preview asset ids.",
|
|
"nullable": true
|
|
},
|
|
"videoPreviewAssets": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"description": "Ordered list of video preview asset ids.",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Grouped preview asset ids for an item, separated by media type.",
|
|
"nullable": true
|
|
},
|
|
"ProblemDetails": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"status": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"nullable": true
|
|
},
|
|
"detail": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"instance": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": {
|
|
"nullable": true
|
|
},
|
|
"nullable": true
|
|
},
|
|
"QueryFacets": {
|
|
"type": "object",
|
|
"properties": {
|
|
"appliedFacets": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Facets that are already applied to the search.",
|
|
"nullable": true
|
|
},
|
|
"availableFacets": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The unused and still available facets.",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "The facets of a query.",
|
|
"nullable": true
|
|
},
|
|
"QueryOptionConfigElement": {
|
|
"type": "object",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/LibraryQueryOptions"
|
|
}
|
|
],
|
|
"properties": {
|
|
"contextMatch": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Deserialization for nested objects of DefaultQueryOptions.QueryOptions array in appsettings",
|
|
"nullable": true
|
|
},
|
|
"RankingType": {
|
|
"enum": [
|
|
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21,
|
|
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34
|
|
],
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"x-enumNames": [
|
|
"Relevance",
|
|
"MostTaken",
|
|
"Favorites",
|
|
"Updated",
|
|
"Ratings",
|
|
"Trending",
|
|
"AllTime",
|
|
"LEGACY_Model_Search_IR600LogMultiplicative",
|
|
"LEGACY_Plugin_SearchAndSort_Monetization",
|
|
"LEGACY_Model_Sort_InsertRatioSearchRankingValue",
|
|
"Y2022_Q1_Model_AllTime",
|
|
"Y2022_Q1_Model_Trending",
|
|
"LEGACY_AnyAssetType_Sort_SalesCountAllTime",
|
|
"Y2022_Q3_Model_IR600MSD",
|
|
"Y2022_Q3_Model_Sort_InsertRatioMSD",
|
|
"Y2022_Q3_Model_AllTimeMSD",
|
|
"Y2022_Q3_Model_TrendingMSD",
|
|
"Y2022_Q3_Plugin_SearchAndSort_Monetization_MSD",
|
|
"LEGACY_AnyAssetType_Sort_SalesCountPastWeek",
|
|
"Y2022_Q4_Model_Search_IR600MSD",
|
|
"Y2022_Q4_Model_Sort_InsertRatioMSD",
|
|
"Y2022_Q4_Model_AllTimeMSD",
|
|
"Y2022_Q4_Plugin_SearchAndSort_Monetization_MSD",
|
|
"Y2023_Q2_Audio_SearchAndSort_Trending",
|
|
"Y2023_Q2_Audio_SearchAndSort_AllTime",
|
|
"Y2023_Q2_Model_TrendingMSD",
|
|
"Y2023_Q2_Audio_Duration",
|
|
"DefaultMatchScore",
|
|
"Y2024_Q1_Audio_Trending",
|
|
"Y2024_Q1_Audio_Top",
|
|
"Y2024_Q2_Plugin_SearchAndSort_Monetization_MSD",
|
|
"Y2024_Q3_Audio_CreatedDate",
|
|
"Y2024_Q4_Audio_TopListened"
|
|
],
|
|
"x-enum-varnames": [
|
|
"Relevance",
|
|
"MostTaken",
|
|
"Favorites",
|
|
"Updated",
|
|
"Ratings",
|
|
"Trending",
|
|
"AllTime",
|
|
"LEGACY_Model_Search_IR600LogMultiplicative",
|
|
"LEGACY_Plugin_SearchAndSort_Monetization",
|
|
"LEGACY_Model_Sort_InsertRatioSearchRankingValue",
|
|
"Y2022_Q1_Model_AllTime",
|
|
"Y2022_Q1_Model_Trending",
|
|
"LEGACY_AnyAssetType_Sort_SalesCountAllTime",
|
|
"Y2022_Q3_Model_IR600MSD",
|
|
"Y2022_Q3_Model_Sort_InsertRatioMSD",
|
|
"Y2022_Q3_Model_AllTimeMSD",
|
|
"Y2022_Q3_Model_TrendingMSD",
|
|
"Y2022_Q3_Plugin_SearchAndSort_Monetization_MSD",
|
|
"LEGACY_AnyAssetType_Sort_SalesCountPastWeek",
|
|
"Y2022_Q4_Model_Search_IR600MSD",
|
|
"Y2022_Q4_Model_Sort_InsertRatioMSD",
|
|
"Y2022_Q4_Model_AllTimeMSD",
|
|
"Y2022_Q4_Plugin_SearchAndSort_Monetization_MSD",
|
|
"Y2023_Q2_Audio_SearchAndSort_Trending",
|
|
"Y2023_Q2_Audio_SearchAndSort_AllTime",
|
|
"Y2023_Q2_Model_TrendingMSD",
|
|
"Y2023_Q2_Audio_Duration",
|
|
"DefaultMatchScore",
|
|
"Y2024_Q1_Audio_Trending",
|
|
"Y2024_Q1_Audio_Top",
|
|
"Y2024_Q2_Plugin_SearchAndSort_Monetization_MSD",
|
|
"Y2024_Q3_Audio_CreatedDate",
|
|
"Y2024_Q4_Audio_TopListened"
|
|
],
|
|
"x-enum-descriptions": [
|
|
"Relevance",
|
|
"MostTaken",
|
|
"Favorites",
|
|
"Updated",
|
|
"Ratings",
|
|
"Trending",
|
|
"AllTime",
|
|
"LEGACY_Model_Search_IR600LogMultiplicative",
|
|
"LEGACY_Plugin_SearchAndSort_Monetization",
|
|
"LEGACY_Model_Sort_InsertRatioSearchRankingValue",
|
|
"Y2022_Q1_Model_AllTime",
|
|
"Y2022_Q1_Model_Trending",
|
|
"LEGACY_AnyAssetType_Sort_SalesCountAllTime",
|
|
"Y2022_Q3_Model_IR600MSD",
|
|
"Y2022_Q3_Model_Sort_InsertRatioMSD",
|
|
"Y2022_Q3_Model_AllTimeMSD",
|
|
"Y2022_Q3_Model_TrendingMSD",
|
|
"Y2022_Q3_Plugin_SearchAndSort_Monetization_MSD",
|
|
"LEGACY_AnyAssetType_Sort_SalesCountPastWeek",
|
|
"Y2022_Q4_Model_Search_IR600MSD",
|
|
"Y2022_Q4_Model_Sort_InsertRatioMSD",
|
|
"Y2022_Q4_Model_AllTimeMSD",
|
|
"Y2022_Q4_Plugin_SearchAndSort_Monetization_MSD",
|
|
"Y2023_Q2_Audio_SearchAndSort_Trending",
|
|
"Y2023_Q2_Audio_SearchAndSort_AllTime",
|
|
"Y2023_Q2_Model_TrendingMSD",
|
|
"Y2023_Q2_Audio_Duration",
|
|
"DefaultMatchScore",
|
|
"Y2024_Q1_Audio_Trending",
|
|
"Y2024_Q1_Audio_Top",
|
|
"Y2024_Q2_Plugin_SearchAndSort_Monetization_MSD",
|
|
"Y2024_Q3_Audio_CreatedDate",
|
|
"Y2024_Q4_Audio_TopListened"
|
|
]
|
|
},
|
|
"SearchAudioTypeModel": {
|
|
"enum": ["Music", "SoundEffect"],
|
|
"type": "string",
|
|
"description": "Represents audio type values that will be properly displayed in Swagger UI.",
|
|
"x-enumNames": ["Music", "SoundEffect"],
|
|
"x-enum-varnames": ["Music", "SoundEffect"],
|
|
"x-enum-descriptions": ["Music", "SoundEffect"]
|
|
},
|
|
"SearchCategoryType": {
|
|
"enum": [
|
|
"Audio",
|
|
"Model",
|
|
"Decal",
|
|
"Plugin",
|
|
"MeshPart",
|
|
"Video",
|
|
"FontFamily"
|
|
],
|
|
"type": "string",
|
|
"description": "This represents a \"subset\" of Toolbox.Service.CategoryType options and represent the full set\r\nof \"categories\" (or asset types) that can be searched upon from the toolbox search API.",
|
|
"x-enumNames": [
|
|
"Audio",
|
|
"Model",
|
|
"Decal",
|
|
"Plugin",
|
|
"MeshPart",
|
|
"Video",
|
|
"FontFamily"
|
|
],
|
|
"x-enum-varnames": [
|
|
"Audio",
|
|
"Model",
|
|
"Decal",
|
|
"Plugin",
|
|
"MeshPart",
|
|
"Video",
|
|
"FontFamily"
|
|
],
|
|
"x-enum-descriptions": [
|
|
"Audio",
|
|
"Model",
|
|
"Decal",
|
|
"Plugin",
|
|
"MeshPart",
|
|
"Video",
|
|
"FontFamily"
|
|
]
|
|
},
|
|
"SearchCreatorStoreAssetsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"nextPageToken": {
|
|
"type": "string",
|
|
"description": "The page token to view the next page of results.",
|
|
"nullable": true
|
|
},
|
|
"queryFacets": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/QueryFacets"
|
|
}
|
|
],
|
|
"description": "The applied and available facets of a query.",
|
|
"nullable": true
|
|
},
|
|
"creatorStoreAssets": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CreatorStoreAsset"
|
|
},
|
|
"description": "The list of creator store assets returned by the search query.",
|
|
"nullable": true
|
|
},
|
|
"totalResults": {
|
|
"type": "integer",
|
|
"description": "The total number of results for the given search query.",
|
|
"format": "int64"
|
|
},
|
|
"filteredKeyword": {
|
|
"type": "string",
|
|
"description": "The filtered keyword that was used to search for assets, if applicable.",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "The response for the SearchCreatorStoreAssets endpoint.",
|
|
"nullable": true
|
|
},
|
|
"SearchView": {
|
|
"enum": ["IDs", "Core", "Full"],
|
|
"type": "string",
|
|
"description": "This view controls which fields are populated in the search response. A lighter\r\nview will result in faster response times and higher reliability.",
|
|
"x-enumNames": ["IDs", "Core", "Full"],
|
|
"x-enum-varnames": ["IDs", "Core", "Full"],
|
|
"x-enum-descriptions": ["IDs", "Core", "Full"]
|
|
},
|
|
"SocialLinkModel": {
|
|
"type": "object",
|
|
"properties": {
|
|
"linkType": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/LinkType"
|
|
}
|
|
],
|
|
"description": "Gets or sets the link type.",
|
|
"x-enumNames": [
|
|
"Invalid",
|
|
"Facebook",
|
|
"Twitter",
|
|
"Youtube",
|
|
"Twitch",
|
|
"Discord",
|
|
"Github",
|
|
"Guilded",
|
|
"Roblox",
|
|
"Devforum",
|
|
"TryInExperience"
|
|
],
|
|
"x-enum-varnames": [
|
|
"Invalid",
|
|
"Facebook",
|
|
"Twitter",
|
|
"Youtube",
|
|
"Twitch",
|
|
"Discord",
|
|
"Github",
|
|
"Guilded",
|
|
"Roblox",
|
|
"Devforum",
|
|
"TryInExperience"
|
|
],
|
|
"x-enum-descriptions": [
|
|
"Invalid",
|
|
"Facebook",
|
|
"Twitter",
|
|
"Youtube",
|
|
"Twitch",
|
|
"Discord",
|
|
"Github",
|
|
"Guilded",
|
|
"Roblox",
|
|
"Devforum",
|
|
"TryInExperience"
|
|
]
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "Gets or sets the Url.",
|
|
"nullable": true
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "Gets or sets the title.",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Model for a Social Link.",
|
|
"nullable": true
|
|
},
|
|
"SortByRankingScore": {
|
|
"type": "object",
|
|
"properties": {
|
|
"rankingType": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/RankingType"
|
|
}
|
|
],
|
|
"x-enumNames": [
|
|
"Relevance",
|
|
"MostTaken",
|
|
"Favorites",
|
|
"Updated",
|
|
"Ratings",
|
|
"Trending",
|
|
"AllTime",
|
|
"LEGACY_Model_Search_IR600LogMultiplicative",
|
|
"LEGACY_Plugin_SearchAndSort_Monetization",
|
|
"LEGACY_Model_Sort_InsertRatioSearchRankingValue",
|
|
"Y2022_Q1_Model_AllTime",
|
|
"Y2022_Q1_Model_Trending",
|
|
"LEGACY_AnyAssetType_Sort_SalesCountAllTime",
|
|
"Y2022_Q3_Model_IR600MSD",
|
|
"Y2022_Q3_Model_Sort_InsertRatioMSD",
|
|
"Y2022_Q3_Model_AllTimeMSD",
|
|
"Y2022_Q3_Model_TrendingMSD",
|
|
"Y2022_Q3_Plugin_SearchAndSort_Monetization_MSD",
|
|
"LEGACY_AnyAssetType_Sort_SalesCountPastWeek",
|
|
"Y2022_Q4_Model_Search_IR600MSD",
|
|
"Y2022_Q4_Model_Sort_InsertRatioMSD",
|
|
"Y2022_Q4_Model_AllTimeMSD",
|
|
"Y2022_Q4_Plugin_SearchAndSort_Monetization_MSD",
|
|
"Y2023_Q2_Audio_SearchAndSort_Trending",
|
|
"Y2023_Q2_Audio_SearchAndSort_AllTime",
|
|
"Y2023_Q2_Model_TrendingMSD",
|
|
"Y2023_Q2_Audio_Duration",
|
|
"DefaultMatchScore",
|
|
"Y2024_Q1_Audio_Trending",
|
|
"Y2024_Q1_Audio_Top",
|
|
"Y2024_Q2_Plugin_SearchAndSort_Monetization_MSD",
|
|
"Y2024_Q3_Audio_CreatedDate",
|
|
"Y2024_Q4_Audio_TopListened"
|
|
],
|
|
"x-enum-varnames": [
|
|
"Relevance",
|
|
"MostTaken",
|
|
"Favorites",
|
|
"Updated",
|
|
"Ratings",
|
|
"Trending",
|
|
"AllTime",
|
|
"LEGACY_Model_Search_IR600LogMultiplicative",
|
|
"LEGACY_Plugin_SearchAndSort_Monetization",
|
|
"LEGACY_Model_Sort_InsertRatioSearchRankingValue",
|
|
"Y2022_Q1_Model_AllTime",
|
|
"Y2022_Q1_Model_Trending",
|
|
"LEGACY_AnyAssetType_Sort_SalesCountAllTime",
|
|
"Y2022_Q3_Model_IR600MSD",
|
|
"Y2022_Q3_Model_Sort_InsertRatioMSD",
|
|
"Y2022_Q3_Model_AllTimeMSD",
|
|
"Y2022_Q3_Model_TrendingMSD",
|
|
"Y2022_Q3_Plugin_SearchAndSort_Monetization_MSD",
|
|
"LEGACY_AnyAssetType_Sort_SalesCountPastWeek",
|
|
"Y2022_Q4_Model_Search_IR600MSD",
|
|
"Y2022_Q4_Model_Sort_InsertRatioMSD",
|
|
"Y2022_Q4_Model_AllTimeMSD",
|
|
"Y2022_Q4_Plugin_SearchAndSort_Monetization_MSD",
|
|
"Y2023_Q2_Audio_SearchAndSort_Trending",
|
|
"Y2023_Q2_Audio_SearchAndSort_AllTime",
|
|
"Y2023_Q2_Model_TrendingMSD",
|
|
"Y2023_Q2_Audio_Duration",
|
|
"DefaultMatchScore",
|
|
"Y2024_Q1_Audio_Trending",
|
|
"Y2024_Q1_Audio_Top",
|
|
"Y2024_Q2_Plugin_SearchAndSort_Monetization_MSD",
|
|
"Y2024_Q3_Audio_CreatedDate",
|
|
"Y2024_Q4_Audio_TopListened"
|
|
],
|
|
"x-enum-descriptions": [
|
|
"Relevance",
|
|
"MostTaken",
|
|
"Favorites",
|
|
"Updated",
|
|
"Ratings",
|
|
"Trending",
|
|
"AllTime",
|
|
"LEGACY_Model_Search_IR600LogMultiplicative",
|
|
"LEGACY_Plugin_SearchAndSort_Monetization",
|
|
"LEGACY_Model_Sort_InsertRatioSearchRankingValue",
|
|
"Y2022_Q1_Model_AllTime",
|
|
"Y2022_Q1_Model_Trending",
|
|
"LEGACY_AnyAssetType_Sort_SalesCountAllTime",
|
|
"Y2022_Q3_Model_IR600MSD",
|
|
"Y2022_Q3_Model_Sort_InsertRatioMSD",
|
|
"Y2022_Q3_Model_AllTimeMSD",
|
|
"Y2022_Q3_Model_TrendingMSD",
|
|
"Y2022_Q3_Plugin_SearchAndSort_Monetization_MSD",
|
|
"LEGACY_AnyAssetType_Sort_SalesCountPastWeek",
|
|
"Y2022_Q4_Model_Search_IR600MSD",
|
|
"Y2022_Q4_Model_Sort_InsertRatioMSD",
|
|
"Y2022_Q4_Model_AllTimeMSD",
|
|
"Y2022_Q4_Plugin_SearchAndSort_Monetization_MSD",
|
|
"Y2023_Q2_Audio_SearchAndSort_Trending",
|
|
"Y2023_Q2_Audio_SearchAndSort_AllTime",
|
|
"Y2023_Q2_Model_TrendingMSD",
|
|
"Y2023_Q2_Audio_Duration",
|
|
"DefaultMatchScore",
|
|
"Y2024_Q1_Audio_Trending",
|
|
"Y2024_Q1_Audio_Top",
|
|
"Y2024_Q2_Plugin_SearchAndSort_Monetization_MSD",
|
|
"Y2024_Q3_Audio_CreatedDate",
|
|
"Y2024_Q4_Audio_TopListened"
|
|
]
|
|
},
|
|
"sortRange": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/FilterSortRange"
|
|
}
|
|
],
|
|
"nullable": true
|
|
},
|
|
"sortableAudienceType": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SortableAudienceType"
|
|
}
|
|
],
|
|
"x-enumNames": ["VALUE", "DEVELOPER_SEGMENT"],
|
|
"x-enum-varnames": ["VALUE", "DEVELOPER_SEGMENT"],
|
|
"x-enum-descriptions": ["VALUE", "DEVELOPER_SEGMENT"]
|
|
},
|
|
"audienceName": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"nullable": true
|
|
},
|
|
"SortCategory": {
|
|
"enum": [
|
|
"Relevance",
|
|
"Trending",
|
|
"Top",
|
|
"AudioDuration",
|
|
"CreateTime",
|
|
"UpdatedTime",
|
|
"Ratings"
|
|
],
|
|
"type": "string",
|
|
"description": "The category to sort the search results by.",
|
|
"x-enumNames": [
|
|
"Relevance",
|
|
"Trending",
|
|
"Top",
|
|
"AudioDuration",
|
|
"CreateTime",
|
|
"UpdatedTime",
|
|
"Ratings"
|
|
],
|
|
"x-enum-varnames": [
|
|
"Relevance",
|
|
"Trending",
|
|
"Top",
|
|
"AudioDuration",
|
|
"CreateTime",
|
|
"UpdatedTime",
|
|
"Ratings"
|
|
],
|
|
"x-enum-descriptions": [
|
|
"Relevance",
|
|
"Trending",
|
|
"Top",
|
|
"AudioDuration",
|
|
"CreateTime",
|
|
"UpdatedTime",
|
|
"Ratings"
|
|
]
|
|
},
|
|
"SortDirection": {
|
|
"enum": ["None", "Ascending", "Descending"],
|
|
"type": "string",
|
|
"description": "Represents the direction in which to sort the results",
|
|
"x-enumNames": ["None", "Ascending", "Descending"],
|
|
"x-enum-varnames": ["None", "Ascending", "Descending"],
|
|
"x-enum-descriptions": ["None", "Ascending", "Descending"]
|
|
},
|
|
"SortableAudienceType": {
|
|
"enum": [0, 1],
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"x-enumNames": ["VALUE", "DEVELOPER_SEGMENT"],
|
|
"x-enum-varnames": ["VALUE", "DEVELOPER_SEGMENT"],
|
|
"x-enum-descriptions": ["VALUE", "DEVELOPER_SEGMENT"]
|
|
},
|
|
"SoundEffect": {
|
|
"type": "object",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Audio"
|
|
}
|
|
],
|
|
"properties": {
|
|
"category": {
|
|
"type": "string",
|
|
"description": "The sound effect category.",
|
|
"nullable": true
|
|
},
|
|
"subcategory": {
|
|
"type": "string",
|
|
"description": "The sound effect subcategory.",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Representation of a sound effect asset.",
|
|
"nullable": true
|
|
},
|
|
"SpellCheckerResult": {
|
|
"type": "object",
|
|
"properties": {
|
|
"correctionState": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/CorrectionState"
|
|
}
|
|
],
|
|
"description": "The state of spell correction: Toolbox.Service.CorrectionState",
|
|
"x-enumNames": [
|
|
"NoCorrection",
|
|
"CorrectionAvailable",
|
|
"CorrectionAccepted"
|
|
],
|
|
"x-enum-varnames": [
|
|
"NoCorrection",
|
|
"CorrectionAvailable",
|
|
"CorrectionAccepted"
|
|
],
|
|
"x-enum-descriptions": [
|
|
"NoCorrection",
|
|
"CorrectionAvailable",
|
|
"CorrectionAccepted"
|
|
]
|
|
},
|
|
"correctedQuery": {
|
|
"type": "string",
|
|
"description": "The spell corrected query if available.",
|
|
"nullable": true
|
|
},
|
|
"userQuery": {
|
|
"type": "string",
|
|
"description": "The user query that originated the correction.",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "The result of spell checker.",
|
|
"nullable": true
|
|
},
|
|
"SubcategoryModel": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the subcategory.",
|
|
"nullable": true
|
|
},
|
|
"displayName": {
|
|
"type": "string",
|
|
"description": "The display name of the subcategory.",
|
|
"nullable": true
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether this category should be hidden in client side lists"
|
|
},
|
|
"searchKeywords": {
|
|
"type": "string",
|
|
"description": "The search keywords to use for this subcategory",
|
|
"nullable": true,
|
|
"deprecated": true
|
|
},
|
|
"queryParams": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SubcategoryQueryParams"
|
|
}
|
|
],
|
|
"description": "The parameters we'll use when getting assets",
|
|
"nullable": true
|
|
},
|
|
"path": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The full path of the subcategory",
|
|
"nullable": true
|
|
},
|
|
"index": {
|
|
"type": "integer",
|
|
"description": "The index/order of the subcategory in the list",
|
|
"format": "int32"
|
|
},
|
|
"children": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/SubcategoryModel"
|
|
},
|
|
"description": "The children nested under this subcategory.",
|
|
"nullable": true
|
|
},
|
|
"childCount": {
|
|
"type": "integer",
|
|
"description": "The number of children",
|
|
"format": "int32",
|
|
"readOnly": true
|
|
},
|
|
"thumbnail": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SubcategoryThumbnail"
|
|
}
|
|
],
|
|
"description": "Optional thumbnail information for the subcategory",
|
|
"nullable": true
|
|
},
|
|
"categoryPath": {
|
|
"type": "string",
|
|
"description": "The taxonomy slug for this subcategory. e.g. \"3d__characters\"",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Represents a basic subcategory.",
|
|
"nullable": true
|
|
},
|
|
"SubcategoryQueryParams": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keyword": {
|
|
"type": "string",
|
|
"description": "The search keyword to use",
|
|
"nullable": true
|
|
},
|
|
"assetSubTypes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetSubType"
|
|
},
|
|
"description": "A list of subtypes to use (e.g. MaterialPack, Ad, etc.)",
|
|
"nullable": true
|
|
},
|
|
"creatorTargetId": {
|
|
"type": "integer",
|
|
"description": "The creator target ID filter.",
|
|
"format": "int64",
|
|
"nullable": true
|
|
},
|
|
"creatorType": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/CreatorType"
|
|
}
|
|
],
|
|
"description": "The creator type ID.",
|
|
"nullable": true
|
|
},
|
|
"excludeAssetSubTypes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetSubType"
|
|
},
|
|
"description": "A list of subtype to remove https://jira.rbx.com/browse/STM-2597.",
|
|
"nullable": true
|
|
},
|
|
"audioTypes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/AudioType"
|
|
},
|
|
"description": "A list of audio types to include (e.g. Music, SoundEffect, Unknown).",
|
|
"nullable": true
|
|
},
|
|
"uiSortIntent": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UiSortIntent"
|
|
}
|
|
],
|
|
"description": "The UI sort intent.",
|
|
"nullable": true
|
|
},
|
|
"sortDirection": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SortDirection"
|
|
}
|
|
],
|
|
"description": "The sort direction.",
|
|
"nullable": true
|
|
},
|
|
"musicChartType": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/MusicChartType"
|
|
}
|
|
],
|
|
"description": "The music chart type.",
|
|
"nullable": true
|
|
},
|
|
"categoryPath": {
|
|
"type": "string",
|
|
"description": "The taxonomy category path slug to use for category filtering",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "The parameters we'll use when querying assets\r\nNOTE: All fields *must* be nullable to avoid improper filtering",
|
|
"nullable": true
|
|
},
|
|
"SubcategoryThumbnail": {
|
|
"type": "object",
|
|
"properties": {
|
|
"assetId": {
|
|
"type": "integer",
|
|
"description": "The asset id to use for the thumbnail image",
|
|
"format": "int64"
|
|
},
|
|
"backgroundColor": {
|
|
"type": "string",
|
|
"description": "The color to use for the background gradient, in hex format, ex: #FFFFFF",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "Data class representing a subcategory thumbnail\r\nThese property names are lower-case because obelix doesn't support DataContract/DataMember yet",
|
|
"nullable": true
|
|
},
|
|
"ThresholdWithFallback": {
|
|
"type": "object",
|
|
"properties": {
|
|
"min": {
|
|
"type": "number",
|
|
"format": "float",
|
|
"nullable": true
|
|
},
|
|
"max": {
|
|
"type": "number",
|
|
"format": "float",
|
|
"nullable": true
|
|
},
|
|
"fallbackField": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"fallbackMin": {
|
|
"type": "number",
|
|
"format": "float",
|
|
"nullable": true
|
|
},
|
|
"fallbackMax": {
|
|
"type": "number",
|
|
"format": "float",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"nullable": true
|
|
},
|
|
"ToolboxItem": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"description": "item id",
|
|
"format": "int64"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "item name",
|
|
"nullable": true
|
|
},
|
|
"debugInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"SND_INFRA_ALGORITHM_NAME": {
|
|
"nullable": true
|
|
},
|
|
"SND_INFRA_BLENDERS": {
|
|
"nullable": true
|
|
},
|
|
"ELASTIC_SEARCH_EXPLANATIONS": {
|
|
"nullable": true
|
|
},
|
|
"ELASTIC_SEARCH_DOCUMENTS": {
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "debug",
|
|
"nullable": true
|
|
},
|
|
"searchResultSource": {
|
|
"type": "string",
|
|
"description": "Search result source eg SemanticScann, lexical",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "The model of an toolbox item",
|
|
"nullable": true
|
|
},
|
|
"ToolboxItemApiPageResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"previousPageCursor": {
|
|
"type": "string",
|
|
"description": "Gets or sets the exclusive start key for the previous page of results.",
|
|
"nullable": true
|
|
},
|
|
"nextPageCursor": {
|
|
"type": "string",
|
|
"description": "Gets or sets the exclusive start key for the next page of results.",
|
|
"nullable": true
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ToolboxItem"
|
|
},
|
|
"description": "Gets or sets the data of the array.",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "The API standard pagination response. This is supposed to only be used for public endpoints.",
|
|
"nullable": true
|
|
},
|
|
"ToolboxItemsPageResponse": {
|
|
"type": "object",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ToolboxItemApiPageResponse"
|
|
}
|
|
],
|
|
"properties": {
|
|
"totalResults": {
|
|
"type": "integer",
|
|
"description": "Gets or sets total results",
|
|
"format": "int64"
|
|
},
|
|
"filteredKeyword": {
|
|
"type": "string",
|
|
"description": "Gets or sets the filtered version of the query's filtered keyword",
|
|
"nullable": true
|
|
},
|
|
"searchDebugInfo": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ISearchDebugInfo"
|
|
}
|
|
],
|
|
"description": "Gets or sets the search infra debug info",
|
|
"nullable": true
|
|
},
|
|
"spellCheckerResult": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SpellCheckerResult"
|
|
}
|
|
],
|
|
"description": "Gets or sets the result of the spell checker",
|
|
"nullable": true
|
|
},
|
|
"queryFacets": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/QueryFacets"
|
|
}
|
|
],
|
|
"description": "Gets or sets the applied and available facets of a query.",
|
|
"nullable": true
|
|
},
|
|
"imageSearchStatus": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ImageSearchStatus"
|
|
}
|
|
],
|
|
"description": "Gets or sets the status of image search, conveying whether the search succeeded or hit any errors.",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "toolbox items pagination response.",
|
|
"nullable": true
|
|
},
|
|
"UiSortIntent": {
|
|
"enum": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"x-enumNames": [
|
|
"Relevance",
|
|
"MostTaken",
|
|
"Favorites",
|
|
"Updated",
|
|
"Ratings",
|
|
"Trending",
|
|
"AllTime",
|
|
"Top",
|
|
"Duration",
|
|
"DateCreated",
|
|
"DateModified",
|
|
"Creator",
|
|
"Name",
|
|
"AssetType"
|
|
],
|
|
"x-enum-varnames": [
|
|
"Relevance",
|
|
"MostTaken",
|
|
"Favorites",
|
|
"Updated",
|
|
"Ratings",
|
|
"Trending",
|
|
"AllTime",
|
|
"Top",
|
|
"Duration",
|
|
"DateCreated",
|
|
"DateModified",
|
|
"Creator",
|
|
"Name",
|
|
"AssetType"
|
|
],
|
|
"x-enum-descriptions": [
|
|
"Relevance",
|
|
"MostTaken",
|
|
"Favorites",
|
|
"Updated",
|
|
"Ratings",
|
|
"Trending",
|
|
"AllTime",
|
|
"Top",
|
|
"Duration",
|
|
"DateCreated",
|
|
"DateModified",
|
|
"Creator",
|
|
"Name",
|
|
"AssetType"
|
|
]
|
|
},
|
|
"VotingModel": {
|
|
"type": "object",
|
|
"properties": {
|
|
"showVotes": {
|
|
"type": "boolean",
|
|
"description": "Gets or sets show votes."
|
|
},
|
|
"upVotes": {
|
|
"type": "integer",
|
|
"description": "Gets or sets success.",
|
|
"format": "int64"
|
|
},
|
|
"downVotes": {
|
|
"type": "integer",
|
|
"description": "Gets or sets down votes.",
|
|
"format": "int64"
|
|
},
|
|
"canVote": {
|
|
"type": "boolean",
|
|
"description": "Gets or sets can vote."
|
|
},
|
|
"userVote": {
|
|
"type": "boolean",
|
|
"description": "Gets or sets user vote.",
|
|
"nullable": true
|
|
},
|
|
"hasVoted": {
|
|
"type": "boolean",
|
|
"description": "Gets UserVote.",
|
|
"readOnly": true
|
|
},
|
|
"voteCount": {
|
|
"type": "integer",
|
|
"description": "The total number of votes",
|
|
"format": "int64"
|
|
},
|
|
"upVotePercent": {
|
|
"type": "integer",
|
|
"description": "The percentage of total votes that have been UpVotes",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "model for voting.",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"securitySchemes": {
|
|
"roblox-legacy-cookie": {
|
|
"type": "apiKey",
|
|
"description": "A browser cookie that represents the identity of a Roblox user. DO NOT SHARE THIS. Sharing this will allow someone to log in as you and to steal your Robux and items. When possible, use API keys with the x-api-key header or OAuth 2.0 instead for authentication.",
|
|
"in": "cookie",
|
|
"name": ".ROBLOSECURITY"
|
|
},
|
|
"roblox-api-key": {
|
|
"type": "apiKey",
|
|
"description": "A configurable key that allows granular access to Roblox resources. See https://create.roblox.com/docs/cloud/auth/api-keys for more information.",
|
|
"in": "header",
|
|
"name": "x-api-key"
|
|
}
|
|
}
|
|
},
|
|
"servers": [
|
|
{
|
|
"url": "https://apis.roblox.com"
|
|
}
|
|
]
|
|
}
|