Overview
Everything a software owner does in the panel, from your own server.
Never call it from a mod build. The method field names the action; the other fields are its parameters.
Keep in mind
- One address
https://dev.mod.wtf/api/v2/actionfor every action.- Software Owner keys
- Calls run as the owner of the API key, see authentication.
- Several software
soft_idtakes any software you own. Actions without a requiredsoft_iduse your main software unless you pass one.- Never cached
- Answers are sent with
Cache-Control: no-storeandX-Content-Type-Options: nosniff. - Stable codes
- Failures carry a machine-readable
error, listed on errors.
Request shape
{
"api_key": "YOUR_API_KEY",
"method": "get-key",
"soft_id": 123,
"key": "KEY-EXAMPLE"
}
curl -sS -X POST 'https://dev.mod.wtf/api/v2/action' \
-H 'Content-Type: application/json' \
-d '{
"api_key": "YOUR_API_KEY",
"method": "get-key",
"soft_id": 123,
"key": "KEY-EXAMPLE"
}'
POST /api/v2/action HTTP/1.1
Host: dev.mod.wtf
Content-Type: application/json
Accept: application/json
{
"api_key": "YOUR_API_KEY",
"method": "get-key",
"soft_id": 123,
"key": "KEY-EXAMPLE"
}
Response shape
{
"ok": true,
"data": {
"key": "KEY-EXAMPLE",
"max_devices": 1
}
}
{
"ok": false,
"error": "not_found",
"message": "key not found"
}
Every action
| Action | What it does | Page |
|---|---|---|
get-softs |
List every software you own. | Software |
get-soft |
Get software details by ID. | Software |
edit-soft |
Update software fields. | Software |
create-soft |
Create extra software. Needs the right from the panel owner; the limit counts software you created. | Software |
delete-soft |
Delete software you created. It must be empty: no keys, accounts, domains or files. | Software |
reset-soft-hash |
Generate a new software hash. | Software |
get-connect |
Read the Connect settings of an endpoint and game profile: request fields, response templates, signature, IP guard, CipherLink and messages. | Connect settings |
edit-connect |
Change request fields, templates, signature, IP guard or CipherLink. Send only the fields to change. | Connect settings |
edit-connect-messages |
Change the refusal messages of an endpoint and game profile. | Connect settings |
create-game-profile |
Add a game profile with its own fields, templates and messages. | Connect settings |
delete-game-profile |
Delete a game profile. | Connect settings |
rotate-cipher-keys |
Generate CipherLink keys and turn CipherLink on. Replacing existing keys needs confirm=true; old builds stop passing validation. | Connect settings |
edit-connect-page |
Change the public page at the Connect URL. To upload background or music, send multipart/form-data with the method in the query string: POST /api/v2/action?method=edit-connect-page. | Connect settings |
get-online |
Read the Online System: mod feature switches, mod name, status and floating text. | Online System and files |
edit-online |
Change Online System values. Send only what changes; running mods get them on the next check. | Online System and files |
get-files |
List Online Lib files of a software with their public links. | Online System and files |
upload-files |
Upload library files. Send multipart/form-data with the method in the query string: POST /api/v2/action?method=upload-files. Up to 10 files and 14 MB per upload. | Online System and files |
rename-file |
Change the public link name of a file. Old links keep working. | Online System and files |
replace-file |
Replace a file. Send multipart/form-data with the method in the query string: POST /api/v2/action?method=replace-file. Its links keep working. | Online System and files |
delete-file |
Delete one file, or every file of the software with all=true. Their links stop working. | Online System and files |
get-keys |
List software keys. | Keys |
create-keys |
Generate 1 to 1000 keys. Uses the software key_format unless overridden. | Keys |
get-key |
Get one key by its user_key string. | Keys |
edit-key |
Update one key. | Keys |
delete-key |
Delete one key. | Keys |
reset-key-hwid |
Reset a key's linked devices and increment hwid_resets_used by 1. | Keys |
export-keys |
Export a list as a file, up to 10000 rows. | Keys |
get-bans |
List banned device serials with refused attempts. | Keys |
ban-device |
Ban a device serial. Connect refuses it on every key of the software. | Keys |
unban-device |
Remove a ban. | Keys |
reset-keys-hwid |
Reset devices for all matching keys. | Bulk operations |
pause-keys |
Pause matching keys (active=0). | Bulk operations |
resume-keys |
Resume matching keys (active=1). | Bulk operations |
extend-keys |
Add or subtract days from activated, time-limited keys. Paused keys stay paused. Unactivated and lifetime keys are skipped. | Bulk operations |
delete-keys |
Delete matching keys. kind=all requires confirm. | Bulk operations |
block-keys |
Block matching keys (status=0). Blocked keys are refused by Connect. | Bulk operations |
unblock-keys |
Unblock matching keys (status=1). | Bulk operations |
get-domains |
Custom domains for this endpoint (up to 5 on Main and the same number on Test). | Custom domains |
create-domain |
Add a custom domain. Point it to the panel IP and add a TXT record at _modkey.<domain>: until it exists the call returns dns_txt_required with the record name and value in details.name and details.value. Then a Let's Encrypt certificate and Apache vhost are provisioned. Up to 5 create or delete operations per hour, failed TXT checks included. | Custom domains |
edit-domain |
Enable or disable a domain. The vhost and certificate are retained in both cases. | Custom domains |
delete-domain |
Delete a domain. The Apache vhost is removed; the certificate remains on disk. Shares the 5 per hour quota with domain creation. | Custom domains |
get-key-templates |
Your key generation templates. | Templates |
create-key-template |
Create a generation template. | Templates |
delete-key-template |
Delete your template. | Templates |
get-users |
Client accounts created by you. status: 1 not blocked, 0 blocked; check expiration_date for expiry. | Client accounts |
create-user |
Create a client account. Software and uplink are assigned automatically. | Client accounts |
get-user |
Client account details. | Client accounts |
edit-user |
Update one of your client accounts. | Client accounts |
delete-user |
Delete a client account. | Client accounts |
block-user |
Block: status=0, the user can no longer sign in. | Client accounts |
unblock-user |
Unblock: status=1. | Client accounts |
kick-user-sessions |
Reset quick-login tokens and require the user to sign in again. | Client accounts |
reset-user-password |
Create a one-hour password reset link for an Admin or Reseller you created. | Client accounts |
get-referrals |
Same as get-users. | Referrals |
create-referral |
Same as create-user; level defaults to 2 (Admin). In software you created, level 4 adds a Software owner. | Referrals |
get-referral-codes |
List sign-up codes of a software. used=0 for free codes, used=1 for used ones. | Referrals |
create-referral-code |
Create a one-time sign-up code. It sets the role, balance and account term of whoever signs up with it. | Referrals |
delete-referral-code |
Delete an unused code. Used codes stay in history. | Referrals |
get-overview-stats |
Software totals: keys, domains and client accounts. | Statistics |
get-soft-stats |
Software key counts: total, active, paused, blocked and expired. | Statistics |
get-logs |
Read the log of a software: panel actions and key checks, 50 per page. | Logs and clients |
get-connect-logins |
List Connect sign-ins: serial, key and result. | Logs and clients |
get-clients |
Clients by country from successful key checks, and who is online now. | Logs and clients |
| Nothing matches that filter. | ||