KA BOT API

Start here

Connect your bot to KA BOT and redeem PUBG UC over HTTP. Get one successful test call before you wire customer checkout.

Base URL: https://api.kabotapi.com · every response carries KA-Version and X-Request-Id.

Authentication

Authorization: Bearer pk_0123456789abcdef0123456789abcdef

X-API-Key: pk_… is accepted as an alternative. Live keys are pk_ + 32 hex chars (35 chars total). Test keys use prefix sk_test_ (same length pattern). Keys are issued per merchant in Telegram: /api_system → pick a plan → Generate key (shown once).

Server-side only. Your key can spend your codes and your wallet. Never put it in a browser page, a mobile app, or a query string — call the API from your backend and keep the key in an environment variable.

Scopes

ScopeGrants
redeemPOST /v1/redeem
read/v1/me, /v1/stock, /v1/jobs/*, /v1/webhook

Keys can also be IP-restricted. Several keys may be active at once, so rotation needs no downtime: create the new key, deploy it, then revoke the old one.

The API needs a live bot subscription

The API is an add-on to the bot, not a way around it. Every call needs both an active bot subscription and an active API plan. If the bot subscription lapses, every endpoint returns 402 subscription_expired — even while the API plan itself is still paid.

GET /v1/me reports it before it becomes a problem:

"subscription": { "active": true, "expires_at": 1789000000, "days_left": 12 }

Poll /v1/me daily and warn your team on days_left <= 3.

First successful request

  1. Key/api_system in Telegram.
  2. Smoke testGET /v1/me (plan, quota, balance, subscription) or GET /v1/stock (inventory).
  3. RedeemPOST /v1/redeem with exactly one code source and an Idempotency-Key header.
  4. Read the result — each code comes back with a status and a disposition.
  5. Long jobs — send "async": true, then poll GET /v1/jobs/{job_id} or take a webhook.
If /v1/me fails, fix the key / plan / subscription first — do not debug redeem yet.
curl -sS "{{BASE}}/v1/me" \
  -H "Authorization: Bearer pk_0123456789abcdef0123456789abcdef"

Pick a code source

A · Your database

You already hold codes in your bot DB. Send them in codes. We hold no copy, so every result comes back as disposition: "unchanged".

B · KA BOT inventory

Codes sit in your KA BOT stock (/addcodes or buy). Send uc, categories, or packs. We report per code whether it was consumed, deleted, or returned to stock.

One source per request. Mixing codes with inventory fields → 400 ambiguous_source. Details and failure handling → Redeem.

Billing (short)

You pay for outcomes, not attempts. Requests are charged up front, then every code whose failure was caused by our infrastructure is refunded automatically and reported as refunded_requests.

Free: /v1/health, /v1/me, /v1/stock, /v1/jobs/{id}, /v1/webhook. Full rules → Limits.

Chat redeem inside KA BOT (active subscription) does not use API quota. Checker is priced separately.