AI Assistant

GSM REST API Documentation • IMEI • Unlock • FRP • MDM

IMEI REPAIR SERVER — GSM REST API

Build IMEI/Unlock/FRP/MDM automation with secure, JSON-based endpoints.

Base URL: https://www.quickaccdeals.com/api/v1 • Auth: Authorization: Bearer <API_KEY> • Content-Type: application/json

Authentication & Security

HeaderUsage
AuthorizationBearer <API_KEY> (required)
Content-Typeapplication/json (required)
X-Idempotency-KeyUnique token per create request to avoid duplicates (optional)
X-NonceRandom per request nonce (optional)
X-SignatureHMAC-SHA256(method|path|nonce|body) for extra integrity (optional)
Store API keys securely (server-side). Rotate keys periodically. Use HTTPS only. Treat webhooks as untrusted until signature is verified.

Endpoint Map

EndpointMethodDescription
https://www.quickaccdeals.com/api/v1/servicesGETList services, inputs, ETA & rates
https://www.quickaccdeals.com/api/v1/ordersPOSTCreate new order (IMEI/SN/Email)
https://www.quickaccdeals.com/api/v1/orders/{id}GETGet order status/result
https://www.quickaccdeals.com/api/v1/orders/bulkPOSTBulk create (array/CSV)
https://www.quickaccdeals.com/api/v1/balanceGETCheck wallet balance
https://www.quickaccdeals.com/api/v1/refundsPOSTRequest refund (full/partial/credit)

GET /services

curl -s -X GET "https://your-domain.com/api/v1/services" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
{
  "status":"success",
  "services":[
    {
      "id":12001,
      "name":"IMEI Repair – Samsung (USB/Diag)",
      "category":"IMEI",
      "rate":"25.00",
      "currency":"USD",
      "inputs":["imei","model","region_hint"],
      "delivery_eta":"1-24h",
      "notes":"BIT must match firmware."
    },
    {
      "id":13055,
      "name":"Carrier Unlock – iPhone (Server)",
      "category":"Unlock",
      "rate":"35.00",
      "currency":"USD",
      "inputs":["imei","carrier"],
      "delivery_eta":"Instant-2h",
      "notes":"Clean IMEI only."
    }
  ]
}

POST /orders

For GSM jobs, quantity is always 1. Provide IMEI, Serial Number, or Email according to the service.

curl -s -X POST "https://your-domain.com/api/v1/orders" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "service": 12001,
    "payload": {
      "imei": "356789123456789",
      "model": "S918U",
      "region_hint": "USA"
    }
  }'
{
  "status":"success",
  "order_id":54849,
  "message":"Order accepted",
  "credit_charged":"25.00",
  "currency":"USD"
}
Common errors
{"error":"Invalid IMEI format"}
{"error":"Unsupported model/bit for selected service"}
{"error":"Insufficient balance"}
{"error":"Missing required field: carrier"}

GET /orders/{id}

curl -s -X GET "https://your-domain.com/api/v1/orders/54849" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
{
  "id":54849,
  "status":"Completed",
  "created_at":"2025-01-14T13:22:09Z",
  "updated_at":"2025-01-14T14:05:47Z",
  "result":{
    "imei":"356789123456789",
    "network":"Unlocked",
    "notes":"Server unlock OK. Restart & insert SIM."
  }
}
Pending Processing Completed Failed Refunded

POST /orders/bulk

Up to 100 orders per request. Use X-Idempotency-Key for safe retries.

curl -s -X POST "https://your-domain.com/api/v1/orders/bulk" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "orders":[
      {"service":12001,"payload":{"imei":"356789123456789","model":"S918U"}},
      {"service":13055,"payload":{"imei":"353001234567890","carrier":"AT&T"}}
    ]
  }'
{
  "accepted":[{"index":0,"order_id":4030},{"index":1,"order_id":50000}],
  "errors":[]
}

GET /balance

curl -s -X GET "https://your-domain.com/api/v1/balance" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
{
  "status":"success",
  "balance":"125.50",
  "currency":"USD"
}

POST /refunds

Policy varies by service state. Partial refunds require amount.

curl -s -X POST "https://your-domain.com/api/v1/refunds" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "order_id":54849,
    "type":"partial",
    "amount":"10.00",
    "reason":"Delay beyond SLA"
  }'
{
  "status":"success",
  "refund_id":"rf_7c1a31a2",
  "order_id":54849,
  "type":"partial",
  "amount":"10.00",
  "currency":"USD"
}

Webhooks

Receive order updates instantly. Verify signatures server-side.

POST https://your-callback-url.example/webhook/gsm
Headers:
  Content-Type: application/json
  X-Event: order.updated
  X-Signature: sha256=ab12...f9
Body:
{
  "id":54849,
  "status":"Completed",
  "result":{"imei":"356789123456789","network":"Unlocked"},
  "occurred_at":"2025-01-14T14:05:47Z"
}
Compute HMAC-SHA256 using your webhook secret over the raw request body; compare to X-Signature.

Minimal Code Samples

// PHP (cURL)
$api = "https://your-domain.com/api/v1/orders";
$payload = ['service'=>12001,'payload'=>['imei'=>'356789123456789','model'=>'S918U']];
$ch = curl_init($api);
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => [
    'Authorization: Bearer ' . getenv('GSM_API_KEY'),
    'Content-Type: application/json',
  ],
  CURLOPT_POSTFIELDS => json_encode($payload),
]);
$res = curl_exec($ch);
if ($res === false) throw new \RuntimeException(curl_error($ch));
curl_close($ch);
echo $res;
# Python (requests)
import os, json, requests
api = "https://your-domain.com/api/v1/orders"
payload = {"service":12001,"payload":{"imei":"356789123456789","model":"S918U"}}
r = requests.post(api, headers={
  "Authorization": f"Bearer {os.getenv('GSM_API_KEY')}",
  "Content-Type": "application/json"
}, data=json.dumps(payload))
print(r.status_code, r.text)
# cURL quick tests
curl -s -H "Authorization: Bearer YOUR_API_KEY" "https://your-domain.com/api/v1/services"
curl -s -H "Authorization: Bearer YOUR_API_KEY" "https://your-domain.com/api/v1/orders/54849"

FAQ

Do you support sandbox/testing?
Yes. Request a sandbox key from support; responses mimic production with masked data.
How to prevent duplicate orders?
Send a unique X-Idempotency-Key per create request and safely retry on timeouts.
What’s a typical workflow?
Fetch /services → create /orders → poll /orders/{id} or subscribe to webhooks → record results.
Which GSM jobs are supported?
IMEI repair (USB/Diag, where legal), carrier server unlocks, FRP/MDM/Knox actions (policy-compliant), and device info lookups depending on your plan.