Skip to main content

Subscriber Registration Guide

This guide covers the complete subscriber registration flow, including KYC requirements and error handling.

Registration Flow

Quick Registration

Public Endpoint (No Auth)

curl -X POST https://olive-gateway-a6ba.onrender.com/api/v1/public/subscribers \
  -H "Content-Type: application/json" \
  -d '{
    "phone_number": "0771234567",
    "first_name": "John",
    "last_name": "Doe",
    "pin": "1234"
  }'

Authenticated Endpoint

curl -X POST https://olive-gateway-a6ba.onrender.com/api/v1/subscribers \
  -H "Authorization: Bearer olive_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "phone_number": "0771234567",
    "first_name": "John",
    "last_name": "Doe",
    "pin": "1234"
  }'

Required Fields

FieldTypeValidation
phone_numberstringSierra Leone format, 8 digits after +232
first_namestring1-100 characters
last_namestring1-100 characters
pinstring4 digits

KYC Levels

Basic (Default)

  • Phone verification
  • Name and PIN
  • Limits: Daily 100,000 SLE, Monthly 500,000 SLE

Enhanced

  • ID document upload via Agent
  • OCR validation
  • Limits: Daily 500,000 SLE, Monthly 2,000,000 SLE

Full

  • Front + back ID verification
  • Cross-validation passed
  • Limits: Daily 2,000,000 SLE, Monthly 10,000,000 SLE

KYC Upgrade via WhatsApp

Users can upgrade KYC through the WhatsApp agent:
  1. User: “I want to upgrade my account”
  2. Agent: “Please send a clear photo of the FRONT of your Sierra Leone National ID”
  3. User: [Sends front image]
  4. Agent: “Front received. Now send the BACK of your ID”
  5. User: [Sends back image]
  6. Agent: “Your KYC upgrade is complete!”

Error Handling

ErrorCauseSolution
PHONE_ALREADY_REGISTEREDPhone existsUser should login instead
INVALID_PHONE_FORMATWrong formatUse Sierra Leone format
WEAK_PINSequential/repeated digitsChoose stronger PIN

Phone Number Format

Valid Sierra Leone formats:
+23279123456   (E.164)
079123456      (local)
23279123456    (without +)
All are normalized to +23279123456.

Best Practices

Send welcome SMS after successful registration with basic instructions.
Never store or log PINs in plaintext. Hash before storage.
Prompt users to complete Enhanced KYC for higher limits.

Next Steps