hambi (Beeline Uzbekistan) icon

hambi (Beeline Uzbekistan) data API

"UNITEL" LLC · Telecom

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

  • hambi (Beeline Uzbekistan) screenshot 1
  • hambi (Beeline Uzbekistan) screenshot 2
  • hambi (Beeline Uzbekistan) screenshot 3
  • hambi (Beeline Uzbekistan) screenshot 4
  • hambi (Beeline Uzbekistan) screenshot 5
  • hambi (Beeline Uzbekistan) screenshot 6
  • hambi (Beeline Uzbekistan) screenshot 7

API surface

  • Refresh subscriber access token

    POST /v1/session/renew openbanking

    Exchanges 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 flow
    • token pair matches what the home-screen widgets attach to every subscriber request
  • Fetch subscriber dashboard balances

    GET /v1/account/overview openbanking

    Returns 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 widget
    • field names match the payload the small/medium/large balance widgets render
  • Read signed-in subscriber profile

    GET /v1/account/profile osint

    Loads 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 screens
    • permission flags line up with the widget account picker options
  • List family sub-accounts

    GET /v1/account/lines openbanking

    Returns 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.

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.

Get a quote