# Personal Profile Fetch the user's personal profile details. This endpoint returns an HTML page; data is extracted via HTML scraping. --- ## Endpoint ``` GET https://faisamobilex-wv.mib.com.mv/personalProfile ``` --- ## Authentication Session cookies only — no additional AJAX headers required. ``` Cookie: mbmodel=IOS-1.0; xxid=; IBSID=; mbnonce=; time-tracker=597 ``` --- ## Response **Content-Type:** `text/html; charset=UTF-8` The page contains an `
` with the user's full name and `` elements with labelled fields. ### Parsing Strategy **Full name** — extracted from: ```html
Mohamed Ali
``` Regex: ```kotlin Regex("""
\s*([^<]+)\s*
""") ``` **Labelled fields** — each follows this pattern: ```html Username:...myusername ``` Regex (used for each label): ```kotlin Regex( """]*>\s*]*>\s*$label\s*]*>.*?]*>([^<]+)""", setOf(RegexOption.DOT_MATCHES_ALL, RegexOption.IGNORE_CASE) ) ``` --- ## Extracted Fields | Label in HTML | Field | Description | |---|---|---| | `Username:` | `username` | Login username | | `Email:` | `email` | Registered email address | | `Mobile no:` | `mobile` | Registered mobile number | | `Enrolled:` | `enrolled` | Enrollment date or status | Combined with the `fullName` from the `
`: ```kotlin data class MibPersonalProfile( val fullName: String, val username: String, val email: String, val mobile: String, val enrolled: String ) ``` --- ## Notes - Returns `null` if the response cannot be parsed (network error or unexpected HTML structure). - This endpoint does not have a JSON equivalent — scraping is the only method. ---   --- [← Financing](06-financing.md)     **Next →** [Transfer](08-transfer.md)