Skip to main content

Account endpoints

info

these are endpoints relating to projects


Getting project info

GET /projects/:project_id

Parameters

NameTypeDescription
project_idStringThe projects id

Response

{
"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,
"require_discord": false,
"require_join_server": false,
"total_sessions": 0,
"total_instances": 0
}
}

Editing a project

POST /projects/:project_id/edit

Parameters

NameTypeDescription
project_idStringThe projects id

Body

NameTypeNullableDescription
nameStringName for the project
fingerprint_reset_cooldownNumberFingerprint reset cooldown in ms
allow_fingerprint_resetsBooleanAllow users to reset there own fingerprint, does not effect force reset
delete_expired_usersBooleanDelete expired users after 15 minutes
execution_webhookStringWebhook used for logging executions
information_webhookStringWebhook used for logging information like fingerprint resets and key generation
blacklist_webhookStringWebhook used for logging blacklists
require_discordBooleanRequire users to link their discord to use the script
require_join_serverBooleanRequire users to be in your server to use the script

Response

{ "success": true }

Deleting a project

POST /projects/:project_id/remove

Parameters

NameTypeDescription
project_idStringThe projects id

Response

{ "success": true }

Getting executions

GET /projects/:project_id/executions

Parameters

NameTypeDescription
project_idStringThe projects id

Response

{
"success": true,
"executions": {
"total": { "01/01": 0 },
"SCRIPT_NAME - SCRIPT_ID": { "01/01": 0 }
}
}

Getting executors

GET /projects/:project_id/executors

Parameters

NameTypeDescription
project_idStringThe projects id

Response

{
"success": true,
"executors": { "NAME": 0 },
"percentages": { "NAME": 100 }
}

Getting scripts

GET /projects/:project_id/scripts

Parameters

NameTypeDescription
project_idStringThe projects id

Response

{
"success": true,
"scripts": [{
"id": "SCRIPT_ID",
"project_id": "PROJECT_ID",
"name": "SCRIPT_NAME",
"free_for_all": false,
"use_heartbeat": true,
"kick_outdated": false,
"require_sessions": false,
"enabled": true,
"total_executions": 0,
"total_sessions": 0,
"total_instances": 0
}]
}

Creating a new script

POST /projects/:project_id/scripts/new

Parameters

NameTypeDescription
project_idStringThe projects id

Body

NameTypeNullableDefaultDescription
nameStringName for the script
free_for_allBooleanFalseAllow users to execute without a key
use_heartbeatBooleanTrueContinue to check users after initial verification
kick_outdatedBooleanFalseKick users using old version of the script
require_sessionsBooleanFalsePrevent users without WebSockets to use the script
scriptStringthe source code of the script

Response

{
"success": true,
"script_id": "SCRIPT_ID"
}

Getting users

GET /projects/:project_id/users

Parameters

NameTypeDescription
project_idStringThe projects id

Queries

NameTypeNullableDescription
fromNumberStart index for list
limitNumberAmount of users to return

Response

{
"success": true,
"users": [{
"key": "USER_KEY",
"project_id": "PROJECT_ID",
"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,
"total_sessions": 0,
"total_instances": 0,
"luaauth_fingerprint": "⬛⬛⬛⬛⬛⬛ -> ip\n⬛⬛⬛⬛⬛⬛ -> fingerprint\n⬛⬛⬛⬛⬛⬛ -> executor"
}]
}

Filtering users

GET /projects/:project_id/users/filter

Parameters

NameTypeDescription
project_idStringThe projects id

Queries

NameTypeNullableDescription
fromNumberStart index for list
limitNumberAmount of users to return
keyNumberKey user must have
fingerprint_assignedBooleanReturn users with / without a fingerprint assigned
key_expiresBooleanReturn users that keys can / cant expire
discord_idStringDiscord user must have
executorStringExecutor users must have
noteStringNote users must have
blacklistedBooleanReturn users that are / arent blacklisted
blacklist_reasonBooleanBlacklist reason users must have
blacklist_expiresBooleanReturn users that blacklist does / doesnt expire
searchStringReturn users who key / discord / note / executor / blacklist reason includes this string
ad_keyBooleanReturn users that are / arent from the ad system

Response

{
"success": true,
"users": [{
"key": "USER_KEY",
"project_id": "PROJECT_ID",
"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,
"total_sessions": 0,
"total_instances": 0,
"luaauth_fingerprint": "⬛⬛⬛⬛⬛⬛ -> ip\n⬛⬛⬛⬛⬛⬛ -> fingerprint\n⬛⬛⬛⬛⬛⬛ -> executor"
}]
}

Importing users

POST /projects/:project_id/users/import

Parameters

NameTypeDescription
project_idStringThe projects id

Body

NameTypeNullableDescription
usersJson listJson list of user jsons to import

User json

structure of each user your importing

NamesTypesNullableDefaultDescription
discord_id OR discordStringNullDiscord id of the user
fingerprint OR identifier OR hwidStringNullFingerprint for the user
auth_expire OR key_expiresNumberNullUnix timestamp that key expires in seconds or milliseconds
noteStringNullNote for the user
executorStringNullExecutor the user uses
blacklistedBooleanFalseIs user blacklisted
blacklist_reasonStringNullReason user is blacklisted
blacklist_expiresNumberNullUnix timestamp that blacklist expires in seconds or milliseconds

Response

{
"success": true,
"imported": 0,
"skipped": 0
}

Exporting users

POST /projects/:project_id/users/export

Parameters

NameTypeDescription
project_idStringThe projects id

Body

NameTypeOptionsNullableDescription
typeEnum'text' OR 'json'File type to export to, also changes what is exported

Response

{
"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 }]"
}

Creating a new user

POST /projects/:project_id/users/new

Parameters

NameTypeDescription
project_idStringThe projects id

Body

NameTypeNullableDefaultDescription
discord_idStringNullDiscord id of the user
key_expiresNumberUnix timestamp in ms of when key expires, -1 for infinite
noteNumberNullNote for user
max_instancesNumber0Advanced key control field, max instances a user can have at once, 0 for infinite
max_executionsNumber0Advanced key control field, max executions for a user
use_fingerprintBooleanTrueAdvanced key control field, disabling this will prevent the key from being fingerprint locked

Response

{
"success": true,
"user_key": "USER_KEY"
}

Mass generating users

POST /projects/:project_id/users/generate

Parameters

NameTypeDescription
project_idStringThe projects id

Body

NameTypeNullableDefaultDescription
keys_expireNumberUnix timestamp in ms of when the keys expire, -1 for infinite
noteNumberNullNotes for users
amountNumberAmount of users to generate
max_instancesNumber0Advanced key control field, max instances a user can have at once, 0 for infinite
max_executionsNumber0Advanced key control field, max executions for a user, will be treated as expired after this so can be auto deleted
use_fingerprintBooleanTrueAdvanced key control field, disabling this will stop the key from being hwid locked

Response

{
"success": true,
"user_keys": [ "USER_KEY" ]
}

Resetting every users fingerprint

POST /projects/:project_id/users/resetall

Parameters

NameTypeDescription
project_idStringThe projects id

Response

{ "success": true }

Delete every unused user

POST /projects/:project_id/users/purge

Parameters

NameTypeDescription
project_idStringThe projects id

Response

{ "success": true }

Delete every user

POST /projects/:project_id/users/clear

Parameters

NameTypeDescription
project_idStringThe projects id

Response

{ "success": true }

Compensate every user

POST /projects/:project_id/users/compensate

Parameters

NameTypeDescription
project_idStringThe projects id

Body

NameTypeNullableDescription
durationNumberMs to add to key
compensate_expiredBooleanCompensate users that keys have already expired

Response

{ "success": true }

Getting sessions

POST /projects/:project_id/sessions

Parameters

NameTypeDescription
project_idStringThe projects id

Body

NameTypeNullableDescription
fromNumberStart index for list
limitNumberAmount of sessions to return

Response

{
"success": true,
"sessions": [{
"id": "SESSION_ID",
"user_key": "USER_KEY",
"script_id": "SCRIPT_ID",
"roblox_id": 10234711811,
"place_id": 606849621,
"job_id": "JOB_ID",
"created_at": 1770624500000
}]
}

Filtering sessions

GET /projects/:project_id/sessions/filter

Parameters

NameTypeDescription
project_idStringThe projects id

Queries

NameTypeNullableDescription
fromNumberStart index for list
limitNumberAmount of sessions to return
keyStringUser key session must have
script_idStringScript id session must have
roblox_idStringRoblox id of the session
place_idStringPlace id session must be in
job_idStringJob id session must be in

Response

{
"success": true,
"sessions": [{
"id": "SESSION_ID",
"user_key": "USER_KEY",
"script_id": "SCRIPT_ID",
"roblox_id": 10234711811,
"place_id": 606849621,
"job_id": "JOB_ID",
"created_at": 1770624500000
}]
}