# User Profile Fetch the authenticated user's full profile, including personal details, linked bank accounts, wallet settings, and permissions. --- ## Endpoint ``` GET https://fahipay.mv/actions/getprofile/?lang=en ``` --- ## Prerequisites - Valid `authID` from [login](01-login.md) or [OTP](02-otp.md) - Valid `__Secure-sess` session cookie --- ## Request ### Headers | Header | Value | |---|---| | `authid` | `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` | | `content-type` | `multipart/form-data` | | `User-Agent` | `okhttp/4.12.0` | | `Accept-Encoding` | `gzip` | | `Connection` | `Keep-Alive` | | `Cookie` | `__Secure-sess=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` | --- ## curl Example ```bash curl --request GET \ --url 'https://fahipay.mv/actions/getprofile/?lang=en' \ --compressed \ --header 'Accept-Encoding: gzip' \ --header 'Connection: Keep-Alive' \ --header 'Cookie: __Secure-sess=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \ --header 'User-Agent: okhttp/4.12.0' \ --header 'authid: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \ --header 'content-type: multipart/form-data' ``` --- ## Response ```json { "nidexpiry": "2027-06-01", "about": "", "email": "user@example.com", "country": "Maldives", "fullname": "Mohamed Ali", "postcode": "", "props": { "accs": { "bml": { "mvr": "7730000000001", "usd": "7730000000002", "mvr2": "7770000000003" }, "cbm": { "mvr": "1000000001" }, "mib": { "mvr": "90101000000001000", "usd": "90101000000002000" }, "sbi": { "mvr": "12600000000001" } }, "lang": "en", "wsize": 5000, "withdraw": { "fee": "3", "unit": "%", "freelimit": 0 }, "IDverified": 1, "thresholds": { "amount": 0, "countries": { "list": [], "mode": "deny" }, "frequency": 0 }, "amountTopup": 1, "receiptTopup": 1, "verifiedWith": "efaas", "notifications": { "txn": ["push"], "login": ["push", "email"], "balance": ["push"] }, "allowedActions": [ "withdraw", "payment", "topup", "transfer" ], "two_factor_enabled": 1, "efaas_login_enabled": 0, "acc": "500000000001", "walletType": "basic" }, "mobile": "9600000001", "city": "101", "nid": "A123456", "level": "1", "address": "Example Address", "accs": { "bml": [ { "name": "MOHAMED ALI" } ] }, "invitecode": "XXXXX", "profileID": "0000", "verificationUploadMethods": ["camera", "file"], "faceVerificationRequired": true, "p2pqr": "https://fahipay.mv/api/qrcode/?data=9600000001", "smsAuth": "xxxxxxxxxxxxxxxxxxxx", "type": "success" } ``` --- ## Key Fields ### Top-level | Field | Type | Description | |---|---|---| | `fullname` | `string` | User's full name | | `email` | `string` | Registered email address | | `mobile` | `string` | Registered mobile number | | `nid` | `string` | National ID card number (e.g. `A239225`) | | `nidexpiry` | `string` | NID expiry date (`YYYY-MM-DD`) | | `profileID` | `string` | Fahipay internal numeric user ID — use in `loginTag` | | `level` | `string` | Account verification level | | `country` | `string` | Registered country | | `city` | `string` | City code | | `address` | `string` | Street address | | `invitecode` | `string` | Referral invite code | | `p2pqr` | `string` | URL to this user's P2P QR code image | | `type` | `string` | `"success"` or `"error"` | --- ### `props` Object | Field | Type | Description | |---|---|---| | `acc` | `string` | The user's Fahipay wallet account number | | `walletType` | `string` | `"basic"` or `"premium"` | | `wsize` | `number` | Wallet size / transaction limit | | `two_factor_enabled` | `number` | `1` if TOTP 2FA is active | | `efaas_login_enabled` | `number` | `1` if eFaas login is enabled | | `IDverified` | `number` | `1` if identity is verified | | `allowedActions` | `string[]` | Permitted operations: `withdraw`, `payment`, `topup`, `transfer` | > `props.acc` is the wallet account number shown in the app and used as the primary account identifier. --- ### `props.accs` — Linked Bank Accounts Contains the user's bank accounts linked to Fahipay, organised by bank code. Used when topping up or withdrawing via linked banks. | Key | Bank | |---|---| | `bml` | Bank of Maldives | | `mib` | Maldives Islamic Bank | | `cbm` | Central Bank of Maldives | | `sbi` | State Bank of India | Each bank entry is an object of named account numbers: ```json "bml": { "mvr": "7730000145458", "usd": "7730000199959", "mvr2": "7770000045775" } ``` Store the raw JSON of `props.accs` — it is needed to determine the source account when initiating top-ups or withdrawals. --- ### `props.withdraw` | Field | Description | |---|---| | `fee` | Withdrawal fee amount | | `unit` | Fee unit — `%` = percentage, otherwise fixed | | `freelimit` | Free withdrawal limit (0 = no free limit) | --- ## Error Response ```json { "title": "Error", "msg": "Unauthorized", "type": "error" } ``` If the `authID` is invalid or expired, re-run the full [login flow](01-login.md). ---   --- [← OTP / 2FA](02-otp.md)     **Next →** [Balance](04-balance.md)