Skip to main content
POST
/
api
/
v1
/
subscribers
/
{id}
/
verify-pin
curl -X POST "https://olive-gateway-a6ba.onrender.com/api/v1/subscribers/sub_abc123/verify-pin" \
  -H "Authorization: Bearer olive_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "pin": "1234"
  }'
{
  "success": true,
  "message": "PIN verified successfully"
}
Use this endpoint to verify a subscriber’s PIN before processing sensitive operations.

Request

Authorization
string
required
Bearer olive_live_xxx or Bearer eyJ... (JWT)

Path Parameters

id
string
required
Subscriber UUID (e.g., sub_abc123)

Body Parameters

pin
string
required
4-digit PIN to verify

Response

success
boolean
Whether PIN is valid
message
string
Result message

Examples

curl -X POST "https://olive-gateway-a6ba.onrender.com/api/v1/subscribers/sub_abc123/verify-pin" \
  -H "Authorization: Bearer olive_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "pin": "1234"
  }'
{
  "success": true,
  "message": "PIN verified successfully"
}

PIN Security

Attempt Limits

  • 3 failed attempts allowed
  • Account locked for 30 minutes
  • Counter resets on success

Audit Logging

  • All attempts logged
  • IP address recorded
  • Used for fraud detection

Use Cases

Use CaseDescription
POS PaymentVerify before deducting funds
P2P TransferConfirm sender identity
Cash-OutAuthenticate withdrawal
Profile ChangeVerify before sensitive updates

Errors

StatusCodeDescription
400INVALID_PIN_FORMATPIN must be 4 digits
401UNAUTHORIZEDInvalid or missing API key
401INVALID_PINPIN does not match
403ACCOUNT_LOCKEDToo many failed attempts
404NOT_FOUNDSubscriber not found
500INTERNAL_ERRORServer error

Change PIN

Change subscriber’s PIN to a new value