FRP and FDL unlock API
Use one JSON endpoint to submit FRP or FDL jobs, deduct credit only on success, and receive the unlock payload. API access must be enabled on the account by an administrator.
Endpoint
Send JSON with Content-Type: application/json. Form-urlencoded bodies are also accepted. Always use HTTPS.
Authentication
Use the same username and password as the Power Tool Auth account. The password is verified against the stored hash. The account must be active and have API Access enabled.
Supported services
| soc | Service | What you send | What you get |
|---|---|---|---|
frp |
FRP Bypass | Base64 JSON with token, deviceName, productName |
Unlock token in data.response |
fdl |
FDL Unlock | Same blob shape from a fastboot/FDL read: token, deviceName (model), productName |
Signed payload in data.response to write back to the device |
Pricing follows the account: custom per-user price if set, otherwise reseller or user price for that service.
Request body
| Field | Required | Description |
|---|---|---|
username | Yes | Account username |
password | Yes | Account password in plain text |
soc | Yes | frp or fdl (case-insensitive) |
configblob | Yes | Base64-encoded JSON object. Must decode to valid JSON |
configblob JSON
{
"productName": "XIAOMI GLOBAL",
"deviceName": "gale_global",
"token": "DEVICE_TOKEN_HERE"
}
Encode that JSON as base64 and send it as configblob.
Response format
Every response is JSON with HTTP status 200. Use success to decide if the job worked.
{
"status": 200,
"success": true,
"message": "",
"request_id": "req_698e280729d3c8.71204931",
"timestamp": "2026-02-12T19:30:45Z",
"data": {
"response": "65D1EF3F15EFEF24C8D8EF8577D3A9EF...",
"credit": 7.5,
"pricing_type": "user",
"amount_charged": 3.0,
"service": "frp"
}
}
Credit is deducted only when success is true and a valid payload is returned. Failed jobs do not charge the account.
Examples
FRP — cURL
curl -X POST https://powertoolauth.com/login/api/api_sell.php \
-H "Content-Type: application/json" \
-d '{
"username": "john_doe",
"password": "mypassword123",
"soc": "frp",
"configblob": "BASE64_JSON_HERE"
}'
FDL — cURL
curl -X POST https://powertoolauth.com/login/api/api_sell.php \
-H "Content-Type: application/json" \
-d '{
"username": "john_doe",
"password": "mypassword123",
"soc": "fdl",
"configblob": "BASE64_JSON_HERE"
}'
PHP
<?php
$url = 'https://powertoolauth.com/login/api/api_sell.php';
$data = [
'username' => 'john_doe',
'password' => 'mypassword123',
'soc' => 'fdl', // or 'frp'
'configblob' => base64_encode(json_encode([
'productName' => 'XIAOMI GLOBAL',
'deviceName' => 'gale_global',
'token' => 'DEVICE_TOKEN_HERE',
])),
];
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
if (!empty($result['success'])) {
echo $result['data']['response'];
} else {
echo $result['message'] ?? 'Request failed';
}
Common errors
| Message | Meaning | Charged |
|---|---|---|
Missing required fields | username, password, soc, or configblob missing | No |
Invalid SOC model. Supported values: frp, fdl | soc is not frp or fdl | No |
Invalid username or password | Credentials do not match | No |
API access is not enabled for this account | Admin must enable API access | No |
Not enough credit | Balance is below the service price | No |
Invalid configblob: Not valid base64 JSON | Blob is not base64 JSON | No |
No active FRP/FDL server configured | Upstream server for that service is offline | No |
API request failed | Upstream returned an error or empty payload | No |
Need access or a price for FDL? Contact support on Telegram.