Skip to content

Commit 129c621

Browse files
update Open Source Docs from Roblox internal teams
1 parent de4d640 commit 129c621

File tree

12 files changed

+405
-1021
lines changed

12 files changed

+405
-1021
lines changed
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading

content/en-us/projects/assets/api.md

Lines changed: 1 addition & 271 deletions
Original file line numberDiff line numberDiff line change
@@ -9,277 +9,7 @@ Each API requires a URL and custom search parameters for that specific catalog.
99

1010
## Creator Store API
1111

12-
<Alert severity="info">
13-
The `toolbox-service` API described below is not currently covered on the official [Cloud API](../../cloud/index.md) documentation. Better support for Creator Store search with a cleaner API is underway.
14-
</Alert>
15-
16-
You can query items from the Creator Store catalog using the following URL:
17-
`https://apis.roblox.com/toolbox-service/v1/marketplace/{categoryId}[params]`
18-
19-
You can replace `[categoryId]` and `[params]` with the appropriate [query parameters](#query-parameters) to customize your search.
20-
21-
Valid category IDs are:
22-
23-
- Audio = `3`
24-
- Model = `10`
25-
- Decal = `13`
26-
- Animation = `24`
27-
- Plugin = `38`
28-
- MeshPart = `40`
29-
- Video = `62`
30-
- FontFamily = `73`
31-
- Music = `300`
32-
33-
### Query parameters
34-
35-
You can specify search parameters by appending a series of parameters and values to the URL, each separated by a `&`.
36-
37-
Use the following parameters to query the Creator Store:
38-
39-
<table>
40-
<thead>
41-
<tr>
42-
<th>Parameter</th>
43-
<th>Type</th>
44-
<th>Options and Values</th>
45-
</tr>
46-
</thead>
47-
<tbody>
48-
<tr>
49-
<td>categoryId (path)</td>
50-
<td>int</td>
51-
<td>`3` = Audio<br />`10` = Model<br />`13` = Decal<br />`24` = Animation<br />`38` = Plugin<br />`40` = MeshPart<br />`62` = Video<br />`73` = FontFamily<br />`300` = Music<br /></td>
52-
</tr>
53-
<tr>
54-
<td>sortOrder</td>
55-
<td>int</td>
56-
<td>`1` = Asc<br />`2` = Desc</td>
57-
</tr>
58-
<tr>
59-
<td>limit</td>
60-
<td>int</td>
61-
<td>Number of results to return, maximum 100.</td>
62-
</tr>
63-
<tr>
64-
<td>cursor</td>
65-
<td>string</td>
66-
<td>Pagination cursor</td>
67-
</tr>
68-
<tr>
69-
<td>pageNumber</td>
70-
<td>int</td>
71-
<td>Page number to request for</td>
72-
</tr>
73-
<tr>
74-
<td>keyword</td>
75-
<td>string</td>
76-
<td>Search keyword</td>
77-
</tr>
78-
<tr>
79-
<td>assetSubTypes</td>
80-
<td>array[string]</td>
81-
<td>Ad, MaterialPack, Package</td>
82-
</tr>
83-
<tr>
84-
<td>excludeAssetSubTypes</td>
85-
<td>array[string]</td>
86-
<td>Ad, MaterialPack, Package</td>
87-
</tr>
88-
<tr>
89-
<td>creatorType</td>
90-
<td>int</td>
91-
<td>`1` = User<br />`2` = Group</td>
92-
</tr>
93-
<tr>
94-
<td>creatorTargetId</td>
95-
<td>int64</td>
96-
<td>User or Group Id to search for</td>
97-
</tr>
98-
<tr>
99-
<td>minDuration</td>
100-
<td>int64</td>
101-
<td>Minimum value of the duration range for audio assets in seconds</td>
102-
</tr>
103-
<tr>
104-
<td>maxDuration</td>
105-
<td>int64</td>
106-
<td>Maximum value of the duration range for audio assets in seconds</td>
107-
</tr>
108-
<tr>
109-
<td>sortDirection</td>
110-
<td>int</td>
111-
<td>`0` = None<br />`1` = Ascending<br />`2` = Descending</td>
112-
</tr>
113-
<tr>
114-
<td>artist</td>
115-
<td>string</td>
116-
<td>The name of the artist</td>
117-
</tr>
118-
<tr>
119-
<td>album</td>
120-
<td>string</td>
121-
<td>The album you are looking for</td>
122-
</tr>
123-
<tr>
124-
<td>audioTypes</td>
125-
<td>array[int]</td>
126-
<td>`0` = Music<br />`1` = SoundEffect</td>
127-
</tr>
128-
<tr>
129-
<td>uiSortIntent</td>
130-
<td>int</td>
131-
<td>What sort order to rank the results by<br /><br />`1` = Relevance<br />`6` = Trending<br />`7` = AllTime<br />`8` = Top<br />`9` = Duration<br />`10` = DateCreated<br />`11` = DateModified<br />`12` = Creator<br />`13` = Name</td>
132-
</tr>
133-
<tr>
134-
<td>includeOnlyVerifiedCreators</td>
135-
<td>bool</td>
136-
<td>A flag to include only results from verified creators. Verified creators are those that are ID or phone verified.</td>
137-
</tr>
138-
<tr>
139-
<td>minPriceInCents</td>
140-
<td>int64</td>
141-
<td>Minimum cost in cents (only applicable to plugins)</td>
142-
</tr>
143-
<tr>
144-
<td>maxPriceInCents</td>
145-
<td>int64</td>
146-
<td>Maximum cost in cents (only applicable to plugins)</td>
147-
</tr>
148-
</tbody>
149-
</table>
150-
151-
For more details regarding `toolbox-service`, please refer to the updated documentation below.
152-
153-
This is a sample response from the endpoint:
154-
155-
```json
156-
{
157-
"totalResults": int,
158-
"filteredKeyword": string,
159-
"spellCheckerResult": {
160-
"correctionState": int,
161-
"correctedQuery": string,
162-
"userQuery": string
163-
},
164-
"queryFacets": {
165-
"appliedFacets": Array[string],
166-
"availableFacets": Array[string]
167-
},
168-
"imageSearchStatus": int,
169-
"previousPageCursor": string,
170-
"nextPageCursor": string,
171-
"data": [
172-
{
173-
"id": int,
174-
"name": string,
175-
"searchResultSource": string
176-
}
177-
]
178-
}
179-
```
180-
181-
To get back the asset metadata, you can go over the data array and extract the IDs with the `GetItemDetails` endpoint on `toolbox-service` like this:
182-
183-
```bash
184-
GET https://apis.roblox.com/toolbox-service/v1/items/details?assetIds={assetId1}%2C{assetId2}
185-
```
186-
187-
### Response fields
188-
189-
This is the response you should expect to get back from that endpoint:
190-
191-
```json
192-
{
193-
"data": [
194-
{
195-
"asset": {
196-
"audioDetails": {
197-
"audioType": Array[int],
198-
"artist": string,
199-
"title": string,
200-
"musicAlbum": string,
201-
"musicGenre": string,
202-
"soundEffectCategory": string,
203-
"soundEffectSubcategory": string,
204-
"tags": Array[string]
205-
},
206-
"id": int64,
207-
"name": string,
208-
"typeId": int,
209-
"assetSubTypes": Array[string],
210-
"assetGenres": Array[string],
211-
"ageGuidelines":{
212-
"ageGuideline: int,
213-
"blood": {
214-
"realism": int,
215-
"level": int
216-
},
217-
"violence": {
218-
"intensity": int
219-
},
220-
"profanity": {
221-
"presence": int
222-
},
223-
"alcohol": {
224-
"presence": int
225-
},
226-
"romance": {
227-
"type": int
228-
}
229-
},
230-
"isEndorsed": bool,
231-
"description": string,
232-
"duration": int,
233-
"hasScripts": bool?,
234-
"createdUtc": string($date-time),
235-
"updatedUtc": string($date-time),
236-
"creatingUniverseId": int64?,
237-
"isAssetHashApproved": bool,
238-
"visibilityStatus": int?,
239-
"socialLinks": [{
240-
"linkType": int,
241-
"url": string,
242-
"title": string
243-
}]
244-
},
245-
"creator": {
246-
"id": int64,
247-
"name": string,
248-
"type": int,
249-
"isVerifiedCreator": bool,
250-
"latestGroupUpdaterUserId": int64?,
251-
"latestGroupUpdaterUserName": string
252-
},
253-
"voting": {
254-
"showVotes": bool,
255-
"upVotes": int64,
256-
"downVotes": int64,
257-
"canVote": bool,
258-
"userVote": bool?,
259-
"hasVoted": bool,
260-
"voteCount": int64,
261-
"upVotePercent": int
262-
},
263-
"product": {
264-
"productId": int64,
265-
"price": int64?,
266-
"isForSaleOrIsPublicDomain": bool
267-
},
268-
"fiatProduct": {
269-
"purchasePrice": {
270-
"currencyCode": string,
271-
"quantity": {
272-
"significand": int64,
273-
"exponent": int
274-
}
275-
},
276-
"published": bool,
277-
"purchasable": bool
278-
}
279-
}
280-
]
281-
}
282-
```
12+
For information on making calls to the Creator Store API for search, see Toolbox Service in the [Open Cloud reference](../../cloud/features/creator-store.md#toolbox-service).
28313

28414
## Marketplace API
28515

content/en-us/reference/cloud/assets/v1.json

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,7 @@
3737
"description": "The binary asset file path and the content type. See [Asset types and limits](../../../cloud/guides/usage-assets.md#supported-asset-types-and-limits)."
3838
}
3939
},
40-
"required": [
41-
"request",
42-
"fileContent"
43-
]
40+
"required": ["request", "fileContent"]
4441
}
4542
}
4643
}
@@ -176,9 +173,7 @@
176173
"roblox-oauth2": ["asset:read"]
177174
}
178175
],
179-
"x-roblox-scopes": [
180-
{ "name": "asset:read" }
181-
],
176+
"x-roblox-scopes": [{ "name": "asset:read" }],
182177
"x-roblox-cloud-api-operation-code-samples": [
183178
{
184179
"language": "Get Asset without readMask",
@@ -254,10 +249,7 @@
254249
"description": "The binary asset file path and the content type. See [Asset types and limits](../../../cloud/guides/usage-assets.md#supported-asset-types-and-limits)."
255250
}
256251
},
257-
"required": [
258-
"request",
259-
"fileContent"
260-
]
252+
"required": ["request", "fileContent"]
261253
}
262254
}
263255
}
@@ -542,9 +534,7 @@
542534
"roblox-oauth2": ["asset:read"]
543535
}
544536
],
545-
"x-roblox-scopes": [
546-
{ "name": "asset:read" }
547-
],
537+
"x-roblox-scopes": [{ "name": "asset:read" }],
548538
"x-roblox-cloud-api-operation-code-samples": [
549539
{
550540
"language": "Get Asset Version",
@@ -631,9 +621,7 @@
631621
"roblox-oauth2": ["asset:read"]
632622
}
633623
],
634-
"x-roblox-scopes": [
635-
{ "name": "asset:read" }
636-
],
624+
"x-roblox-scopes": [{ "name": "asset:read" }],
637625
"x-roblox-cloud-api-operation-code-samples": [
638626
{
639627
"language": "List Asset Versions",
@@ -691,9 +679,7 @@
691679
"description": "The asset version path in the format of `assets/{assetId}/versions/{versionNumber}`."
692680
}
693681
},
694-
"required": [
695-
"assetVersion"
696-
]
682+
"required": ["assetVersion"]
697683
}
698684
}
699685
}
@@ -809,9 +795,7 @@
809795
"roblox-oauth2": ["asset:read"]
810796
}
811797
],
812-
"x-roblox-scopes": [
813-
{ "name": "asset:read" }
814-
],
798+
"x-roblox-scopes": [{ "name": "asset:read" }],
815799
"x-roblox-cloud-api-operation-code-samples": [
816800
{
817801
"language": "Get Operation",
@@ -1028,11 +1012,7 @@
10281012
"State": {
10291013
"type": "string",
10301014
"description": "Whether the asset is active or archived. Unspecified isn't used.",
1031-
"enum": [
1032-
"Unspecified",
1033-
"Active",
1034-
"Archived"
1035-
]
1015+
"enum": ["Unspecified", "Active", "Archived"]
10361016
},
10371017
"Status": {
10381018
"type": "object",

0 commit comments

Comments
 (0)