KENT STORE Reseller API
Buy any product from @KentStoreebot automatically from your own bot or website. Prices are the same as in the shop. Money is taken from your bot balance.
https://46-101-122-59.sslip.io/api/v1Authentication — every request needs your key:
Authorization: Bearer ks_live_...Get the key in the bot: menu button 🔌 Reseller API. Keep it secret — anyone with it can spend your balance. If it leaks, create a new key in the bot (the old one stops working at once).
Quick start
curl https://46-101-122-59.sslip.io/api/v1/balance -H "Authorization: Bearer YOUR_KEY"
curl https://46-101-122-59.sslip.io/api/v1/products -H "Authorization: Bearer YOUR_KEY"
curl -X POST https://46-101-122-59.sslip.io/api/v1/orders \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: my-order-000123" \
-d '{"productId": 12, "quantity": 1}'
Endpoints
GET/balance
{"balance": 25.4, "currency": "USD"}
GET/products
All products on sale. Optional: ?category=3, ?details=1 (adds description and rules).
{"data": [{"id": 12, "name": "ChatGPT Plus 1 month", "category": "AI", "categoryId": 3,
"price": 4.5, "currency": "USD", "stock": 17, "inStock": true, "maxQuantity": 50}],
"total": 1}
GET/products/{id}
One product with description and rules (warranty / usage terms).
POST/orders
Body: {"productId": 12, "quantity": 1}. Header Idempotency-Key is required:
a unique string (8–128 chars: letters, digits, - _ : .) for each new order, e.g. your own order ID.
If the network fails, repeat the request with the same key — you get the same order back and are never charged twice.
HTTP 200
{"id": "KS-7K3F9QP", "status": "delivered", "productId": 12, "productName": "ChatGPT Plus 1 month",
"quantity": 1, "unitPrice": 4.5, "amount": 4.5, "currency": "USD",
"keys": ["login:pass ..."], "balance": 20.9, "createdAt": "2026-11-09T16:20:00+00:00"}
If the product comes from a partner and is still being prepared you get HTTP 202 with
"status": "pending" and empty keys. Check GET /orders/{id} every 15–30 seconds
(do not create a new order).
GET/orders/{id}
Your order by ID (e.g. KS-7K3F9QP). keys are filled when status is delivered.
GET/orders
Your orders, newest first. ?limit=50&page=1 (limit up to 100).
Order statuses
| status | meaning |
|---|---|
delivered | Done, items are in keys |
pending | Paid, being prepared — check again later, don't re-order |
failed / refunded | Not delivered, money returned to your balance |
Errors
Errors return JSON {"error": "code", "message": "..."}.
| HTTP | error | what to do |
|---|---|---|
| 400 | idempotency_key_required, invalid_request, invalid_quantity | Fix the request |
| 401 | missing_api_key, invalid_api_key | Check the key |
| 402 | insufficient_balance | Top up in the bot (response has required and balance) |
| 403 | account_blocked, manual_review_required | Contact support |
| 404 | product_not_found, order_not_found | Refresh the product list |
| 409 | out_of_stock, price_changed, idempotency_conflict | Refresh product / use a new key for a new order |
| 429 | rate_limited | Max 120 requests per minute — wait (Retry-After) |
| 503 | temporarily_unavailable, api_disabled | Try again later (no money is taken) |
Tips
- Cache
/productsfor 1–5 minutes instead of calling it on every customer request. - Always check
inStockandpricebefore selling to your customer. - Warranty and replacements work the same as in the shop — contact support with the order ID.
Support: @KentStoreebot