Opt In To Kibeti
Activates the caller’s Kibeti (PERSONAL_BUSINESS) wallet after checking their wallet PIN, and saves individualKraPin to their KYC profile.
- No Kibeti wallet yet: creates one as a sub-wallet of the caller’s Personal wallet. If that Personal wallet isn’t already a Choice Current Account (
C001), a wallet upgrade is requested from Choice in the background. - INACTIVE (previously opted out): reactivates it.
- Already ACTIVE: returns it unchanged.
- BLACKLISTED, FROZEN or DORMANT: rejected.
Requires an active Personal wallet. Sends a best-effort SMS on success.
Headers
Authorization
X-Device-Id
Required on non-GET requests to non-public paths (DeviceSignatureFilter), skipped for GET/whitelisted/multipart requests and in the local profile.
X-Signature
Base64 ECDSA signature over sha256(body) + timestamp + requestId, signed with the device's registered private key.
X-Timestamp
Unix epoch seconds; must be within 5 minutes of server time.
X-Request-Id
Unique per request - reused values are rejected as replays.
Idempotency-Key
Required by @RequireIdempotencyKey
Request
This endpoint expects an object.
pin
individualKraPin
Response
200 OK
code
message
data
Errors
400
Bad Request Error
