AI Assistant

GSM Service API for Resellers β€’ IMEI/Unlock/FRP/MDM

GSM Service API for Resellers

Create, track, and automate IMEI/Unlock/FRP/MDM orders with JSON and Bearer auth.

Auth via Authorization: Bearer <API_KEY>. Responses are JSON. Code samples provided below (cURL, PHP, Python).

API Basics

FieldValue
Base URLhttps://www.quickaccdeals.com/api/v1
Versioning/v1 in path
AuthAuthorization: Bearer <API_KEY>
Content-Typeapplication/json
Rate Limits60 req/min by default; contact support for higher tiers
TimeISO8601 (UTC)
Optional SecurityNotes
X-Idempotency-KeyPrevent duplicates on retries
X-NonceRandom per-request nonce
X-SignatureHMAC-SHA256(method|path|nonce|body)

Endpoint Map

Endpoint Method Description
https://www.quickaccdeals.com/api/v1/services GET List available services, inputs, ETA & pricing
https://www.quickaccdeals.com/api/v1/orders POST Create a new order (IMEI/SN/Email as required)
https://www.quickaccdeals.com/api/v1/orders/{id} GET Check order status and result payload
https://www.quickaccdeals.com/api/v1/orders/bulk POST Bulk create (array/CSV)
https://www.quickaccdeals.com/api/v1/balance GET Wallet balance
https://www.quickaccdeals.com/api/v1/refunds POST Request refund (full/partial/credit)

Service Catalog (GET /services)

# cURL
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": "USB/Diag session required. BIT must match."
    },
    {
      "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; blacklist not supported."
    }
  ]
}

Create Order (POST /orders)

For GSM jobs, quantity is always 1. Provide IMEI, Serial Number, or Email according to the selected 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"
}
Validation errors
{"error":"Invalid IMEI format"}
{"error":"Unsupported model/bit for selected service"}
{"error":"Insufficient balance"}
{"error":"Missing required field: carrier"}

Order Status (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

Bulk Orders (POST /orders/bulk)

Up to 100 orders per request. Per-item status is returned.

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": []
}

Balance (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"
}

Refunds (POST /refunds)

Refund policy depends on service and status. Partial refunds require an 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 (Optional)

Receive push updates on order changes. Verify signature with your webhook secret.

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 over the raw request body and compare against X-Signature.

Minimal Snippets (PHP / Python / cURL)

// PHP (vanilla/Laravel compatible)
$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, JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE),
]);
$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 checks
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 (SEO)

Which GSM operations does the API support?
IMEI repair (USB/Diag where legal), server unlocks (carrier), FRP/MDM/Knox workflows (policy-compliant), and status/result retrieval.
Do you support bulk orders?
Yes, up to 100 per request via POST /orders/bulk.
How do I avoid duplicate orders?
Send a unique X-Idempotency-Key with each create request and retry safely.
Is there a sandbox?
Contact support for a test key. Responses mirror production with masked results.