hambi (Beeline Uzbekistan) data API
hambi is Beeline Uzbekistan's self-care app from UNITEL. The home-screen widget loads remaining credit and traffic from /v1/account/overview, identifies the signed-in MSISDN via /v1/account/profile, lists household lines at /v1/account/lines, and renews the subscriber session at /v1/session/renew.
Every call carries a Bearer access token that the app renews through a refresh-token exchange, and an optional sub-account-id header switches the balance view to a linked family line.
hambi is Beeline Uzbekistan's self-care app from UNITEL: prepaid and postpaid subscribers check core balance, traffic buckets, tariff status and linked family lines from the home screen and its Android widgets. The widget stack talks to a first-party HTTPS API for session renewal, the signed-in profile, household sub-accounts, and an account overview that returns plan, customer_info, core_balance and per-bucket balances. Those same fields power the small/medium/large balance widgets and the account picker used when a subscriber pins a line to the home screen.
Screenshots
API surface
Refresh subscriber access token
POST
/v1/session/renewopenbankingExchanges the stored refresh_token for a new access_token used as Authorization: Bearer on every subsequent subscriber call.
Auth: Refresh token from the stored subscriber session, sent as a query parameter. On HTTP 401 the widget retries after this call, then attaches the returned Bearer access_token.
- access_token
- refresh_token
Illustrative example reconstructed from the app's interface — not a live capture.
POST /v1/session/renew?refresh_token=d8f1c2e4... HTTP/1.1 platform: android app-version: 7.59.0 app-build-number: 31002765 language: ru Date: 2026-09-26T09:00:00Z UUID: 3f2b8c1d-9a1e-4c2b-8f01-55c17a91f0e2{ "access_token": "eyJhbGciOi...", "refresh_token": "d8f1c2e4..." }Derived from the app's interface; endpoint details are illustrative, not a live capture.
reconstructed from the app's session-refresh flowtoken pair matches what the home-screen widgets attach to every subscriber request
Fetch subscriber dashboard balances
GET
/v1/account/overviewopenbankingReturns the line currently pinned to the home-screen widget: tariff plan, subscriber name, core prepaid balance, and remaining traffic/voice buckets with expiry.
Auth: Bearer token from /v1/session/renew (Authorization). Also sends language, Date, UUID, Proxy-Authorization, platform=android, app-version, app-build-number, and an optional Cookie. Optional sub-account-id header selects a linked line.
- plan
- id
- name
- soc
- next_apply_dt
- total_charged_amount
- is_expired
- customer_info
- birth_date
- first_name
- last_name
- middle_name
- core_balance
- has_balance_traffic
- balances
- short_name
- value
- expiration_date
- icon
- unit
Illustrative example reconstructed from the app's interface — not a live capture.
GET /v1/account/overview HTTP/1.1 Authorization: Bearer eyJhbGciOi... sub-account-id: 18482911 language: ru platform: android app-version: 7.59.0{ "plan": { "id": "SOC_HAMBI24", "name": "Hambi 24", "soc": "HAMBI24", "next_apply_dt": "2026-10-12T00:00:00Z", "total_charged_amount": "45000", "is_expired": false }, "customer_info": { "birth_date": "1994-03-12", "first_name": "Aziza", "last_name": "Karimova", "middle_name": "Olimovna" }, "core_balance": "12500.00", "has_balance_traffic": true, "balances": [ { "name": "Internet", "short_name": "GB", "value": "8.4", "expiration_date": "2026-10-12T00:00:00Z", "icon": "internet", "unit": "GB" } ] }Derived from the app's interface; endpoint details are illustrative, not a live capture.
reconstructed from the app's home-screen balance widgetfield names match the payload the small/medium/large balance widgets render
Read signed-in subscriber profile
GET
/v1/account/profileosintLoads the authenticated Beeline MSISDN, legal name, user type/status, UI language/theme, and permission flags used by the widget account picker.
Auth: Bearer token from /v1/session/renew (Authorization). Also sends language, Date, UUID, Proxy-Authorization, platform=android, app-version, app-build-number, and an optional Cookie.
- id
- phone_number
- first_name
- middle_name
- last_name
- user_type
- status
- custom_name
- custom_image
- language
- theme
- addable_as_sub_account
- show_customization_page
- permissions
- code
- state
Illustrative example reconstructed from the app's interface — not a live capture.
GET /v1/account/profile HTTP/1.1 Authorization: Bearer eyJhbGciOi... language: uz platform: android{ "id": 18482911, "phone_number": "998901234567", "first_name": "Aziza", "middle_name": "Olimovna", "last_name": "Karimova", "user_type": "PREPAID", "status": "ACTIVE", "custom_name": "My hambi", "custom_image": null, "language": "ru", "theme": "light", "addable_as_sub_account": true, "show_customization_page": false, "permissions": [ {"id": 1, "code": "WIDGET_BALANCE", "name": "Balance widget", "state": true} ] }Derived from the app's interface; endpoint details are illustrative, not a live capture.
reconstructed from the app's account configuration screenspermission flags line up with the widget account picker options
List family sub-accounts
GET
/v1/account/linesopenbankingReturns linked household/family lines with each MSISDN, nickname, core_balance and plan so the widget can pin a sub-account via the sub-account-id header.
Auth: Bearer token from /v1/session/renew (Authorization). Also sends language, Date, UUID, Proxy-Authorization, platform=android, app-version, app-build-number, and an optional Cookie.
- id
- sort
- phone_number
- custom_name
- first_name
- middle_name
- last_name
- core_balance
- plan
- next_apply_dt
- status
- state
- user_type
- custom_image
Illustrative example reconstructed from the app's interface — not a live capture.
GET /v1/account/lines HTTP/1.1 Authorization: Bearer eyJhbGciOi... language: ru platform: android[ { "id": 18483002, "sort": 1, "phone_number": "998907654321", "custom_name": "Kids SIM", "first_name": "Timur", "middle_name": null, "last_name": "Karimov", "core_balance": 3200.5, "plan": "Hambi Kids", "next_apply_dt": "2026-10-05T00:00:00Z", "status": 1, "state": "ACTIVE", "user_type": "PREPAID", "custom_image": null } ]Derived from the app's interface; endpoint details are illustrative, not a live capture.
reconstructed from the app's linked-lines account picker
Data categories
- balances
- plans
- subscriber-profile
- sub-accounts
Where teams use this data
Home-screen prepaid balance sync
Ops dashboards poll /v1/account/overview for core_balance, balances[].value/unit/expiration_date and plan.is_expired so a household always sees remaining som, GB and minutes without opening the app.
Family-line spend overview
A parent-account view joins /v1/account/lines (phone_number, custom_name, core_balance, plan, next_apply_dt) with dashboard buckets to flag which linked SIM is low on credit before the next_apply_dt charge.
Tariff renewal calendar
Billing assistants copy plan.name, soc, total_charged_amount and next_apply_dt from the dashboard payload into a renewal calendar, skipping lines where is_expired is already true.
Subscriber identity matching
Support tools match a ticket MSISDN to /v1/account/profile (phone_number, first_name, last_name, user_type, status) and optional customer_info.birth_date from the dashboard when verifying the account holder.
Frequently asked questions
Which hambi endpoint returns prepaid balance and traffic buckets?
GET /v1/account/overview returns core_balance plus a balances array (name, short_name, value, unit, expiration_date) and the current plan (soc, next_apply_dt, is_expired). Pass the sub-account-id header to read a linked line.
How does the hambi widget stay signed in?
It stores an access_token and refresh_token from the signed-in session. POST /v1/session/renew?refresh_token=… issues a new pair; subsequent calls send Authorization: Bearer plus language, Date, UUID and app-version headers.
Can hambi expose family or extra SIMs, not just the owner line?
Yes. GET /v1/account/lines returns each linked phone_number, custom_name, core_balance, plan and next_apply_dt. The widget then calls the account overview with that row's id as the sub-account-id header.
More Telecom apps
Topics
- hambi API
- Beeline Uzbekistan
- UNITEL
- subscriber balance API
- core_balance
- sub-accounts
- tariff next_apply_dt
- hambi widget
- Beeline self-care data API
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.