Skip to main content
DevelopersAPI Reference
Partner API

API Reference

Base URL: https://api.kobklein.com · All responses are JSON · TLS required

Authentication

All Partner API requests require an API key in the X-API-Key header. Live keys start with kk_live_; test keys with kk_test_.

bash
curl https://api.kobklein.com/v1/partner/verify \
  -H "X-API-Key: kk_live_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"token": "PASSPORT_TOKEN"}'

Security

Never expose API keys in client-side code, mobile bundles, or public repos. Keys can be restricted to specific IP ranges — contact your account manager to enable IP allowlisting.

Request Signing (Optional)

For endpoints that accept sensitive data, add an X-KK-Signature header. KobKlein verifies it server-side using your shared secret.

javascript
import crypto from "crypto";

function sign(payload: object, secret: string): string {
  const body = JSON.stringify(payload);
  return crypto.createHmac("sha256", secret).update(body).digest("hex");
}

// Add to request headers:
headers["X-KK-Signature"] = sign(payload, process.env.KOBKLEIN_SIGNING_SECRET);
headers["X-KK-Timestamp"] = Date.now().toString();

Identity API

Verify a user's K-Passport token in real time. Requires identity:verify scope on your API key.

Payments API

Initiate and inspect transfers. Requires payments:write or payments:read scope.

Users API

Look up a KobKlein user by K-ID or phone. Requires users:read scope.

Webhook Configuration

Register endpoints to receive real-time event notifications. Requires webhooks scope.

Reconciliation API

Export transaction data for daily reconciliation. Requires reconciliation:read scope.

Error Codes

HTTPcodeMeaning
400invalid_requestMissing or malformed required field
401invalid_api_keyAPI key missing, revoked, or wrong format
403insufficient_scopeAPI key lacks required scope for this endpoint
403ip_not_allowedCaller IP not in allowlist
404not_foundResource (user, transaction) does not exist
409idempotency_conflictSame Idempotency-Key used with different payload
422token_expiredK-Passport token is past its 5-minute TTL
429rate_limit_exceededToo many requests — see Rate Limits
500internal_errorKobKlein internal error — retry with exponential backoff

Rate Limits

Endpoint groupLimit
Identity verify (POST /v1/partner/verify)60 req / min
Payments (POST /v1/partner/payments)120 req / min
User lookups (GET /v1/partner/users/*)300 req / min
Reconciliation export10 req / hour
All other endpoints200 req / min

Rate limit headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (Unix timestamp).