S&box Wiki

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" } ```