Zoom Workplace data API: billing, profile, meetings
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
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/upgradeopenfinanceOpens 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/subscriptionopenfinanceServes 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/recognitionosintLoads 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/settingsosintOpens 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
- 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}opendataJoin 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}osintHydrates 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
- 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.
More Communication apps
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