Check profile completion
curl --request GET \
--url https://api.example.com/api/v1/user/profile/check-completionconst options = {method: 'GET'};
fetch('https://api.example.com/api/v1/user/profile/check-completion', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.example.com/api/v1/user/profile/check-completion"
response = requests.get(url)
print(response.text)User profile
Check profile completion
Check whether the user’s profile has all required fields for KYC.
GET
/
api
/
v1
/
user
/
profile
/
check-completion
Check profile completion
curl --request GET \
--url https://api.example.com/api/v1/user/profile/check-completionconst options = {method: 'GET'};
fetch('https://api.example.com/api/v1/user/profile/check-completion', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.example.com/api/v1/user/profile/check-completion"
response = requests.get(url)
print(response.text)Requires
X-Api-Key and X-Api-Secret headers. Pass userId as a query parameter — no JWT required.POST /partner/kyc to give your integration clear feedback on what to fill in. Use PATCH /api/v1/user/profile to add the missing fields.
Request
GET /api/v1/user/profile/check-completion?userId=<uuid>
X-Api-Key: <your-api-key>
X-Api-Secret: <your-api-secret>
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
userId | string (UUID) | Yes | Qash user ID from Register user |
Response
200 OK{
"success": true,
"data": {
"isComplete": false,
"missingFields": [
"gender",
"stateProvince",
"postalCode",
"occupation",
"annualSalary",
"accountPurpose",
"expectedMonthlyVolume"
]
}
}
{
"success": true,
"data": {
"isComplete": true,
"missingFields": []
}
}
| Field | Type | Description |
|---|---|---|
isComplete | boolean | true when the profile is ready for KYC |
missingFields | string[] | Fields still needed — empty when isComplete is true |
Fields required for completion
firstName, lastName, dateOfBirth, nationality, gender, governmentIdType, governmentIdNumber, governmentIdCountry, addressLine1, city, stateProvince, postalCode, addressCountry, occupation, annualSalary, accountPurpose, expectedMonthlyVolume
Errors
| HTTP status | Error | Cause |
|---|---|---|
400 | Missing userId in request body or query params | userId not provided as query param |
401 | Invalid partner credentials | Wrong or missing X-Api-Key / X-Api-Secret |
403 | User does not belong to this partner | userId belongs to a different partner |
404 | PersonalProfile not found: <userId> | No profile exists yet — call POST /user/profile first |