Zoom Workplace icon

Zoom Workplace data API: billing, profile, meetings

zoom.com · Communication

Zoom Workplace is the Android app from Zoom Video Communications, the San Jose company Eric Yuan founded in 2011, and since its 2024 rebrand it bundles meetings, Team Chat, Zoom Phone, Whiteboard, Notes and Docs into one workspace with the AI Companion assistant built in. On the phone, users start or join meetings by meeting number or personal meeting ID, schedule calls from the upcoming-meetings list, host webinars and meetings with waiting rooms and cloud recording, message colleagues in Team Chat, see whether a contact is online on desktop or mobile and dial their Zoom Phone line, and can enroll their face and voice for smart recognition so Zoom Rooms can identify them in shared conference rooms. The free Basic tier caps meetings at 40 minutes, and the app sells the Workplace Pro upgrade (monthly, or yearly as Pro Plus) through Google Play in-app billing, with a plan-management screen for renewals. Its listing targets the US, where Zoom competes with Microsoft Teams, Google Meet and Cisco Webex for business video meetings and with Slack and Google Chat for team messaging; its users range from remote and hybrid office teams and IT-managed company accounts with a shared org directory to schools and individuals hosting their own calls.

Upcoming-meeting records carry the scheduling core: topic, meetingNumber, startTime, duration and timeZoneId, the joinMeetingUrl plus its invite variant joinMeetingUrlForInvite, the host (meetingHostID, meetingHostName), a meetingStatus, and policy flags such as isWebinar, isEnableWaitingRoom, isEnableAutoRecordingCloud and canJoinBeforeHost. Directory cards add the people side — screenName, email, phoneNumber and the Zoom Phone sipPhoneNumber, live presence split into isDesktopOnLine and isMobileOnLine, plus isBuddy, isZoomRoom and contactType — while the account profile contributes pmn (the personal meeting number), country_code and the reporting line in manager_name / manager_jid.

The billing side records the Workplace Pro subscription: the store planList with productId, price, currency, billingCycle and freetrialDays, and the purchased plan's subscriptionStatus, renewDate, expireDate, originalPurchaseDate and freeTrialStatus. Smart-recognition enrollment returns the action taken (enroll or update) and a userMeetIdealConditions flag on whether the face/voice capture met the required conditions.

Calendar and CRM assistants pull topic, start time, join URL and host to pre-populate invites, prep notes and join reminders; billing stacks mirror the plan list, renewal dates and subscription status so seat counts and renewals reconcile with procurement; internal tools hydrate contact cards with desktop/mobile presence, SIP phone and buddy status for smarter call routing, and use the manager fields to fill in org charts. openData Studio turns these meeting, directory and subscription records into callable open data for those integrations.

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

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

  • 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
    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": []
    }
  • 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
    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
      }
    }
  • 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
    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
      }
    }
  • 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
    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"
    }
  • 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
    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>"
    }
  • 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
    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]
    }

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

Apps similar to Zoom Workplace

  • Microsoft Teams — Combines video meetings, persistent team chat, and file collaboration in one app, with a free plan covering meetings of up to 100 participants for 60 minutes.
  • Google Meet — Runs video meetings entirely in the browser with no downloads required, free for one-hour meetings of up to 100 participants and tied into Google Workspace.
  • Cisco Webex — Enterprise video conferencing app offering free and paid plans, meetings for up to 1,000 participants, and engagement tools such as polls and whiteboarding.
  • Slack — Channel-based team messaging platform for asynchronous collaboration that also includes huddles for quick audio and video calls.
  • Google Chat — Google Workspace's team messaging app with direct messages and spaces, integrating natively with Google Meet for starting video calls.
  • Discord — Communication app organized around servers that combines text channels with always-on voice channels and free video calls.
  • Jitsi Meet — Free, open-source video conferencing tool that requires no account, imposes no meeting time limit, and offers a self-hosting option.

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.

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

Get a quote