S&box Wiki

Revision Difference

Backend_API#546716

<cat>Dev.Backend</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 ## GET /asset/{ident} ### Params `ident`: An identifier (`org`.`package`) for the asset you wish to retrieve info about. ### Returns An `Asset` ### Example Request [/asset/facepunch.construct](https://sap.facepunch.com/asset/facepunch.construct) ### Example Response ``` { "Asset": { "Org": { "Ident": "facepunch", "Title": "Facepunch", "Description": "", "Thumb": "https://files.facepunch.com/sbox/org/facepunch/logo.1.png", "SocialTwitter": "", "SocialWeb": "" }, "Ident": "pool", "Title": "Pool", "Summary": "A classic pub game where your skill is determined by your blood-alcohol content.\r\n", "Description": "A classic pub game where your skill is determined by your blood-alcohol content.\r\n", "Thumb": "https://files.facepunch.com/sbox/org/facepunch/pool/thumb.b52e5af8.jpg", "Background": "https://files.facepunch.com/sbox/org/facepunch/pool/background.21884981.jpg", "PackageType": 2, "Updated": 1619706156, "Download": { "Type": "github", "Url": "https://github.com/Facepunch/sbox-pool/tree/master" }, "ConfigJson": "{\"MinPlayers\":1,\"MaxPlayers\":2,\"NetworkType\":0,\"MapList\":[\"pool_lounge_v2\"],\"MapSelection\":1,\"RankType\":1,\"LeaderboardType\":1}", "UsersNow": 0, "UsersDay": 4, "UsersMonth": 55, "UsersTotal": 2191, "Tags": [ "!mousekeyboard", "multiplayer", "mousekeyboard" ], "CategoryId": 3, "SubCategoryId": 0, "Version": null, "Favourited": 65, "VotesUp": 87, "VotesDown": 2, "Source": "https://github.com/Facepunch/sbox-pool/tree/master" } } ``` --- ## GET /asset/list ### Params `type`: `map` or `gamemode`. `order`: `trending`, `popular`, `newest`, `live`. Defaults to `trending`. `search`: Any search query. `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 [/sandbox-asset-list?type=map&order=trending&search=Construct](http://apix.facepunch.com/sandbox-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": 1643893793, "UsersNow": 0, "UsersDay": 134, "UsersMonth": 1580, "UsersTotal": 7774, "Tags": [], "CategoryId": 0, "SubCategoryId": 0, "Favourited": 0, "VotesUp": 0, "VotesDown": 0, "Source": null }, { "Org": { "Ident": "cstruct", "Title": "egg corporation's things", "Thumb": "" }, "Ident": "gm_construct", "Title": "gm construct", "Summary": "Bad port, but is working port!", "Description": "A bad port of gm_construct v13, that I am trying to get fixed-ish. I fully expect someone else to come along and do it better than I can, and if you have a problem with this version I encourage you to make your own. I'll give you all the files if you ask.\r\n\r\nVERSION HISTORY:\r\nV1 Release\r\nV1.1 Fixed some weird white sprites and also added some basic baked lighting(dark room now dark again)\r\nV1.1.1 Ladder for secret room works now. It's literally a stack of clipbrushes, basically very narrow invisible stairs, but that might unironically be better than Source 1 ladders, lmao\r\nV1.2 Added Long Description into map, this is now a \"cool release\" until I get the urge to work on it more. Contact me if it breaks, if you can.", "Thumb": "https://files.facepunch.com/sbox/org/cstruct/gm_construct/thumb.3464c8e.jpg", "PackageType": 1, "Updated": 1630804910, "UsersNow": 0, "UsersDay": 3, "UsersMonth": 102, "UsersTotal": 1458, "Tags": [], "CategoryId": 0, "SubCategoryId": 0, "Favourited": 0, "VotesUp": 0, "VotesDown": 0, "Source": null } ] ``` ⤶ ## 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"⤶ },⤶ [...]⤶ ]⤶ }⤶ ```⤶ ⤶ ## GET /asset/{ident}/leaderboard⤶ ⤶ ### Params⤶ ⤶ `ident`: An identifier (`org`.`package`) for the asset you wish to retrieve info about.⤶ ⤶ ### Returns⤶ ⤶ An `Leaderboard`.⤶ ⤶ ### Example Request ⤶ ⤶ [/asset/facepunch.unicycle_frenzy/leaderboard](http://sap.facepunch.com/asset/facepunch.unicycle_frenzy/leaderboard)⤶ ⤶ ### Example Response⤶ ⤶ ```⤶ {⤶ "Skip": 0,⤶ "Take": 20,⤶ "Count": 115,⤶ "PlayerPlace": null,⤶ "Entries": [⤶ {⤶ "PlayerId": 76561197979190498,⤶ "DisplayName": "Crayz",⤶ "Rating": 0⤶ },⤶ {⤶ "PlayerId": 76561198068383694,⤶ "DisplayName": "Dopadream",⤶ "Rating": 0⤶ },⤶ {⤶ "PlayerId": 76561198169265681,⤶ "DisplayName": "JakeSayingWoosh",⤶ "Rating": 0⤶ },⤶ [...]⤶ ]⤶ }⤶ ```⤶ ⤶ ## GET /asset/{ident}/rank/{userid}⤶ ⤶ ### Params⤶ ⤶ `ident`: An identifier (`org`.`package`) for the asset you wish to retrieve info about.⤶ ⤶ `userid`: An id for the user you wish to retrieve info about.⤶ ⤶ ### Returns⤶ ⤶ Game and Player rank information⤶ ⤶ ### Example Request ⤶ ⤶ [/asset/facepunch.unicycle_frenzy/rank/76561197979190498](http://sap.facepunch.com/asset/facepunch.unicycle_frenzy/rank/76561197979190498)⤶ ⤶ ### Example Response⤶ ⤶ ```⤶ {⤶ "PlayerId": 76561197979190498,⤶ "PlayerName": "Crayz",⤶ "Game": {⤶ "Org": {⤶ "Ident": "facepunch",⤶ "Title": "Facepunch",⤶ "Thumb": "https://files.facepunch.com/sbox/org/facepunch/logo.1.png"⤶ },⤶ "Ident": "unicycle_frenzy",⤶ "Title": "Unicycle Frenzy",⤶ "Summary": "Unicycle Frenzy challenges players to navigate through treacherous obstacle courses on a unicycle.",⤶ "Description": "Post feedback and issues here: https://github.com/Facepunch/sbox-unicycle-frenzy\r\n\r\nPress Tab in-game to see controls and customize your unicycle",⤶ "Thumb": "https://files.facepunch.com/sbox/org/facepunch/unicycle_frenzy/thumb.6a3718d.jpg",⤶ "PackageType": 2,⤶ "Updated": "2022-04-08T03:50:41.8+00:00",⤶ "Created": "2021-12-15T01:22:26.2+00:00",⤶ "UsersNow": 0,⤶ "UsersDay": 11,⤶ "UsersMonth": 181,⤶ "UsersTotal": 1218,⤶ "Tags": null,⤶ "CategoryId": 9,⤶ "SubCategoryId": 0,⤶ "Favourited": 55,⤶ "VotesUp": 62,⤶ "VotesDown": 8,⤶ "Source": "https://github.com/Facepunch/sbox-unicycle-frenzy",⤶ "Public": true⤶ },⤶ "Level": 7,⤶ "Wins": 0,⤶ "Losses": 0,⤶ "Draws": 0,⤶ "Global": {⤶ "Value": "Global",⤶ "Position": 5⤶ },⤶ "Country": {⤶ "Value": "United States",⤶ "Position": 3⤶ },⤶ "State": {⤶ "Value": "Utah",⤶ "Position": 2⤶ },⤶ "City": {⤶ "Value": "Unknown",⤶ "Position": 5⤶ },⤶ "Diag": "225.13"⤶ }⤶ ```⤶