curl -X POST "https://demo.api.vultlocal.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"
}
}
{
"error": "Maximum child cards reached",
"code": "MAX_CHILD_CARDS",
"max_allowed": 4
}
Cards
Create Child Card
Create a child card with daily spending limits
POST
/
cards
/
child
curl -X POST "https://demo.api.vultlocal.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"
}
}
{
"error": "Maximum child cards reached",
"code": "MAX_CHILD_CARDS",
"max_allowed": 4
}
Child cards allow subscribers to delegate limited spending access to dependents or employees.
Request
string
required
Bearer olive_live_xxx or Bearer eyJ... (JWT)Body Parameters
string
required
Parent subscriber UUID
string
required
Card serial to assign as child (e.g.,
OLIV0002)string
required
Parent’s 4-digit PIN for authorization
string
required
New 4-digit PIN for the child card
integer
required
Daily spending limit in cents (e.g.,
5000000 = 50,000 SLE)string
Child’s first name
string
Child’s last name
string
Child’s phone number for notifications
string
When card becomes active (
YYYY-MM-DD)integer
Initial allocated amount in cents
Response
boolean
Whether creation succeeded
string
Result message
object
Child card details
Examples
curl -X POST "https://demo.api.vultlocal.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"
}
}
{
"error": "Maximum child cards reached",
"code": "MAX_CHILD_CARDS",
"max_allowed": 4
}
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 Type | Max Child Cards |
|---|---|
| Standard | 4 |
| VIP | 10 |
| Corporate | Unlimited |
Errors
| Status | Code | Description |
|---|---|---|
| 400 | INVALID_PARENT_PIN | Parent PIN incorrect |
| 400 | MAX_CHILD_CARDS | Subscriber limit reached |
| 400 | CARD_ALREADY_LINKED | Card already in use |
| 401 | UNAUTHORIZED | Invalid API key |
| 404 | SUBSCRIBER_NOT_FOUND | Parent subscriber not found |
| 404 | CARD_NOT_FOUND | Card serial not found |
| 500 | INTERNAL_ERROR | Server error |
Authorizations
ApiKeyAuthBearerAuth
API Key for third-party integrations (WhatsApp, Smart PAY, VULT). Format: 'Bearer olive_live_xxxxxxxxxxxxx'
Body
application/json
Child card details
Supports any alphanumeric: CARD0001, 48290173K, etc.
Example:
"OLIV0002"
Example:
"Jane Doe"
Example:
"5678"
Example:
"daughter"
Example:
"parent-uuid"
Example:
"1234"
Amount in SLE (will be converted to cents internally)
Example:
200000
Example:
"+23276123456"
Amount in SLE (will be converted to cents internally)
Example:
25000
Example:
"2025-10-20"
Amount in SLE (will be converted to cents internally)
Example:
250000
Response
Child card created
The response is of type object.
⌘I