Revision Difference
Backend_API#549849
<cat>Code.Misc</cat>
<warning>This API is prone to changes at any time - and therefore this guide might go out of date. If something doesn't line up, it probably means the API was changed and that this page needs updating.</warning>
This page is an analysis of the API used for the [dev site](https://sbox.facepunch.com/dev/) and the in-game menus; please be aware that this may change at any time and that none of this information is official. All endpoints are on the `https://sap.facepunch.com/` domain.
# Endpoints
[Account endpoints](#accountendpoints) | [Asset endpoints](#assetendpoints) | [Session endpoints](#sessionendpoints) | [Other endpoints](#otherendpoints)
# Account endpoints
## POST /account/activity
### Params
### Returns
### Example Request
### Example Response
```
```
## POST /account/login
### Params
### Returns
### Example Request
### Example Response
```
```
## POST /account/services
### Params
### Returns
### Example Request
### Example Response
```
```
# Asset endpoints
## GET /package/get/1/{ident}
### Params
`ident`: An identifier (`org`.`package`) for the asset you wish to retrieve info about.
### Returns
An `Asset`
### Example Request
[/package/get/1/facepunch.construct](https://sap.facepunch.com/package/get/1/facepunch.construct)
### Example Response
```
{
"Asset": {
"Org": {
"Ident": "facepunch",
"Title": "Facepunch",
"Description": "Facepunch Studios Ltd is a British video game developer and publisher headquartered in Walsall, England, founded in June 2004",
"Thumb": "https://files.facepunch.com/sbox/org/facepunch/logo.1.png",
"SocialTwitter": "",
"SocialWeb": ""
},
"Ident": "construct",
"Title": "Construct",
"Summary": "A simple construct map",
"Description": "This is the default map. It both has purpose and no purpose.",
"Thumb": "https://files.facepunch.com/sbox/org/facepunch/construct/thumb.2f5f6e0a.jpg",
"Background": "https://files.facepunch.com/sbox/org/facepunch/construct/background.2d7794af.jpg",
"PackageType": 1,
"Updated": "2022-03-31T10:43:21.7+00:00",
"Created": "2021-05-10T10:21:44.2+00:00",
"UsersNow": 0,
"UsersDay": 123,
"UsersMonth": 1366,⤶
"UsersTotal": 7812,
"Tags": [],
"CategoryId": 0,
"SubCategoryId": 0,⤶
"Version": {
"FileCount": 1403,
"TotalSize": 2377116895,
"AssetVersionId": 2411,⤶
"Created": "2022-03-31T10:43:21.3+00:00",
"Manifest": "[...]",
"EngineVersion": 2,
"Meta": null⤶
},
"Favourited": 0,
"VotesUp": 0,⤶
"VotesDown": 0,
"Source": null,
"Public": true⤶
"Package": {
"Org": {
"Ident": "facepunch",
"Title": "Facepunch",
"Description": "Facepunch Studios Ltd is a British video game developer and publisher headquartered in Walsall, England, founded in June 2004",
"Thumb": "https://files.facepunch.com/sbox/org/facepunch/logo.1.png",
"Twitter": "",
"WebUrl": ""
},
"Ident": "construct",
"Title": "Construct",
"Summary": "A simple construct map",
"Description": "This is the default map. It both has purpose and no purpose.",
"Thumb": "https://files.facepunch.com/sbox/asset/facepunch.construct/logo.50b9f9e2.png",
"Type": "map",
"Updated": "2023-03-28T08:03:57.2+00:00",
"Created": "2021-05-10T10:21:44.2+00:00",
"UsageStats": {
"Total": {
"Users": 5546,
"Seconds": 30249987⤶
},
"Month": {
"Users": 1185,
"Seconds": 3324817⤶
},
"Week": {
"Users": 365,
"Seconds": 570307⤶
},
"Day": {
"Users": 62,
"Seconds": 47322⤶
},
"UsersNow": 3,
"DailyUsers": [⤶
103,
128,
143,⤶
118,⤶
136,⤶
132,⤶
92,⤶
97,⤶
80,⤶
85,⤶
72,⤶
72,⤶
99,⤶
75,⤶
73,⤶
81,⤶
98,⤶
95,⤶
91,⤶
71,⤶
58,⤶
64,⤶
85,⤶
94,⤶
84,⤶
101,⤶
70,⤶
72,⤶
65,⤶
63,⤶
80,⤶
75,⤶
99,⤶
86,⤶
77,⤶
74,⤶
58,⤶
62,⤶
82,⤶
71,⤶
72,⤶
63,⤶
50,⤶
60,⤶
70,⤶
70,⤶
83,⤶
79,⤶
75,⤶
75,⤶
67,⤶
59,⤶
60,⤶
67,⤶
67,⤶
56,⤶
64,⤶
82,⤶
73,⤶
52,⤶
29⤶
],⤶
"DailySeconds": [⤶
43020,⤶
74270,⤶
119172,⤶
153739,⤶
93638,⤶
136649,⤶
125591,⤶
171976,⤶
107810,⤶
137312,⤶
108385,⤶
124127,⤶
101474,⤶
88822,⤶
103938,⤶
142572,⤶
128251,⤶
143376,⤶
124266,⤶
63146,⤶
96358,⤶
140883,⤶
110315,⤶
189932,⤶
108865,⤶
141529,⤶
99260,⤶
104644,⤶
91810,⤶
160546,⤶
137141,⤶
133960,⤶
116637,⤶
175346,⤶
254561,⤶
172310,⤶
77623,⤶
182926,⤶
121872,⤶
71912,⤶
57547,⤶
61231,⤶
51156,⤶
76191,⤶
113757,⤶
105390,⤶
162249,⤶
45430,⤶
144127,⤶
131866,⤶
157812,⤶
131887,⤶
95682,⤶
91091,⤶
113140,⤶
56567,⤶
78352,⤶
81510,⤶
117133,⤶
44145,⤶
15727⤶
],⤶
"Trend": -1.3204330205917358⤶
},⤶
"Tags": [⤶
""⤶
],⤶
"Favourited": 73,⤶
"VotesUp": 104,⤶
"VotesDown": 6,⤶
"Version": {⤶
"Id": 16022,⤶
"Changes": "Changes on 28-Mar-23",⤶
"FileCount": 1983,⤶
"TotalSize": 3025575678,⤶
"Hash": 4984881807854345000,⤶
"ManifestUrl": "https://files.facepunch.com/sbox/manifest/facepunch/construct/ef59e41d5bfc0494b7904c41bb094ab3.json",⤶
"Created": "2023-03-28T08:03:56.7+00:00",⤶
"EngineVersion": 10,⤶
"Meta": "{\"Summary\":\"A simple construct map\",\"Description\":\"This is the default map. It both has purpose and no purpose.\",\"Public\":true,\"MapAddons\":[]}",⤶
"AssetVersionId": 16022⤶
},
"QueryTime": 99.8013⤶
"Source": "https://github.com/facepunch/facepunch.construct",⤶
"Public": true,⤶
"Archive": false,⤶
"ApiVersion": 0,⤶
"Screenshots": [⤶
{⤶
"Created": "2022-08-01T15:00:57.2Z",⤶
"Width": 1920,⤶
"Height": 1080,⤶
"Url": "https://files.facepunch.com/sbox/asset/facepunch.construct/screenshot.51112a7cdf4aa917.png",⤶
"Thumb": "https://files.facepunch.com/cdn-cgi/image/fit=cover,width={width},height={height}/sbox/asset/facepunch.construct/screenshot.51112a7cdf4aa917.png",⤶
"IsLoadingScreen": false⤶
},⤶
{⤶
"Created": "2022-08-01T15:01:16.3Z",⤶
"Width": 1920,⤶
"Height": 1080,⤶
"Url": "https://files.facepunch.com/sbox/asset/facepunch.construct/screenshot.eab83032471281e5.png",⤶
"Thumb": "https://files.facepunch.com/cdn-cgi/image/fit=cover,width={width},height={height}/sbox/asset/facepunch.construct/screenshot.eab83032471281e5.png",⤶
"IsLoadingScreen": false⤶
},⤶
{⤶
"Created": "2022-08-01T15:01:07.6Z",⤶
"Width": 1920,⤶
"Height": 1080,⤶
"Url": "https://files.facepunch.com/sbox/asset/facepunch.construct/screenshot.b3a7a2fe54a40231.png",⤶
"Thumb": "https://files.facepunch.com/cdn-cgi/image/fit=cover,width={width},height={height}/sbox/asset/facepunch.construct/screenshot.b3a7a2fe54a40231.png",⤶
"IsLoadingScreen": true⤶
}⤶
],⤶
"PackageType": 1,⤶
"PackageReferences": [],⤶
"EditorReferences": [],⤶
"Interaction": {⤶
"Favourite": false,⤶
"FavouriteCreated": null,⤶
"Rating": null,⤶
"RatingCreated": null,⤶
"Used": false,⤶
"FirstUsed": null,⤶
"LastUsed": null,⤶
"Sessions": 0,⤶
"Seconds": 0⤶
}⤶
},⤶
"Milliseconds": 25.1893⤶
}
```
---
## GET /asset/list
### Params
`type`: `map`, `gamemode`, `tool`, `content`, `model`, `addon`.
`order`: `trending`, `popular`, `newest`, `live`. Defaults to `trending`.
`search`: Any search query.
`take`: Number of assets to return.
`skip`: Offsets the number of assets to take.
`category` (An Index Value starting at 1):
| Index | Category |
|:-------:|:---------------------:|
|1 | SandBox |
|2 | Tech Demo/Expermental |
|3 | Sports |
|4 | Shooting |
|5 | Parkour |
|6 | Social |
|7 | Meme |
|8 | Roleplay |
|9 | Racing |
|10 | Mystery |
|11 | Survival |
|12 | Animals |
|13 | Food |
|14 | Strategy |
|15 | Space |
|16 | Fighting |
|17 | Retro |
|18 | Music |
|19 | Art |
|20 | Tycoon |
|21 | Streamer |
### Returns
A list of `Package`s.
### Example Request
[/asset/list?type=map&order=trending&search=Construct](http://sap.facepunch.com/asset/list?type=map&order=trending&search=Construct)
### Example Response
```
[
{
"Org": {
"Ident": "facepunch",
"Title": "Facepunch",
"Thumb": "https://files.facepunch.com/sbox/org/facepunch/logo.1.png"
},
"Ident": "construct",
"Title": "Construct",
"Summary": "A simple construct map",
"Description": "This is the default map. It both has purpose and no purpose.",
"Thumb": "https://files.facepunch.com/sbox/org/facepunch/construct/thumb.2f5f6e0a.jpg",
"PackageType": 1,
"Updated": "2022-03-31T10:43:21.7+00:00",
"Created": "2021-05-10T10:21:44.2+00:00",
"UsersNow": 0,
"UsersDay": 123,
"UsersMonth": 1366,
"UsersTotal": 7812,
"Tags": [],
"CategoryId": 0,
"SubCategoryId": 0,
"Favourited": 0,
"VotesUp": 0,
"VotesDown": 0,
"Source": null,
"Public": true
},
{
"Org": {
"Ident": "gmodn",
"Title": "Ian",
"Thumb": "https://files.facepunch.com/sbox/org/gmodn/logo.8483162e.png"
},
"Ident": "testmap",
"Title": "Ian's Construct",
"Summary": "A map i used to kinda get used to mapping again. Not a good map.",
"Description": "A map i used to kinda get used to mapping again. Not a good map.\r\n\r\nUpdate Log\r\n\r\n1/9/2022\r\nAdded Map\r\nAdded shatterglass where possible\r\nadjusted lighting\r\nmade the original dark/light room building from construct rp friendly \r\nAdded Warehouse Overhang Lights\r\n\r\n2/21/2022\r\nAdded world maps\r\nAdded Navmesh\r\nAdded Map overview",
"Thumb": "",
"PackageType": 1,
"Updated": "2022-03-26T05:44:02.6+00:00",
"Created": "2022-01-09T13:03:07+00:00",
"UsersNow": 0,
"UsersDay": 0,
"UsersMonth": 3,
"UsersTotal": 15,
"Tags": [],
"CategoryId": 0,
"SubCategoryId": 0,
"Favourited": 0,
"VotesUp": 0,
"VotesDown": 0,
"Source": null,
"Public": true
},
]
```
## GET /asset/categories
### Params
### Returns
A list of categories and tags.
### Example Request
[/asset/categories](http://sap.facepunch.com/asset/categories)
### Example Response
```
{
"Categories": [
{
"Id": 0,
"title": "None",
"icon": "sentiment_dissatisfied",
"description": null,
"count": 7
},
{
"Id": 18,
"title": "Music",
"icon": "music_note",
"description": null,
"count": 1
},
{
"Id": 19,
"title": "Art",
"icon": "palette",
"description": null,
"count": 1
},
[...]
],
"Tags": [
{
"Count": 39,
"Key": "multiplayer"
},
{
"Count": 7,
"Key": "has:vsnd"
},
{
"Count": 8,
"Key": "coop"
},
[...]
]
}
```
## POST /asset/{ident}/favourite
### Params
`ident`: An identifier (`org`.`package`) for the asset you wish to retrieve info about.
### Returns
### Example Request
### Example Response
```
```
## POST /asset/upload
### Params
### Returns
### Example Request
### Example Response
```
```
## POST /asset/manifest
### Params
### Returns
### Example Request
### Example Response
```
```
## POST /asset/{ident}/rate
### Params
`ident`: An identifier (`org`.`package`) for the asset you wish to retrieve info about.
### Returns
### Example Request
### Example Response
```
```
## POST /asset/{ident}/update
### Params
`ident`: An identifier (`org`.`package`) for the asset you wish to retrieve info about.
### Returns
### Example Request
### Example Response
```
```
# Session endpoints
## POST /session/result
### Params
### Returns
### Example Request
### Example Response
```
```
## POST /session/score
### Params
### Returns
### Example Request
### Example Response
```
```
# Other endpoints
## GET /status
### Returns
Staus information
### Example Request
[/status](http://sap.facepunch.com/status)
### Example Response
```
{
"Status": "OK",
"Version": 1,
"Assets": 3288,
"Orgs": 3987,
"Files": 99721,
"FileSize": "337GB"
}
```