{ "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" } ] }