Zoom Workplace icon

Zoom Workplace data API: billing, profile, meetings

zoom.com · Identity

Zoom Workplace (package us.zoom.videomeetings, version 7.1.8.42948) exposes a signed-in, first-party data API to its hybrid web views. In-app Workplace Pro billing loads an upgrade view at /v1/commerce/upgrade and a plan-manage view at /v1/commerce/subscription with a zak header; smart-recognition enrollment uses /v1/profile/recognition; the profile tab opens /v1/account/settings.

The response model keeps descriptive field names: billing (obfuscatedAccountId, purchaseToken, categoryCode), profile (email, peer_jid, pmn), meetings (joinMeetingUrl, meetingNumber) and contacts (jids, screenName). The paths on this page are an illustrative, generalized map of that surface.

Zoom Workplace (package us.zoom.videomeetings, versionName 7.1.8.42948) is Zoom's Android client for meetings, Team Chat, Phone, docs and in-app Workplace Pro billing. Its data API is a set of signed-in first-party HTTPS surfaces: an in-app purchase view and a plan-management view for Workplace Pro subscriptions, a smart-recognition enrollment page, the account profile settings page, and meeting/contact lookups. Hybrid web views authenticate with a zak (Zoom Access Key) header plus clientVersion, deviceOs, deviceType and globalLang, and the wire model keeps names such as obfuscatedAccountId, purchaseToken, joinMeetingUrl, peer_jid and email. The endpoints shown here are an illustrative, generalized map of that surface.

Screenshots

  • Zoom Workplace screenshot 1
  • Zoom Workplace screenshot 2
  • Zoom Workplace screenshot 3
  • Zoom Workplace screenshot 4
  • Zoom Workplace screenshot 5
  • Zoom Workplace screenshot 6
  • Zoom Workplace screenshot 7
  • Zoom Workplace screenshot 8

API surface

  • Load in-app billing purchase H5

    GET /v1/commerce/upgrade openfinance

    Opens the in-app Workplace Pro purchase webview and hydrates the store SKUs (available plans, access key, obfuscated account id).

    Auth: zak request header (Zoom Access Key from the app's access-key service); also clientVersion, deviceOs=android, deviceType=phone|tablet, globalLang, timezone.

    • isInAppBillingAvailable
    • isInAppSubscriptionPurchased
    • obfuscatedAccountId
    • zak
    • countryCode
    • purchaseH5URL
    • planManageURL
    • isIapToWebAvailable
    • hasUserTriedGoogleFreeTrial
    • shouldCheckBannerEligibility
    • subscriptionId
    • subscriptionName
    • categoryCode
    • billingCycle
    • itm_content
    • itm_source
    • itm_platform
    • itm_medium
    • itm_from
    • itm_target_product

    Illustrative example reconstructed from the app's interface — not a live capture.

    GET /v1/commerce/upgrade?itm_content=freeupgrade&itm_source=banner&itm_platform=mobile_app&itm_medium=ecomm&itm_from=home&itm_target_product=zoom_workplace_pro HTTP/1.1
    zak: <zoom-access-key>
    clientVersion: 7.1.8.42948
    deviceOs: android
    deviceType: phone
    globalLang: en-US
    timezone: America/Los_Angeles
    {
      "isInAppBillingAvailable": true,
      "isInAppSubscriptionPurchased": false,
      "obfuscatedAccountId": "zoom-obf-acct-01",
      "zak": "<zoom-access-key>",
      "countryCode": "US",
      "purchaseH5URL": "/v1/commerce/upgrade",
      "planManageURL": "/v1/commerce/subscription",
      "isIapToWebAvailable": true,
      "hasUserTriedGoogleFreeTrial": false,
      "shouldCheckBannerEligibility": true,
      "availableSubscription": [
        {
          "subscriptionId": "zoom_workplace_pro_monthly",
          "subscriptionName": "Workplace Pro",
          "categoryCode": "PRO",
          "billingCycle": 1
        }
      ],
      "purchasedAccountSubscription": []
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • Reconstructed from the app's in-app upgrade purchase flow.
    • Mirrors the subscription plan model exposed to the purchase webview.
  • Load in-app plan manage H5

    GET /v1/commerce/subscription openfinance

    Serves the already-subscribed plan-manage webview and the plan-info payload (current subscription, store plan list, purchase token).

    Auth: zak request header (Zoom Access Key); clientVersion / deviceOs / deviceType hybrid headers.

    • currency
    • zak
    • isIapToWebAvailable
    • categoryCode
    • productId
    • renewDate
    • subscriptionStatus
    • planList
    • price
    • billingCycle
    • freetrialDays
    • subscriptionId
    • subscriptionName
    • purchaseToken
    • expireDate
    • freeTrialStatus
    • originalPurchaseDate

    Illustrative example reconstructed from the app's interface — not a live capture.

    GET /v1/commerce/subscription HTTP/1.1
    zak: <zoom-access-key>
    clientVersion: 7.1.8.42948
    deviceOs: android
    deviceType: phone
    {
      "currency": "USD",
      "zak": "<zoom-access-key>",
      "isIapToWebAvailable": true,
      "subscription": {
        "categoryCode": "PRO",
        "productId": "zoom_workplace_pro_monthly",
        "renewDate": "Oct 1, 2026",
        "subscriptionStatus": 0
      },
      "planList": [
        {
          "categoryCode": "PRO",
          "productId": "zoom_workplace_pro_monthly",
          "price": 14.99,
          "billingCycle": 1,
          "freetrialDays": 0
        },
        {
          "categoryCode": "ZONEPROPZVU",
          "productId": "zoom_workplace_pro_plus_yearly",
          "price": 149.9,
          "billingCycle": 12,
          "freetrialDays": 14
        }
      ],
      "purchasedAccountSubscription": {
        "subscriptionId": "zoom_workplace_pro_monthly",
        "subscriptionName": "Workplace Pro",
        "categoryCode": "PRO",
        "subscriptionStatus": 0,
        "purchaseToken": "<play-purchase-token>",
        "expireDate": 1790812800000,
        "billingCycle": 1,
        "freeTrialStatus": 0,
        "originalPurchaseDate": 1759276800000
      }
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • Reconstructed from the app's subscription management screen.
    • Mirrors the plan-info payload handed to the plan webview.
  • Smart recognition enrollment page

    GET /v1/profile/recognition osint

    Loads the settings webview that enrolls or updates the user's smart video/voice recognition profile (action=enroll|update); the in-page bridge returns action_completed or to_upload_profile_picture.

    Auth: zak cookie and header (Zoom Access Key); language cookie; hybrid headers clientVersion, deviceOs, deviceType, globalLang, timezone.

    • from
    • action
    • functionName
    • params
    • userMeetIdealConditions

    Illustrative example reconstructed from the app's interface — not a live capture.

    GET /v1/profile/recognition?from=mobile&action=enroll HTTP/1.1
    zak: <zoom-access-key>
    clientVersion: 7.1.8.42948
    deviceOs: android
    deviceType: phone
    globalLang: en-US
    Cookie: zak=<zoom-access-key>; _zm_lang=en-US
    {
      "functionName": "action_completed",
      "params": {
        "action": "enroll",
        "userMeetIdealConditions": true
      }
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • Reconstructed from the app's smart-recognition enrollment screen.
  • Account profile settings

    GET /v1/account/settings osint

    Opens the signed-in account profile/settings page (name, email, phone, personal meeting number, manager).

    Auth: Signed-in web session / zak (Zoom Access Key) on the first-party web host.

    • req_id
    • result
    • peer_jid
    • name
    • email
    • phone
    • country_code
    • purl
    • pmn
    • manager_jid
    • manager_name

    Illustrative example reconstructed from the app's interface — not a live capture.

    GET /v1/account/settings HTTP/1.1
    zak: <zoom-access-key>
    {
      "req_id": "req-profile-01",
      "result": 0,
      "peer_jid": "[email protected]",
      "name": "Alex Rivera",
      "email": "[email protected]",
      "phone": "+15555550100",
      "country_code": "US",
      "purl": "/u/abCDeF",
      "pmn": 12345678901,
      "manager_jid": "[email protected]",
      "manager_name": "Sam Lee"
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • Reconstructed from the app's account profile tab.
  • List upcoming meetings

    GET /v1/meetings/{meetingNumber} opendata

    Join URL and scheduled-meeting record for the user's upcoming meetings; powers the meetings list and the scheduler.

    Auth: Signed-in meeting session; meeting join uses a meetingToken / join URL from the meeting record.

    • id
    • topic
    • meetingNumber
    • password
    • startTime
    • duration
    • timeZoneId
    • joinMeetingUrl
    • joinMeetingUrlForInvite
    • meetingHostID
    • meetingHostName
    • meetingStatus
    • isWebinar
    • isEnableWaitingRoom
    • isEnableAutoRecordingCloud
    • canJoinBeforeHost
    • meetingToken

    Illustrative example reconstructed from the app's interface — not a live capture.

    GET /v1/meetings/12345678901 HTTP/1.1
    {
      "id": "mtg-8f3c1d2e",
      "topic": "Weekly standup",
      "meetingNumber": 12345678901,
      "password": "a1b2c3",
      "startTime": 1759276800000,
      "duration": 40,
      "timeZoneId": "America/Los_Angeles",
      "joinMeetingUrl": "/v1/meetings/12345678901",
      "joinMeetingUrlForInvite": "/v1/meetings/12345678901?pwd=a1b2c3",
      "meetingHostID": "host-uuid-01",
      "meetingHostName": "Alex Rivera",
      "meetingStatus": 0,
      "isWebinar": false,
      "isEnableWaitingRoom": true,
      "isEnableAutoRecordingCloud": false,
      "canJoinBeforeHost": false,
      "meetingToken": "<join-token>"
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • Reconstructed from the app's upcoming-meetings list and scheduler.
  • Directory buddy / contact card

    GET /v1/directory/contacts/{jid} osint

    Hydrates a Team Chat / contacts-tab person (chat address, screen name, email, phone numbers, desktop/mobile presence).

    Auth: Signed-in chat/session; the contact route is treated as private.

    • jids
    • screenName
    • email
    • phoneNumber
    • sipPhoneNumber
    • isBuddy
    • isDesktopOnLine
    • isMobileOnLine
    • isZoomRoom
    • isPZROnLine
    • accountStatus
    • contactType

    Illustrative example reconstructed from the app's interface — not a live capture.

    GET /v1/directory/contacts/[email protected] HTTP/1.1
    zak: <zoom-access-key>
    {
      "jids": ["[email protected]"],
      "screenName": ["Alex Rivera"],
      "email": ["[email protected]"],
      "phoneNumber": ["+15555550100"],
      "sipPhoneNumber": ["+15555550199"],
      "isBuddy": [true],
      "isDesktopOnLine": [true],
      "isMobileOnLine": [false],
      "isZoomRoom": [false],
      "isPZROnLine": [false],
      "accountStatus": [0],
      "contactType": [1]
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • Reconstructed from the app's contacts tab and chat directory.

Data categories

  • subscriptions
  • billing
  • user-profile
  • smart-recognition
  • meetings
  • contacts

Where teams use this data

  • Subscription lifecycle sync

    Billing stacks mirror the plan list, renewal dates and subscription status out of the app's own plan-management surface, so seat counts and renewals reconcile with procurement.

  • Meeting schedule automation

    Calendar and CRM assistants pull upcoming meetings — topic, start time, join URL, host — to pre-populate invites, prep notes and join reminders.

  • Directory presence enrichment

    Internal tools hydrate contact cards with presence (desktop/mobile online), SIP phone and buddy status, powering smarter call routing and org charts.

Frequently asked questions

What data API does the Zoom Workplace Android app use?

Most meeting and contact traffic runs over Zoom's real-time session layer, but the app also opens a set of signed-in first-party HTTPS surfaces: an upgrade view and a plan-manage view for Workplace Pro billing, a smart-recognition enrollment page, and the account profile settings page. The endpoints shown here are an illustrative, generalized map of that surface rather than live captures.

How is the Zoom Workplace API authenticated?

Hybrid web views send a zak (Zoom Access Key) header and cookie, plus clientVersion, deviceOs=android, deviceType=phone|tablet, globalLang and timezone. Subscription purchases additionally go through the Google Play billing flow keyed by an obfuscated account id.

Which subscription fields does in-app billing expose?

The billing model carries obfuscatedAccountId, zak, countryCode, purchase and plan-manage URLs, an availableSubscription list (subscriptionId, categoryCode, billingCycle) and a purchasedAccountSubscription record (purchaseToken, expireDate, subscriptionStatus, freeTrialStatus). The purchase webview then receives a plan-info payload with currency, productId, price and freetrialDays.

Does the app expose meeting and contact records?

Yes. The meetings list fills a scheduled-meeting record (meetingNumber, topic, join URL, meetingHostID, password, waiting-room and auto-recording flags), and contacts hydrate from a directory record (chat address, screenName, email, phone and SIP numbers, desktop/mobile presence).

Topics

  • Zoom Workplace API
  • Zoom in-app billing API
  • zak Zoom Access Key
  • Workplace Pro subscription fields
  • Zoom smart recognition enrollment
  • Zoom meetings join API
  • Zoom contacts presence fields
  • Zoom profile settings 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