curl -X PUT "https://demo.api.vultlocal.com/api/v1/subscribers/sub_abc123" \
-H "Authorization: Bearer olive_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"email": "newemail@example.com"
}'
curl -X PUT "https://demo.api.vultlocal.com/api/v1/subscribers/sub_abc123" \
-H "Authorization: Bearer olive_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"kyc_level": 2,
"id_number": "SL12345678",
"id_type": "NATIONAL_ID",
"id_document_url": "https://storage.olive.example.com/docs/id_front.jpg"
}'
{
"success": true,
"message": "Subscriber updated successfully",
"subscriber": {
"id": "sub_abc123",
"phone_number": "+23279123456",
"first_name": "John",
"last_name": "Doe",
"email": "newemail@example.com",
"kyc_level": 2,
"status": "ACTIVE",
"updated_at": "2025-01-20T14:45:00Z"
}
}
{
"error": "Subscriber not found",
"code": "NOT_FOUND"
}
Subscribers
Update Subscriber
Update subscriber profile and KYC information
PUT
/
subscribers
/
{id}
curl -X PUT "https://demo.api.vultlocal.com/api/v1/subscribers/sub_abc123" \
-H "Authorization: Bearer olive_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"email": "newemail@example.com"
}'
curl -X PUT "https://demo.api.vultlocal.com/api/v1/subscribers/sub_abc123" \
-H "Authorization: Bearer olive_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"kyc_level": 2,
"id_number": "SL12345678",
"id_type": "NATIONAL_ID",
"id_document_url": "https://storage.olive.example.com/docs/id_front.jpg"
}'
{
"success": true,
"message": "Subscriber updated successfully",
"subscriber": {
"id": "sub_abc123",
"phone_number": "+23279123456",
"first_name": "John",
"last_name": "Doe",
"email": "newemail@example.com",
"kyc_level": 2,
"status": "ACTIVE",
"updated_at": "2025-01-20T14:45:00Z"
}
}
{
"error": "Subscriber not found",
"code": "NOT_FOUND"
}
Request
string
required
Bearer olive_live_xxx or Bearer eyJ... (JWT)Path Parameters
string
required
Subscriber UUID (e.g.,
sub_abc123)Body Parameters
All fields are optional. Only include fields you want to update.string
Updated email address
string
Updated physical address
integer
New KYC level (1-3). Requires supporting documents.
string
National ID number
string
ID type:
NATIONAL_ID, PASSPORT, DRIVERS_LICENSEstring
URL to ID document image
string
URL to selfie image
string
Link VULT wallet ID
string
Account category:
standard, vip, corporateinteger
Maximum child cards allowed
integer
Assigned relationship manager ID
Response
boolean
Whether update succeeded
string
Result message
object
Updated subscriber object
Examples
curl -X PUT "https://demo.api.vultlocal.com/api/v1/subscribers/sub_abc123" \
-H "Authorization: Bearer olive_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"email": "newemail@example.com"
}'
curl -X PUT "https://demo.api.vultlocal.com/api/v1/subscribers/sub_abc123" \
-H "Authorization: Bearer olive_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"kyc_level": 2,
"id_number": "SL12345678",
"id_type": "NATIONAL_ID",
"id_document_url": "https://storage.olive.example.com/docs/id_front.jpg"
}'
{
"success": true,
"message": "Subscriber updated successfully",
"subscriber": {
"id": "sub_abc123",
"phone_number": "+23279123456",
"first_name": "John",
"last_name": "Doe",
"email": "newemail@example.com",
"kyc_level": 2,
"status": "ACTIVE",
"updated_at": "2025-01-20T14:45:00Z"
}
}
{
"error": "Subscriber not found",
"code": "NOT_FOUND"
}
KYC Upgrade Requirements
Level 1 → 2
- Valid ID document
- ID number
Level 2 → 3
- Proof of address
- Selfie verification
Special Categories
- VIP review
- Corporate documents
Errors
| Status | Code | Description |
|---|---|---|
| 400 | INVALID_REQUEST | Invalid field values |
| 401 | UNAUTHORIZED | Invalid or missing API key |
| 403 | FORBIDDEN | Cannot update this subscriber |
| 404 | NOT_FOUND | Subscriber not found |
| 500 | INTERNAL_ERROR | Server error |
Authorizations
ApiKeyAuthBearerAuth
API Key for third-party integrations (WhatsApp, Smart PAY, VULT). Format: 'Bearer olive_live_xxxxxxxxxxxxx'
Path Parameters
Subscriber ID
Body
application/json
Update details
Example:
"456 New St"
Example:
"vip"
Example:
"Western Rural"
Example:
"newemail@example.com"
Example:
"s3://bucket/kyc/subscriber-id/id-back/file.jpg"
Example:
"s3://bucket/kyc/subscriber-id/id-front/file.jpg"
Example:
2
Example:
100
Example:
"ID123456789"
Example:
1
Example:
"VULT123456"
Response
Update successful
The response is of type object.
⌘I