My lifecell icon

My lifecell data API: balances, credit and eSIM

lifecell · Telecom

My lifecell is the official self-care app of lifecell, the Ukrainian mobile operator in the Turkcell group, built so prepaid and contract subscribers can run their line from the phone. Sign-in uses the mobile number through the carrier's Keycloak SSO; the home screen then opens on remaining airtime, data and monthly-fee buckets plus the current tariff. From there people top up by card or Google Pay, turn on a credit limit, set autopay, order an eSIM QR, confirm identity through Ukraine's Diia app, check roam-like-at-home prices, and attach extra family numbers under a master line, with a Volia TV and internet bundle available on the same account. It serves mobile customers across Ukraine, where lifecell competes with Kyivstar and Vodafone Ukraine.

Prepaid and contract buckets land as balanceDetails rows with code, amount, measure, grantedAmount, percentage and renewDate (the monthly-fee counter is Counter_Free_MonthlyFee), while the subscriber record pairs msisdn with a tariff (name, tariffPriceFull, period) and contract.activationDate.

Credit-limit JSON carries creditLimit, availableCL, currentMainBalance, feeCL and dateEndCL; charge groups roll up parentGroupDesc against accountTotal and commonMain. Top-up invoices return taskId and transactionId; saved autopay mandates expose cardMask, productSum and nextTryDay. Diia registration copies taxCode, passportCode and addressUsual; eSIM install returns qrCode and activationLink. Family-plan builders, roaming-cost dashboards and KYC back-office tools consume that surface, and openData Studio turns it into callable open data.

Screenshots

  • My lifecell screenshot 1
  • My lifecell screenshot 2
  • My lifecell screenshot 3
  • My lifecell screenshot 4
  • My lifecell screenshot 5
  • My lifecell screenshot 6
  • My lifecell screenshot 7

API surface

The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.

  • Issue mobile session token

    GET /v1/lifecell/session/token osint

    Issues the XML session token for a subscriber MSISDN after device signature checks; the token is sent as query token and as Bearer on subsequent mobile calls.

    Auth: Unauthenticated device bootstrap. Query map carries msisdn, deviceId, languageId, accessKeyCode, signature and UUID. Returns an XML token used as query token and as Authorization: Bearer on later calls.

    • responseCode
    • resultText
    • method
    • token
    • msisdn
    • deviceId
    • languageId
    • accessKeyCode
    • signature
    • UUID
    GET /v1/lifecell/session/token?msisdn=380630000001&deviceId=8f21a4c2-9b11-4e0a-a3d1-55c17a91f0e2&languageId=uk&accessKeyCode=<access-key>&signature=<device-signature>&UUID=550e8400-e29b-41d4-a716-446655440000 HTTP/1.1
    <?xml version="1.0" encoding="UTF-8"?>
    <response method="sessionToken">
      <responseCode>0</responseCode>
      <resultText>OK</resultText>
      <token>lc-sess-7c11e2b9</token>
    </response>
  • SSO sign-in via Keycloak

    GET /v1/lifecell/auth/sso osint

    Exchanges a Keycloak SSO artefact for the app session: token, subscriber subId, MSISDN, uniqId and the isOMO (mobile virtual operator) flag.

    Auth: Carrier OpenID session already obtained. Query map carries msisdn plus the SSO artefact; Content-Type: application/json. Returns token, subId, msisdn, uniqId and isOMO.

    • token
    • subId
    • msisdn
    • uniqId
    • isOMO
    • responseCode
    • resultText
    GET /v1/lifecell/auth/sso?msisdn=380630000001&token=kc-at-9f33 HTTP/1.1
    Content-Type: application/json
    <?xml version="1.0" encoding="UTF-8"?>
    <response method="ssoExchange">
      <responseCode>0</responseCode>
      <resultText>OK</resultText>
      <token>lc-sess-7c11e2b9</token>
      <subId>sub-18482911</subId>
      <msisdn>380630000001</msisdn>
      <uniqId>uniq-c91e2b</uniqId>
      <isOMO>false</isOMO>
    </response>
  • Read subscriber balance buckets

    GET /v1/lifecell/balances openbanking

    Returns the signed-in line's balance buckets: remaining amount and grantedAmount per code, unit measure, renewDate and the monthly-fee counter Counter_Free_MonthlyFee used on the home tiles.

    Auth: Session query map on the mobile API: msisdn, token (from bootstrap or SSO), deviceId, languageId, accessKeyCode, signature and UUID. JSON-annotated calls may also send Authorization: Bearer <token>.

    • balanceDetails
    • code
    • amount
    • measure
    • name
    • grantedAmount
    • percentage
    • renewDate
    • type
    • isUnlim
    • isDayOff
    • Counter_Free_MonthlyFee
    GET /v1/lifecell/balances?msisdn=380630000001&token=lc-sess-7c11e2b9&deviceId=8f21a4c2-9b11-4e0a-a3d1-55c17a91f0e2&languageId=uk HTTP/1.1
    Authorization: Bearer lc-sess-7c11e2b9
    {
      "responseCode": 0,
      "resultText": "OK",
      "method": "balances",
      "balanceDetails": [
        {
          "code": "MAIN",
          "amount": "185.40",
          "measure": "UAH",
          "name": "Main balance",
          "grantedAmount": "200.00",
          "percentage": "92",
          "renewDate": "2026-10-31",
          "type": "money",
          "isUnlim": "false",
          "isDayOff": "false"
        },
        {
          "code": "Counter_Free_MonthlyFee",
          "amount": "0.00",
          "measure": "UAH",
          "name": "Monthly fee",
          "grantedAmount": "150.00",
          "percentage": "0",
          "renewDate": "2026-11-01",
          "type": "fee",
          "isUnlim": "false",
          "isDayOff": "false"
        }
      ]
    }
  • Load subscriber summary and tariff

    GET /v1/lifecell/summary opendata

    Loads the home-screen subscriber record: MSISDN, accessGroupCode, current tariff name/price/period, contract activationDate, short balanceList and named attributes such as LINE_ACTIVATION_DATE and IS_FMC.

    Auth: Session query map on the mobile API: msisdn, token (from bootstrap or SSO), deviceId, languageId, accessKeyCode, signature and UUID. JSON-annotated calls may also send Authorization: Bearer <token>.

    • subscriber
    • msisdn
    • accessGroupCode
    • useCommonMain
    • tariff
    • code
    • name
    • period
    • tariffPriceFull
    • tariffPriceDiscount
    • picture_url
    • webview_url
    • contract
    • activationDate
    • activeLinesCount
    • contactPerson
    • balanceList
    • amount
    • attributesList
    • value
    • applicationAttributes
    GET /v1/lifecell/summary?msisdn=380630000001&token=lc-sess-7c11e2b9&languageId=uk HTTP/1.1
    Authorization: Bearer lc-sess-7c11e2b9
    {
      "responseCode": 0,
      "resultText": "OK",
      "subscriber": {
        "msisdn": "380630000001",
        "accessGroupCode": "PREPAID",
        "useCommonMain": true,
        "tariff": {
          "code": "SMART_LIFE_2026",
          "name": "Smart Life",
          "description": "Calls + data",
          "short_description": "150 UAH / 4 weeks",
          "period": "4w",
          "tariffOrderPeriod": "28",
          "tariffPriceFull": "150",
          "tariffPriceDiscount": "150",
          "picture_url": "/static/tariffs/smart-life.png",
          "webview_url": "/tariffs/smart-life"
        },
        "contract": {
          "activationDate": "2023-04-12",
          "activeLinesCount": 1,
          "contactPerson": "Olena K.",
          "lineNumber": "1",
          "number": "CNT-88421"
        },
        "balanceList": [{"code": "MAIN", "amount": 185.4}],
        "attributesList": [
          {"name": "LINE_ACTIVATION_DATE", "value": "2023-04-12"},
          {"name": "IS_FMC", "value": "false"}
        ]
      },
      "applicationAttributes": {
        "attributesList": [{"name": "IS_GIFTS_POOL_AVAILABLE", "value": "true"}]
      }
    }
  • Read credit-limit status

    GET /v1/lifecell/credit-limit openfinance

    Returns the airtime-credit product: creditStatus, remaining availableCL versus creditLimit, feeCL, currentMainBalance, free-period dateEndFreeCL and scheduled deactivation flag.

    Auth: Header map on the mobile API: Authorization: Bearer <token> from bootstrap or SSO, plus deviceId / languageId as required. Query token+msisdn is used on XML calls.

    • creditLimitInfo
    • creditStatus
    • dateEndCL
    • feeCL
    • creditLimit
    • dateEndFreeCL
    • availableCL
    • currentMainBalance
    • minCreditLimit
    • maxCreditLimit
    • scheduleDeactFlag
    GET /v1/lifecell/credit-limit HTTP/1.1
    Authorization: Bearer lc-sess-7c11e2b9
    {
      "responseCode": 0,
      "resultText": "OK",
      "creditLimitInfo": {
        "creditStatus": "ACTIVE",
        "dateEndCL": "2026-11-15",
        "feeCL": 15.0,
        "creditLimit": 200.0,
        "dateEndFreeCL": "2026-10-20",
        "availableCL": 140.0,
        "currentMainBalance": 185.4,
        "minCreditLimit": "50",
        "maxCreditLimit": "500",
        "scheduleDeactFlag": false
      }
    }
  • Summarise charges by parent group

    GET /v1/lifecell/charges/groups openfinance

    Rolls itemised spend into parent groups (voice, data, SMS) with accountTotal, commonMain/commonBonus versus lineMain/lineBonus, unit measure and volume.

    Auth: Session query map on the mobile API: msisdn, token (from bootstrap or SSO), deviceId, languageId, accessKeyCode, signature and UUID. JSON-annotated calls may also send Authorization: Bearer <token>.

    • chargesDetailParentGroupSummary
    • id
    • parentGroupCode
    • parentGroupDesc
    • accountTotal
    • commonBonus
    • commonMain
    • lineBonus
    • lineMain
    • measure
    • volume
    GET /v1/lifecell/charges/groups?msisdn=380630000001&token=lc-sess-7c11e2b9&languageId=uk HTTP/1.1
    Authorization: Bearer lc-sess-7c11e2b9
    {
      "responseCode": 0,
      "resultText": "OK",
      "chargesDetailParentGroupSummary": [
        {
          "id": 1,
          "parentGroupCode": 10,
          "parentGroupDesc": "Voice",
          "accountTotal": 42.5,
          "commonBonus": "0.00",
          "commonMain": "38.00",
          "lineBonus": "0.00",
          "lineMain": "4.50",
          "measure": "UAH",
          "volume": "86 min"
        },
        {
          "id": 2,
          "parentGroupCode": 20,
          "parentGroupDesc": "Data",
          "accountTotal": 12.0,
          "commonBonus": "2.00",
          "commonMain": "10.00",
          "lineBonus": "0.00",
          "lineMain": "0.00",
          "measure": "UAH",
          "volume": "3.2 GB"
        }
      ]
    }
  • List available tariffs

    GET /v1/lifecell/tariffs opendata

    Lists catalogue tariffs the signed-in line can switch to, with code, display name, UAH price, period, sort order and image/detail URLs.

    Auth: Header map on the mobile API: Authorization: Bearer <token> from bootstrap or SSO, plus deviceId / languageId as required. Query token+msisdn is used on XML calls.

    • tariffList
    • code
    • name
    • currency
    • period
    • price
    • order
    • imageUrl
    • detailUrl
    GET /v1/lifecell/tariffs HTTP/1.1
    Authorization: Bearer lc-sess-7c11e2b9
    {
      "responseCode": 0,
      "resultText": "OK",
      "tariffList": [
        {
          "code": "SMART_LIFE_2026",
          "name": "Smart Life",
          "currency": "UAH",
          "period": "4w",
          "price": 150.0,
          "order": 1,
          "imageUrl": "/static/tariffs/smart-life.png",
          "detailUrl": "/tariffs/smart-life"
        },
        {
          "code": "FREE_LIFE",
          "name": "Free Life",
          "currency": "UAH",
          "period": "4w",
          "price": 90.0,
          "order": 2,
          "imageUrl": "/static/tariffs/free-life.png",
          "detailUrl": "/tariffs/free-life"
        }
      ]
    }
  • Create Oplata top-up invoice

    POST /v1/lifecell/topup/invoice openbanking

    Opens a digital-payment invoice for airtime top-up (email + taskId) and returns taskId/transactionId; the follow-on card/GPay charge body carries amount, msisdn, paymentType, refillSum, orderId, channel and osType.

    Auth: HTTP Basic client credentials for the digital payment client, plus headers X-TID, X-LANG and X-CLIENT-ID: Android. Separate from the mobile session token.

    • email
    • taskId
    • transactionId
    • amount
    • msisdn
    • paymentType
    • refillSum
    • orderId
    • channel
    • osType
    • cardLink
    • successUrl
    • failedUrl
    POST /v1/lifecell/topup/invoice HTTP/1.1
    Content-Type: application/json
    X-TID: tid-c91e2b77
    X-LANG: uk
    X-CLIENT-ID: Android
    Authorization: Basic <digital-client-credentials>
    
    {
      "email": "[email protected]",
      "taskId": "inv-8f21a4"
    }
    {
      "taskId": "inv-8f21a4",
      "transactionId": "tx-55c17a91"
    }
  • List autopay mandates

    GET /v1/lifecell/autopay openfinance

    Lists saved autopay mandates as payer/receiver rows: masked cardMask, productCode/productSum, nextTryDay, state and the acceptedRule flag on the account.

    Auth: Header map on the mobile API: Authorization: Bearer <token> from bootstrap or SSO, plus deviceId / languageId as required. Query token+msisdn is used on XML calls.

    • mapAutoPayments
    • account
    • acceptedRule
    • payer
    • receiver
    • id
    • alias
    • cardAlias
    • cardMask
    • cardLink
    • email
    • productCode
    • productType
    • productSum
    • extraSum
    • nextTryDay
    • state
    • agent
    • isNotify
    GET /v1/lifecell/autopay HTTP/1.1
    Authorization: Bearer lc-sess-7c11e2b9
    {
      "responseCode": 0,
      "resultText": "OK",
      "mapAutoPayments": {
        "account": {"acceptedRule": true},
        "payer": [
          {
            "id": 4412,
            "alias": "My Visa",
            "cardAlias": "Visa *1111",
            "cardMask": "444433******1111",
            "cardLink": "cl-9f33",
            "email": "[email protected]",
            "productCode": "MAIN_REFILL",
            "productType": "REFILL",
            "productSum": 150.0,
            "extraSum": 0.0,
            "nextTryDay": "2026-11-01",
            "state": "ACTIVE",
            "payer": "380630000001",
            "receiver": "380630000001",
            "agent": "OPLATA",
            "isNotify": true
          }
        ],
        "receiver": []
      }
    }
  • Read known-customer profile

    GET /v1/lifecell/profile osint

    Returns the known-customer profile as nested generalSpecification groups of name/value specifications, each marked isEditable for the account screen.

    Auth: Session query map on the mobile API: msisdn, token (from bootstrap or SSO), deviceId, languageId, accessKeyCode, signature and UUID. JSON-annotated calls may also send Authorization: Bearer <token>.

    • clientInfoList
    • generalSpecification
    • name
    • specifications
    • value
    • isEditable
    • characteristic
    GET /v1/lifecell/profile?msisdn=380630000001&token=lc-sess-7c11e2b9&languageId=uk HTTP/1.1
    Authorization: Bearer lc-sess-7c11e2b9
    {
      "responseCode": 0,
      "resultText": "OK",
      "clientInfoList": [
        {
          "generalSpecification": [
            {
              "name": "Personal",
              "specifications": [
                {"name": "email", "value": "[email protected]", "isEditable": true, "characteristic": []},
                {"name": "language", "value": "uk", "isEditable": true, "characteristic": []}
              ]
            }
          ]
        }
      ]
    }
  • Read multi-account hierarchy

    GET /v1/lifecell/family opendata

    Returns the family/multi-SIM tree: hierarchyType, master MSISDN, caps maxLineCurator/maxLineMultiaccount, and each slave line's msisdn plus attributes.

    Auth: Session query map on the mobile API: msisdn, token (from bootstrap or SSO), deviceId, languageId, accessKeyCode, signature and UUID. JSON-annotated calls may also send Authorization: Bearer <token>.

    • hierarchyType
    • master
    • maxLineCurator
    • maxLineMultiaccount
    • multiaccountLines
    • lines
    • msisdn
    • attributes
    GET /v1/lifecell/family?msisdn=380630000001&token=lc-sess-7c11e2b9 HTTP/1.1
    Authorization: Bearer lc-sess-7c11e2b9
    {
      "responseCode": 0,
      "resultText": "OK",
      "hierarchyType": "FAMILY",
      "master": "380630000001",
      "maxLineCurator": 1,
      "maxLineMultiaccount": 5,
      "multiaccountLines": {
        "lines": [
          {
            "msisdn": "380630000002",
            "attributes": [{"name": "role", "value": "slave"}]
          },
          {
            "msisdn": "380630000003",
            "attributes": [{"name": "role", "value": "slave"}]
          }
        ]
      }
    }
  • Fetch Diia registration client data

    GET /v1/lifecell/kyc/diia osint

    Copies the Diia-sourced legal identity used to register or re-identify a line: given name, surname, patronymic, taxCode, passportCode/passportType, email, addressUsual and tokenRegistration.

    Auth: Header map on the mobile API: Authorization: Bearer <token> from bootstrap or SSO, plus deviceId / languageId as required. Query token+msisdn is used on XML calls.

    • name
    • surname
    • fathername
    • taxCode
    • passportCode
    • passportType
    • email
    • addressUsual
    • tokenRegistration
    GET /v1/lifecell/kyc/diia HTTP/1.1
    Authorization: Bearer lc-sess-7c11e2b9
    {
      "responseCode": 0,
      "resultText": "OK",
      "name": "Olena",
      "surname": "Kovalenko",
      "fathername": "Ivanivna",
      "taxCode": "1234567890",
      "passportCode": "001234567",
      "passportType": "ID",
      "email": "[email protected]",
      "addressUsual": "Kyiv, Khreshchatyk 1",
      "tokenRegistration": "diia-reg-7c11"
    }
  • Issue eSIM QR and activation link

    POST /v1/lifecell/esim opendata

    Issues the eSIM LPA qrCode and activationLink the phone uses to download the carrier profile after an eSIM order or number activation.

    Auth: Header map with Authorization: Bearer <token>. Content-Type: application/xml;charset=UTF-8. Returns the LPA QR and activationLink for the current or newly ordered profile.

    • qrCode
    • activationLink
    • responseCode
    • resultText
    POST /v1/lifecell/esim HTTP/1.1
    Authorization: Bearer lc-sess-7c11e2b9
    Content-Type: application/xml;charset=UTF-8
    {
      "responseCode": 0,
      "resultText": "OK",
      "qrCode": "LPA:1$smdp.example$matching-id-8f21",
      "activationLink": "/activate?code=matching-id-8f21"
    }
  • Read roaming info groups

    GET /v1/lifecell/roaming opendata

    Returns RLAH roaming groups for the signed-in line: title/code, actionCode/actionName/actionValue, priority and per-segment allowances.

    Auth: Header map on the mobile API: Authorization: Bearer <token> from bootstrap or SSO, plus deviceId / languageId as required. Query token+msisdn is used on XML calls.

    • uuid
    • roamingInfo
    • title
    • code
    • actionCode
    • actionName
    • actionValue
    • priority
    • segments
    GET /v1/lifecell/roaming HTTP/1.1
    Authorization: Bearer lc-sess-7c11e2b9
    {
      "uuid": "550e8400-e29b-41d4-a716-446655440000",
      "roamingInfo": [
        {
          "title": "EU RLAH",
          "code": "EU",
          "actionCode": "ENABLE",
          "actionName": "Roam like at home",
          "actionValue": "ON",
          "priority": 1,
          "segments": [{"name": "data", "value": "12 GB"}]
        }
      ]
    }

Data categories

  • balances
  • tariffs
  • credit-limit
  • charges
  • top-up
  • autopay
  • profile
  • multi-account
  • ekyc
  • esim
  • roaming
  • auth-sessions

Where teams use this data

  • Prepaid wallet and credit-limit recon

    Finance bots pull balanceDetails amount/measure per code alongside creditLimit, availableCL and currentMainBalance so a lending or wallet stack can see remaining airtime versus the open credit line before a top-up.

  • Family-plan billing

    A household or SME admin maps master plus slave msisdn rows from the multi-account hierarchy to charge-group accountTotal / parentGroupDesc so shared-plan invoices can be split per line.

  • Diia eKYC back-office

    Onboarding desks consume taxCode, passportCode, surname and addressUsual from the Diia client payload to pre-fill SIM-registration forms instead of re-keying government ID.

  • Roaming cost control

    Travel dashboards read RLAH roamingInfo actionCode, title and segment allowances next to the home tariffPriceFull so a company can warn staff before they leave the EU roam-like-at-home zone.

Frequently asked questions

Which identifiers does a My lifecell session bind to a line?

SSO returns token, subId, msisdn, uniqId and the isOMO flag; later calls also send deviceId and UUID. The summary record repeats msisdn next to accessGroupCode and contract.activationDate.

How is remaining airtime represented versus a credit limit?

Home tiles read balanceDetails amount/measure per code (including Counter_Free_MonthlyFee). The credit product is a separate JSON object with creditLimit, availableCL, currentMainBalance, feeCL and dateEndCL.

What identity fields come from Diia?

The registration client payload copies name, surname, fathername, taxCode, passportCode, passportType, email, addressUsual and tokenRegistration for SIM registration and re-identification.

How are extra family numbers modelled?

The multi-account hierarchy names a master MSISDN, hierarchyType, caps maxLineCurator and maxLineMultiaccount, and lists slave lines each with msisdn and attributes.

Apps similar to My lifecell

  • My Kyivstar — My Kyivstar is Kyivstar's official self-care app for managing a Ukrainian mobile number and account, including in-app top-up and bill details, from the operator that Wikipedia lists alongside Vodafone Ukraine as lifecell's main rival.
  • My Vodafone UA — My Vodafone UA is Vodafone Ukraine's self-care app for checking balance, topping up, and managing tariffs, calls, internet, eSIM and bonuses on the country's second-largest mobile network.
  • Azercell — Azercell is the Azerbaijani mobile operator's self-care app for taking full control of a subscriber number from any location.
  • Asiacell — Asiacell is the Iraqi operator's self-care app for managing Asiacell, YOOZ and Elite lines from anywhere.
  • hambi (Beeline Uzbekistan) — hambi is Beeline Uzbekistan's super-app that groups the operator's subscriber services in one client.
  • Turkcell — Turkcell is the Turkish operator's app for subscriber transactions and technology shopping; Turkcell previously held a stake in Ukraine's lifecell.
  • Mi Movistar Chile — Mi Movistar Chile is Telefónica Chile's carrier self-care app for benefits, exclusive offers and subscriber support.

Topics

  • my lifecell api
  • lifecell balanceDetails
  • lifecell creditLimit
  • lifecell msisdn
  • ukraine telecom data
  • diia taxCode
  • esim qrCode
  • lifecell autopay cardMask

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.

  • NDA + SOW on every engagement
  • Delivery in 3–7 days
  • Payment only after acceptance
  • Work scoped to authorized use

Get a quote