Skip to main content
POST
/
api
/
v1
/
cards
/
child
curl -X POST "https://olive-gateway-a6ba.onrender.com/api/v1/cards/child" \
  -H "Authorization: Bearer olive_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "parent_subscriber_id": "sub_abc123",
    "card_serial": "OLIV0002",
    "parent_pin": "1234",
    "child_pin": "5678",
    "daily_limit": 5000000,
    "child_first_name": "Jane",
    "child_last_name": "Doe",
    "child_phone_number": "+23276123456"
  }'
{
  "success": true,
  "message": "Child card created successfully",
  "card": {
    "serial": "OLIV0002",
    "type": "CHILD",
    "status": "ACTIVE",
    "parent_serial": "OLIV0001",
    "parent_subscriber_id": "sub_abc123",
    "daily_limit": 5000000,
    "daily_limit_formatted": "50,000.00 SLE",
    "child_name": "Jane Doe",
    "linked_at": "2025-01-15T10:30:00Z"
  }
}
Child cards allow subscribers to delegate limited spending access to dependents or employees.

Request

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

Body Parameters

parent_subscriber_id
string
required
Parent subscriber UUID
card_serial
string
required
Card serial to assign as child (e.g., OLIV0002)
parent_pin
string
required
Parent’s 4-digit PIN for authorization
child_pin
string
required
New 4-digit PIN for the child card
daily_limit
integer
required
Daily spending limit in cents (e.g., 5000000 = 50,000 SLE)
child_first_name
string
Child’s first name
child_last_name
string
Child’s last name
child_phone_number
string
Child’s phone number for notifications
effective_date
string
When card becomes active (YYYY-MM-DD)
allocated_amount
integer
Initial allocated amount in cents

Response

success
boolean
Whether creation succeeded
message
string
Result message
card
object
Child card details

Examples

curl -X POST "https://olive-gateway-a6ba.onrender.com/api/v1/cards/child" \
  -H "Authorization: Bearer olive_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "parent_subscriber_id": "sub_abc123",
    "card_serial": "OLIV0002",
    "parent_pin": "1234",
    "child_pin": "5678",
    "daily_limit": 5000000,
    "child_first_name": "Jane",
    "child_last_name": "Doe",
    "child_phone_number": "+23276123456"
  }'
{
  "success": true,
  "message": "Child card created successfully",
  "card": {
    "serial": "OLIV0002",
    "type": "CHILD",
    "status": "ACTIVE",
    "parent_serial": "OLIV0001",
    "parent_subscriber_id": "sub_abc123",
    "daily_limit": 5000000,
    "daily_limit_formatted": "50,000.00 SLE",
    "child_name": "Jane Doe",
    "linked_at": "2025-01-15T10:30:00Z"
  }
}

Child Card Rules

Daily Limits

  • Resets at midnight local time
  • Cannot exceed parent’s balance
  • Can be adjusted by parent

Restrictions

  • Cannot create more child cards
  • Cannot access parent’s PIN
  • Limited to assigned limit

Max Child Cards

The number of child cards a subscriber can create is limited:
Subscriber TypeMax Child Cards
Standard4
VIP10
CorporateUnlimited

Errors

StatusCodeDescription
400INVALID_PARENT_PINParent PIN incorrect
400MAX_CHILD_CARDSSubscriber limit reached
400CARD_ALREADY_LINKEDCard already in use
401UNAUTHORIZEDInvalid API key
404SUBSCRIBER_NOT_FOUNDParent subscriber not found
404CARD_NOT_FOUNDCard serial not found
500INTERNAL_ERRORServer error