# Table of Contents - [Get Hubs | LuaProt](#get-hubs-luaprot) - [API Status | LuaProt](#api-status-luaprot) - [Before Starting | LuaProt](#before-starting-luaprot) - [Blacklist Key | LuaProt](#blacklist-key-luaprot) - [Bulk Delete Keys | LuaProt](#bulk-delete-keys-luaprot) - [Fetch Keys | LuaProt](#fetch-keys-luaprot) - [Add Key | LuaProt](#add-key-luaprot) - [Generate Keys | LuaProt](#generate-keys-luaprot) - [Delete Key | LuaProt](#delete-key-luaprot) - [Message Session | LuaProt](#message-session-luaprot) - [Reset HWID | LuaProt](#reset-hwid-luaprot) - [Get Sessions | LuaProt](#get-sessions-luaprot) - [Key Info | LuaProt](#key-info-luaprot) - [Disconnect Session | LuaProt](#disconnect-session-luaprot) - [Message Sessions | LuaProt](#message-sessions-luaprot) - [Session Info | LuaProt](#session-info-luaprot) - [Get Blacklists | LuaProt](#get-blacklists-luaprot) - [Update Key | LuaProt](#update-key-luaprot) - [Delete Blacklist | LuaProt](#delete-blacklist-luaprot) - [Disconnect Sessions | LuaProt](#disconnect-sessions-luaprot) --- # Get Hubs | LuaProt `**GET**` `/api/v1/hubs/get` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/get-hubs#reponse) Reponse 200 Copy { success: true, message: "Hubs have been retrieved.", hubs: [], } [PreviousAPI Statuschevron-left](https://docs.luaprot.net/luaprot/api-documentation/api-status) [NextFetch Keyschevron-right](https://docs.luaprot.net/luaprot/api-documentation/fetch-keys) Last updated 3 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # API Status | LuaProt `**GET**` `/api/v1/status/get` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/api-status#reponse) Reponse 200 Copy { success: true, message: "Status has been fetched successfully.", status: "OK", version: "v1", // api version active: true, // api status warnings: [], // api warnings validToken: true, // if account is valid } [PreviousBefore Startingchevron-left](https://docs.luaprot.net/luaprot/api-documentation/before-starting) [NextGet Hubschevron-right](https://docs.luaprot.net/luaprot/api-documentation/get-hubs) Last updated 3 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # Before Starting | LuaProt triangle-exclamation [hashtag](https://docs.luaprot.net/luaprot/api-documentation/before-starting#your-luaprot-api-is-not-public-which-means-do-not-share-it) Your LuaProt API is not public, which means DO NOT SHARE IT. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- circle-exclamation You have to whitelist your IP, which makes these requests on the dashboard, otherwise your requests get rejected. [hashtag](https://docs.luaprot.net/luaprot/api-documentation/before-starting#request-headers) Request Headers ------------------------------------------------------------------------------------------------------------------ Always include these following headers in every API request you make. Copy Content-Type: application/json Authorization: YOUR_API_KEY #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/before-starting#good-to-know) Good To Know * You can make a total of **20 requests per 10 seconds** and **60 requests per minute**. Exceeding this limit will result a `429` Http Error Code. (applies for most of the routes) _Now that you know this, you can start looking at the API endpoints in the next pages._ [PreviousDiscord Bot (BETA)chevron-left](https://docs.luaprot.net/luaprot/general/discord-bot-beta) [NextAPI Statuschevron-right](https://docs.luaprot.net/luaprot/api-documentation/api-status) Last updated 2 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # Blacklist Key | LuaProt Refer to [Update Key](https://docs.luaprot.net/luaprot/api-documentation/update-key) and use as Payload: Copy { "blacklisted": true, "blacklistReason": "why not?" // optional } [PreviousAdd Keychevron-left](https://docs.luaprot.net/luaprot/api-documentation/add-key) [NextGenerate Keyschevron-right](https://docs.luaprot.net/luaprot/api-documentation/generate-keys) Last updated 2 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # Bulk Delete Keys | LuaProt `**POST**` `/api/v1/keys/bulk-delete` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/bulk-delete-keys#payload) Payload Copy [\ "key1",\ "key2",\ "key3"\ ] * * * #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/bulk-delete-keys#reponse) Reponse 200 404 Copy { success: true, message: "Key(s) have been deleted.", } Copy { success: false, message: "No hub(s) linked to your account.", } [PreviousFetch Keyschevron-left](https://docs.luaprot.net/luaprot/api-documentation/fetch-keys) [NextAdd Keychevron-right](https://docs.luaprot.net/luaprot/api-documentation/add-key) Last updated 3 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # Fetch Keys | LuaProt `**GET**` `/api/v1/keys/fetch` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/fetch-keys#query) Query Query Description hub HubId to look for. Default will look for every Hub. discordId Discord ID to look for. Default will look for every discord ID. key Key to look for. Default will look for every key. hwid HWID to look for. Default will look for every HWID. blacklisted Key should be blacklisted. (boolean) Default will not filter by blacklisted. expired Key should be expired. (boolean) Default will not filter by expired. unassigned Key should be unassigned. (boolean) Default will not filter by unassigned. active Key should be active. (boolean) Default will not filter by active. page Page of the query. Default is 1. #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/fetch-keys#reponse) Reponse 200 Copy { success: true, message: "Successfully fetched keys.", keys: [...], limitPerPage: 50, totalPages: 1, totalKeys: 1, } [PreviousGet Hubschevron-left](https://docs.luaprot.net/luaprot/api-documentation/get-hubs) [NextBulk Delete Keyschevron-right](https://docs.luaprot.net/luaprot/api-documentation/bulk-delete-keys) Last updated 2 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # Add Key | LuaProt `**POST**` `/api/v1/hubs/:hubId/keys/add` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/add-key#payload) Payload Copy { discordId: "123456789012345" // OPTIONAL (if not given, key will be unassigned), expire: 86400 // OPTIONAL (if given, it will expire in given seconds) } * * * #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/add-key#reponse) Reponse 200 400 Copy { "succcess": true, "message": "Key has been created successfully.", "key": { "hubId": "40511091490620200512", "advertiseId": "78078400606734922815", "key": "73978994376e1f3e307914c4", "expire": 1764749562, "created": 1764749562, "activated": false, "hwidResetCount": 0, "lastHwidReset": 0, "executionCount": 0, "lastExecution": 0, "blacklisted": false, "blacklistReason": null } } Copy { success: false, message: "Discord ID is already whitelisted to the hub.", } [PreviousBulk Delete Keyschevron-left](https://docs.luaprot.net/luaprot/api-documentation/bulk-delete-keys) [NextBlacklist Keychevron-right](https://docs.luaprot.net/luaprot/api-documentation/blacklist-key) Last updated 3 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # Generate Keys | LuaProt `**POST**` `/api/v1/hubs/:hubId/keys/generate` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/generate-keys#payload) Payload Copy { amount: "123456789012345" // min 5. max. 300 expire: 86400 // OPTIONAL (if given, it will expire in given seconds) } * * * #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/generate-keys#reponse) Reponse 200 400 Copy { "succcess": true, "message": "Keys have been generated successfully.", "key": { "hubId": "40511091490620200512", "advertiseId": "78078400606734922815", "key": "73978994376e1f3e307914c4", "expire": 1764749562, "created": 1764749562, "activated": false, "hwidResetCount": 0, "lastHwidReset": 0, "executionCount": 0, "lastExecution": 0, "blacklisted": false, "blacklistReason": null } } Copy { success: false, message: "You can only have a maximum of 300 unassigned keys per hub.", } [PreviousBlacklist Keychevron-left](https://docs.luaprot.net/luaprot/api-documentation/blacklist-key) [NextKey Infochevron-right](https://docs.luaprot.net/luaprot/api-documentation/key-info) Last updated 3 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # Delete Key | LuaProt `**DELETE**` `/api/v1/hubs/:hubId/keys/delete` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/delete-key#query) Query Query Description discordId Discord ID to look for. key Key to look for. circle-exclamation One of these queries must be given. * * * #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/delete-key#reponse) Reponse 200 400 Copy { "success": true, "message": "Key has been deleted." } Copy { success: false, message: "Key could not be found.", } [PreviousUpdate Keychevron-left](https://docs.luaprot.net/luaprot/api-documentation/update-key) [NextReset HWIDchevron-right](https://docs.luaprot.net/luaprot/api-documentation/reset-hwid) Last updated 3 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # Message Session | LuaProt `**POST**` `/api/v1/sessions/:sessionId/message` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/message-session#query) Query Query Description sessionId Session ID to look for. #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/message-session#body) Body Body Description message Message to show in the sessions game GUI. * * * #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/message-session#reponse) Reponse 200 400 Copy { "success": true, "message": "Successfully messaged session.", } Copy { "success": false, "message": "You cannot message this session.", } [PreviousSession Infochevron-left](https://docs.luaprot.net/luaprot/api-documentation/session-info) [NextDisconnect Sessionchevron-right](https://docs.luaprot.net/luaprot/api-documentation/disconnect-session) Last updated 2 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # Reset HWID | LuaProt `**PATCH**` `/api/v1/hubs/:hubId/hwid/reset` circle-info **INFO**: This will force a HWID reset, ignoring the automatic reset gap (if configured). #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/reset-hwid#query) Query Query Description discordId Discord ID to look for. key Key to look for. circle-exclamation One of these queries must be given. * * * #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/reset-hwid#reponse) Reponse 200 400 Copy { "succcess": true, "message": "HWID(s) have been reset successfully.", "resets": [\ "657bebfefc7bbc7c798d39b4",\ "657b3665865c7c798d39b4HI"\ ] } Copy { success: false, message: "No key(s) found.", } [PreviousDelete Keychevron-left](https://docs.luaprot.net/luaprot/api-documentation/delete-key) [NextGet Sessionschevron-right](https://docs.luaprot.net/luaprot/api-documentation/get-sessions) Last updated 2 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # Get Sessions | LuaProt `**GET**` `/api/v1/sessions/get` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/get-sessions#query) Query Query Description discordId Discord ID to look for. key Key to look for. circle-exclamation One of these queries must be given. circle-info Sessions may take up to 90 seconds to get removed after getting disconnected. * * * #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/get-sessions#reponse) Reponse 200 400 Copy { "success": true, "message": "Successfully fetched sessions.", "sessions": [\ {\ "id": "97963719390038484793",\ "robloxUsername": "LuaProtOnTop", // roblox username\ "robloxJobId": "5580cdf5-19cf-40ce-9fd9-fb6d3ca0098a", // job id of the game\ "robloxUniverseId": "9432747410", // universe id of the game\ "created": 1768140224 // when the session was created\ }\ ] } Copy { success: false, message: "Key could not be found.", } [PreviousReset HWIDchevron-left](https://docs.luaprot.net/luaprot/api-documentation/reset-hwid) [NextSession Infochevron-right](https://docs.luaprot.net/luaprot/api-documentation/session-info) Last updated 2 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # Key Info | LuaProt `**GET**` `/api/v1/hubs/:hubId/keys/info` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/key-info#query) Query Query Description discordId Discord ID to look for. key Key to look for. circle-exclamation One of these queries must be given. * * * #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/key-info#reponse) Reponse 200 400 Copy { "succcess": true, "message": "Successfully fetched key info.", "key": { "hubId": "40511091490620200512", "advertiseId": "78078400606734922815", "key": "73978994376e1f3e307914c4", "expire": 1764749562, "created": 1764749562, "activated": false, "hwidResetCount": 0, "lastHwidReset": 0, "executionCount": 0, "lastExecution": 0, "blacklisted": false, "blacklistReason": null, "discordData": { "id": "12345678909876543", "username": "wompus_dompus", "avatar": null, "global_name": "Wompus", "modified": 1759761781, // last discord data fetch "created": 1759761781 // first fetch } } } [PreviousGenerate Keyschevron-left](https://docs.luaprot.net/luaprot/api-documentation/generate-keys) [NextUpdate Keychevron-right](https://docs.luaprot.net/luaprot/api-documentation/update-key) Last updated 2 months ago sun-brightdesktopmoon Copy { success: false, message: "Key could not be found.", } sun-brightdesktopmoon --- # Disconnect Session | LuaProt `**DELETE**` `/api/v1/sessions/:sessionId/disconnect` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/disconnect-session#query) Query Query Description sessionId Session ID to look for. * * * #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/disconnect-session#reponse) Reponse 200 400 Copy { "success": true, "message": "Successfully disconnected session.", } Copy { "success": true, "message": "You cannot manage this session.", } [PreviousMessage Sessionchevron-left](https://docs.luaprot.net/luaprot/api-documentation/message-session) [NextMessage Sessionschevron-right](https://docs.luaprot.net/luaprot/api-documentation/message-sessions) Last updated 2 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # Message Sessions | LuaProt `**POST**` `/api/v1/sessions/messageall` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/message-sessions#body) Body Body Description key Key to look for. message Message to show in all sessions game GUI. * * * #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/message-sessions#reponse) Reponse 200 400 Copy { "success": true, "message": "Successfully messaged sessions.", } Copy { "success": false, "message": "No active sessions found.", } [PreviousDisconnect Sessionchevron-left](https://docs.luaprot.net/luaprot/api-documentation/disconnect-session) [NextDisconnect Sessionschevron-right](https://docs.luaprot.net/luaprot/api-documentation/disconnect-sessions) Last updated 2 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # Session Info | LuaProt `**GET**` `/api/v1/sessions/:sessionId/info` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/session-info#query) Query Query Description sessionId Session ID to look for. * * * #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/session-info#reponse) Reponse 200 400 Copy { "success": true, "message": "Successfully fetched session info.", "session": { "id": "97963719390038484793", "robloxUsername": "LuaProtOnTop", // roblox username "robloxJobId": "5580cdf5-19cf-40ce-9fd9-fb6d3ca0098a", // job id of the game "robloxUniverseId": "9432747410", // universe id of the game, "created": 1768140224, // when the session was created "key": { "hubId": "40511091490620200512", "advertiseId": "78078400606734922815", "key": "73978994376e1f3e307914c4", "expire": 1764749562, "created": 1764749562, "activated": false, "hwidResetCount": 0, "lastHwidReset": 0, "executionCount": 0, "lastExecution": 0, "blacklisted": false, "blacklistReason": null, "discordData": { "id": "12345678909876543", "username": "wompus_dompus", "avatar": null, "global_name": "Wompus", "modified": 1759761781, // last discord data fetch "created": 1759761781 // first fetch } } } } [PreviousGet Sessionschevron-left](https://docs.luaprot.net/luaprot/api-documentation/get-sessions) [NextMessage Sessionchevron-right](https://docs.luaprot.net/luaprot/api-documentation/message-session) Last updated 2 months ago sun-brightdesktopmoon Copy { "success": true, "message": "You cannot manage this session.", } sun-brightdesktopmoon --- # Get Blacklists | LuaProt `**GET**` `/api/v1/:hubId/blacklists/get` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/get-blacklists#params) Params Param Description hubId Hub ID to fetch. #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/get-blacklists#query) Query Query Description hwid HWID to look for. OPTIONAL * * * #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/get-blacklists#reponse) Reponse 200 404 Copy { "success": true, "message": "Successfully fetched blacklists.", "blacklists": { "id": "key:f43fh34ui43huer3", // id with the type, seperated with a ":" "entryId": "f43fh34ui43huer3", // luaprot internal entry id "type": "Global", // blacklist type (Global, Local, Key) "hwid": "589401805431295092384985734", // hwid, if linked "reason": "being stupid!!1", // blacklist reason "key": null, // key, if found "discordId": null, // discord id, if found "created": 1769473337, // unix time in seconds } } Copy { "success": false, "message": "Hub not found or linked to your account.", } [PreviousDisconnect Sessionschevron-left](https://docs.luaprot.net/luaprot/api-documentation/disconnect-sessions) [NextDelete Blacklistchevron-right](https://docs.luaprot.net/luaprot/api-documentation/delete-blacklist) Last updated 2 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # Update Key | LuaProt `**PATCH**` `/api/v1/hubs/:hubId/keys/update` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/update-key#query) Query Query Description discordId Discord ID to look for. key Key to look for. circle-exclamation One of these queries must be given. #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/update-key#payload) Payload Copy { discordId: "123456789012345", // OPTIONAL, new discord ID to update expire: 86400, // OPTIONAL, new expiration in seconds from current time blacklisted: true, // OPTIONAL, if key should be blacklisted blacklistReason: "Annoying" // OPTIONAL, if blacklist you can provide a reason } * * * #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/update-key#reponse) Reponse 200 400 Copy { "succcess": true, "message": "Key has been updated successfully.", "key": { "hubId": "40511091490620200512", "advertiseId": "78078400606734922815", "key": "73978994376e1f3e307914c4", "expire": 1764769562, "created": 1764749562, "activated": false, "hwidResetCount": 0, "lastHwidReset": 0, "executionCount": 0, "lastExecution": 0, "blacklisted": true, "blacklistReason": "Annoying", "discordData": { "id": "12345678909876543", "username": "wompus_dompus", "avatar": null, "global_name": "Wompus", "modified": 1759761781, // last discord data fetch "created": 1759761781 // first fetch } } } [PreviousKey Infochevron-left](https://docs.luaprot.net/luaprot/api-documentation/key-info) [NextDelete Keychevron-right](https://docs.luaprot.net/luaprot/api-documentation/delete-key) Last updated 3 months ago sun-brightdesktopmoon Copy { success: false, message: "Key could not be found.", } sun-brightdesktopmoon --- # Delete Blacklist | LuaProt `**DELETE**` `/api/v1/:hubId/blacklists/delete` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/delete-blacklist#params) Params Param Description hubId Hub ID to fetch. #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/delete-blacklist#query) Query Query Description type Either "key" or "local". id The "entryId" of a blacklist. * * * circle-exclamation You cannot delete global blacklists. Contact LuaProt if you need this! #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/delete-blacklist#reponse) Reponse 200 400 Copy { "success": true, "message": "Successfully fetched blacklists.", } Copy { "success": false, "message": "Hub not found or linked to your account.", } [PreviousGet Blacklistschevron-left](https://docs.luaprot.net/luaprot/api-documentation/get-blacklists) [NextLuraph Macroschevron-right](https://docs.luaprot.net/luaprot/macro-documentation/luraph-macros) Last updated 2 months ago sun-brightdesktopmoon sun-brightdesktopmoon --- # Disconnect Sessions | LuaProt `**DELETE**` `/api/v1/sessions/disconnectall` #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/disconnect-sessions#query) Query Query Description key Key to look for. * * * #### [hashtag](https://docs.luaprot.net/luaprot/api-documentation/disconnect-sessions#reponse) Reponse 200 400 Copy { "success": true, "message": "Successfully disconnected sessions.", } Copy { "success": false, "message": "No active sessions found.", } [PreviousMessage Sessionschevron-left](https://docs.luaprot.net/luaprot/api-documentation/message-sessions) [NextGet Blacklistschevron-right](https://docs.luaprot.net/luaprot/api-documentation/get-blacklists) Last updated 2 months ago sun-brightdesktopmoon sun-brightdesktopmoon ---