Account endpoints
info
these are endpoints relating to projects
Getting project info
GET
/projects/:project_id
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Response
- Success
{
"success": true,
"project": {
"id": "PROJECT_ID",
"name": "PROJECT_NAME",
"fingerprint_reset_cooldown": 86400000,
"allow_fingerprint_resets": true,
"delete_expired_users": false,
"execution_webhook": "WEBHOOK",
"information_webhook": "WEBHOOK",
"blacklist_webhook": "WEBHOOK",
"total_executions": 0
}
}
Editing a project
POST
/projects/:project_id/edit
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Body
| Name | Type | Nullable | Description |
|---|---|---|---|
| name | String | ✅ | Name for the project |
| fingerprint_reset_cooldown | Number | ✅ | Fingerprint reset cooldown in ms |
| allow_fingerprint_resets | Boolean | ✅ | Allow users to reset there own fingerprint, does not effect force reset |
| delete_expired_users | Boolean | ✅ | Delete expired users after 15 minutes |
| execution_webhook | String | ✅ | Webhook used for logging executions |
| information_webhook | String | ✅ | Webhook used for logging information like fingerprint resets and key generation |
| blacklist_webhook | String | ✅ | Webhook used for logging blacklists |
Response
- Success
- Error
{
"success": true,
"project": {
"id": "PROJECT_ID",
"name": "PROJECT_NAME",
"fingerprint_reset_cooldown": 86400000,
"allow_fingerprint_resets": true,
"delete_expired_users": false,
"execution_webhook": "WEBHOOK",
"information_webhook": "WEBHOOK",
"blacklist_webhook": "WEBHOOK",
"total_executions": 0
}
}
| Code | Message |
|---|---|
| 0 | account expired |
| 1 | cannot edit nothing |
Deleting a project
POST
/projects/:project_id/remove
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Response
- Success
{ "success": true }
Getting executions
GET
/projects/:project_id/executions
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Response
- Success
{
"success": true,
"executions": {
"total": { "01/01": 0 },
"SCRIPT_NAME - SCRIPT_ID": { "01/01": 0 }
}
}
Getting executors
GET
/projects/:project_id/executors
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Response
- Success
{
"success": true,
"executors": { "NAME": 0 },
"percentages": { "NAME": 100 }
}
Getting scripts
GET
/projects/:project_id/scripts
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Response
- Success
{
"success": true,
"scripts": [{
"id": "SCRIPT_ID",
"name": "SCRIPT_NAME",
"free_for_all": false,
"use_heartbeat": true,
"kick_outdated": false,
"enabled": true,
"total_executions": 0
}]
}
Creating a new script
POST
/projects/:project_id/scripts/new
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Body
| Name | Type | Nullable | Default | Description |
|---|---|---|---|---|
| name | String | ❌ | Name for the script | |
| free_for_all | Boolean | ✅ | False | Allow users to execute without a key |
| use_heartbeat | Boolean | ✅ | True | Continue to check users after initial verification |
| kick_outdated | Boolean | ✅ | False | Kick users using old version of the script |
| script | String | ❌ | the source code of the script |
Response
- Success
- Error
{
"success": true,
"script_id": "SCRIPT_ID"
}
| Code | Message | Extra |
|---|---|---|
| 0 | max scripts reached | |
| 1 | max obfuscations reached | |
| 2 | account expired | |
| 3 | failed to obfuscate script | luraph_errors: [{ param: 'PARAM', message: 'MESSAGE' }] |
Getting users
GET
/projects/:project_id/users
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Queries
| Name | Type | Nullable | Description |
|---|---|---|---|
| from | Number | ✅ | Start index for list |
| limit | Number | ✅ | Amount of users to return |
Response
- Success
{
"success": true,
"users": [{
"key": "USER_KEY",
"discord_id": "DISCORD_ID",
"fingerprint_assigned": true,
"executor": "EXECUTOR",
"executions": 0,
"key_expires": 1770624500000,
"last_reset": 1770538100000,
"total_fingerprint_resets": 0,
"note": "NOTE",
"blacklisted": false,
"blacklist_reason": null,
"blacklist_expires": null,
"luaauth_fingerprint": "⬛⬛⬛⬛⬛⬛ -> ip\n⬛⬛⬛⬛⬛⬛ -> fingerprint\n⬛⬛⬛⬛⬛⬛ -> executor"
}]
}
Filtering users
GET
/projects/:project_id/users/filter
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Queries
| Name | Type | Nullable | Description |
|---|---|---|---|
| from | Number | ✅ | Start index for list |
| limit | Number | ✅ | Amount of users to return |
| key | Number | ✅ | Key user must have |
| fingerprint_assigned | Boolean | ✅ | Return users with / without a fingerprint assigned |
| key_expires | Boolean | ✅ | Return users that keys can / cant expire |
| discord_id | String | ✅ | Discord user must have |
| executor | String | ✅ | Executor users must have |
| note | String | ✅ | Note users must have |
| blacklisted | Boolean | ✅ | Return users that are / arent blacklisted |
| blacklist_reason | Boolean | ✅ | Blacklist reason users must have |
| blacklist_expires | Boolean | ✅ | Return users that blacklist does / doesnt expire |
| search | String | ✅ | Returns users who key / discord / note / executor / blacklist reason includes this string |
Response
- Success
- Error
{
"success": true,
"users": [{
"key": "USER_KEY",
"discord_id": "DISCORD_ID",
"fingerprint_assigned": true,
"executor": "EXECUTOR",
"executions": 0,
"key_expires": 1770624500000,
"last_reset": 1770538100000,
"total_fingerprint_resets": 0,
"note": "NOTE",
"blacklisted": false,
"blacklist_reason": null,
"blacklist_expires": null,
"luaauth_fingerprint": "⬛⬛⬛⬛⬛⬛ -> ip\n⬛⬛⬛⬛⬛⬛ -> fingerprint\n⬛⬛⬛⬛⬛⬛ -> executor"
}]
}
| Code | Message |
|---|---|
| 0 | must filter something |
Importing users
POST
/projects/:project_id/users/import
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Body
| Name | Type | Nullable | Description |
|---|---|---|---|
| users | Json list | ❌ | Json list of user jsons to import |
User json
structure of each user your importing
| Names | Types | Nullable | Default | Description |
|---|---|---|---|---|
| discord_id OR discord | String | ✅ | Null | Discord id of the user |
| fingerprint OR identifier OR hwid | String | ✅ | Null | Fingerprint for the user |
| auth_expire OR key_expires | Number | ✅ | Null | Unix timestamp that key expires in seconds or milliseconds |
| note | String | ✅ | Null | Note for the user |
| executor | String | ✅ | Null | Executor the user uses |
| blacklisted | Boolean | ✅ | False | Is user blacklisted |
| blacklist_reason | String | ✅ | Null | Reason user is blacklisted |
| blacklist_expires | Number | ✅ | Null | Unix timestamp that blacklist expires in seconds or milliseconds |
Response
- Success
- Error
{
"success": true,
"imported": 0,
"skipped": 0
}
| Code | Message |
|---|---|
| 0 | too many users to import |
| 1 | account expired |
| 2 | no users given |
Exporting users
POST
/projects/:project_id/users/export
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Body
| Name | Type | Options | Nullable | Description |
|---|---|---|---|---|
| type | Enum | 'text' OR 'json' | ❌ | File type to export to, also changes what is exported |
Response
- Success (json)
- Success (text)
{
"success": true,
"exported": "[{ \"key\": \"USER_KEY\", \"discord_id\": \"DISCORD_ID\", \"executor\": \"EXECUTOR\", \"key_expires\": null, \"note\": \"NOTE\", \"blacklisted\": false, \"blacklist_reason\": null, \"blacklist_expires\": null }]"
}
{
"success": true,
"exported": "--- UNUSED KEYS, format: key ---\nUSER_KEY\n--- USED KEYS, format: key, discord, executor ---\nUSER_KEY, DISCORD_ID, EXECUTOR\nUSER_KEY, N/A, N/A\n"
}
Creating a new user
POST
/projects/:project_id/users/new
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Body
| Name | Type | Nullable | Default | Description |
|---|---|---|---|---|
| discord_id | String | ✅ | Null | Discord id of the user |
| key_expires | Number | ✅ | Null | Unix timestamp in ms of when key expires |
| note | Number | ✅ | Null | Note for user |
Response
- Success
- Error
{
"success": true,
"user_key": "USER_KEY"
}
| Code | Message |
|---|---|
| 0 | max users reached |
| 1 | account expired |
| 2 | key already exists with this discord |
Mass generating users
POST
/projects/:project_id/users/generate
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Body
| Name | Type | Nullable | Default | Description |
|---|---|---|---|---|
| keys_expire | Number | ✅ | Null | Unix timestamp in ms of when the keys expire |
| note | Number | ✅ | Null | Notes for users |
| amount | Number | ❌ | Amount of users to generate |
Response
- Success
- Error
{
"success": true,
"user_keys": [ "USER_KEY" ]
}
| Code | Message |
|---|---|
| 0 | too many keys to generate |
| 1 | account expired |
Resetting every users fingerprint
POST
/projects/:project_id/users/resetall
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Response
- Success
- Error
{ "success": true }
| Code | Message |
|---|---|
| 0 | account expired |
Delete every unused user
POST
/projects/:project_id/users/purge
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Response
- Success
- Error
{ "success": true }
| Code | Message |
|---|---|
| 0 | account expired |
Delete every user
POST
/projects/:project_id/users/clear
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Response
- Success
- Error
{ "success": true }
| Code | Message |
|---|---|
| 0 | account expired |
Compensate every user
POST
/projects/:project_id/users/compensate
Parameters
| Name | Type | Description |
|---|---|---|
| project_id | String | The projects id |
Body
| Name | Type | Nullable | Description |
|---|---|---|---|
| duration | Number | ❌ | Ms to add to key |
| compensate_expired | Boolean | ❌ | Compensate users that keys have already expired |
Response
- Success
- Error
{ "success": true }
| Code | Message |
|---|---|
| 0 | account expired |