GoTo data API: meetings, phone, voicemail and fax
GoTo is GoTo Group's official Android client for GoTo Connect, the company's UCaaS suite that folds meetings, a Jive-based cloud phone, voicemail, fax and webinars into one app. Employees sign in with a LogMeIn account, then join or host meetings from in-app meeting links, place PSTN and VoIP calls on assigned phone numbers, check presence, pull voicemail greetings and file faxes from the same home screen. The client also stores emergency-location settings for E911, country dialing catalogs and join-info for breakout-capable sessions. It serves hybrid-work teams at US and global businesses that already buy GoTo Meeting, GoTo Webinar or the former LogMeIn Connect stack, sitting next to Zoom Workplace, Microsoft Teams and Cisco Webex in the same meeting-plus-phone slot.
A signed-in GoTo Connect account maps onto a LogMeIn identity plus a Jive telephony tenant. The OAuth session carries access_token and refresh_token; the profile adds displayName, email, firstName, lastName and organizationId. Meeting rows key on meetingId and sessionId with startTime; webinars add webinarKey and joinUrl; the cloud-phone directory lists phoneNumber and extension; presence, voicemail and fax return jiveId, mailboxId and faxId; E911 stores an emergencyLocation.
Join-info for a live session includes audio and breakout clientCapabilities plus a sessionTrackingId; country catalogs back dialing; outbound calls mint a callId against the assigned number.
Office-ops boards light only available staff, calendar bots hand out live join payloads, telecom admins keep extensions and greetings in sync, and compliance desks archive emergency addresses with outbound faxes — and openData Studio turns that UCaaS ledger into callable open data.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Exchange LogMeIn OAuth token
POST
/v1/oauth/loginosintExchanges a LogMeIn authorize code for the GoTo Connect access_token and refresh_token used as the employee session.
Auth: Unauthenticated OAuth token exchange. Body is the authorize code from the LogMeIn sign-in (openid). Returns access_token and refresh_token.
- grant_type
- code
- client_id
- access_token
- refresh_token
- token_type
- expires_in
- scope
POST /v1/oauth/login HTTP/1.1 Content-Type: application/x-www-form-urlencoded grant_type=authorization_code&code=spl_abc123&client_id=goto-android{ "access_token": "eyJhbGciOiJSUzI1NiJ9.example", "refresh_token": "rt-9c21e4", "token_type": "Bearer", "expires_in": 3600, "scope": "openid" }Read user settings profile
GET
/v1/user/settingsopendataReturns the signed-in employee's GoTo Connect profile: display name, email, organizationId and userId used by later phone and meeting calls.
Auth: Bearer access_token from POST /v1/oauth/login (LogMeIn OAuth authorize + token), sent on later first-party calls.
- displayName
- firstName
- lastName
- organizationId
- userId
GET /v1/user/settings HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "displayName": "Alex Rivera", "firstName": "Alex", "lastName": "Rivera", "email": "[email protected]", "organizationId": "org-4412", "userId": "usr-7781" }List meeting sessions
GET
/v1/meetings/sessionsopendataLists the employee's GoTo Meeting sessions: meetingId, sessionId, start/end times, subject and organizer shown on the meetings home.
Auth: Bearer access_token from POST /v1/oauth/login (LogMeIn OAuth authorize + token), sent on later first-party calls.
- sessions
- meetingId
- sessionId
- startTime
- endTime
- subject
- organizer
GET /v1/meetings/sessions HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "sessions": [ { "meetingId": "314951645", "sessionId": "sess-22ab", "startTime": "2026-10-02T16:00:00Z", "endTime": "2026-10-02T16:30:00Z", "subject": "Weekly standup", "organizer": "[email protected]" } ] }Read live-session join info
GET
/v1/join-infoopendataReturns join-info for a live meeting: audio/features payload, breakout clientCapabilities, sessionTrackingId and joinUrl used by the in-app join flow.
Auth: Bearer access_token from POST /v1/oauth/login (LogMeIn OAuth authorize + token), sent on later first-party calls. Query: includes=audio,features and clientCapabilities=breakouts.
- sessionTrackingId
- joinUrl
- audio
- features
- clientCapabilities
GET /v1/join-info?includes=audio,features&clientCapabilities=breakouts HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "sessionTrackingId": "st-9c21", "joinUrl": "https://meet.example.com/314951645", "audio": {"pstn": true, "voip": true}, "features": {"breakouts": true} }List webinars
GET
/v1/webinarsopendataLists GoTo Webinar events the employee can host or join: webinarKey, joinUrl, startTime and title.
Auth: Bearer access_token from POST /v1/oauth/login (LogMeIn OAuth authorize + token), sent on later first-party calls.
- webinars
- webinarKey
- joinUrl
- startTime
- title
- organizer
GET /v1/webinars HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "webinars": [ { "webinarKey": "847112", "joinUrl": "https://webinar.example.com/join/847112", "startTime": "2026-10-03T18:00:00Z", "title": "Q4 product briefing", "organizer": "[email protected]" } ] }List assigned phone numbers
GET
/v1/phone/numbersopendataReturns Jive cloud-phone numbers assigned to the signed-in employee: E.164 phoneNumber, extension and ownerPhoneNumber used by the dialer.
Auth: Bearer access_token from POST /v1/oauth/login (LogMeIn OAuth authorize + token), sent on later first-party calls.
- phoneNumbers
- phoneNumber
- extension
- ownerPhoneNumber
GET /v1/phone/numbers HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "phoneNumbers": [ { "phoneNumber": "+14155550123", "extension": "1042", "ownerPhoneNumber": "+14155550123" } ] }List organization phone numbers
GET
/v1/phone/org-numbersopendataLists the tenant's organization-level Jive numbers (organizationId, phoneNumberId, phoneNumber, extension) shown in the number-picker.
Auth: Bearer access_token from POST /v1/oauth/login (LogMeIn OAuth authorize + token), sent on later first-party calls.
- organizationId
- phoneNumbers
- phoneNumberId
- phoneNumber
- extension
GET /v1/phone/org-numbers HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "organizationId": "org-4412", "phoneNumbers": [ { "phoneNumberId": "pn-88", "phoneNumber": "+14155550900", "extension": "1000" } ] }Read Jive presence
GET
/v1/presenceopendataReturns the employee's live Jive presence (available / busy / offline) keyed by jiveId, used by the roster and call screen.
Auth: Bearer access_token from POST /v1/oauth/login (LogMeIn OAuth authorize + token), sent on later first-party calls.
- jiveId
- presence
- displayName
GET /v1/presence HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "jiveId": "jive-4412", "presence": "available", "displayName": "Alex Rivera" }List voicemail
GET
/v1/voicemailopendataLists voicemail in the employee's mailbox: mailboxId plus from, startTime and duration for each message.
Auth: Bearer access_token from POST /v1/oauth/login (LogMeIn OAuth authorize + token), sent on later first-party calls.
- mailboxId
- messages
- id
- from
- startTime
- durationSec
GET /v1/voicemail HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "mailboxId": "mbx-12", "messages": [ { "id": "vm-91", "from": "+14155559876", "startTime": "2026-10-02T14:12:00Z", "durationSec": 18 } ] }List voicemail greetings
GET
/v1/voicemail/greetingsopendataReturns voicemail greetings for the employee's mailboxes (greetingId, type) shown on the greeting-editor screen.
Auth: Bearer access_token from POST /v1/oauth/login (LogMeIn OAuth authorize + token), sent on later first-party calls.
- organizationId
- voicemailboxes
- mailboxId
- greetingId
- type
GET /v1/voicemail/greetings HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "organizationId": "org-4412", "voicemailboxes": [ { "mailboxId": "mbx-12", "greetingId": "gr-3", "type": "unavailable" } ] }List faxes
GET
/v1/faxopendataLists sent and received faxes for the Jive fax line: faxId, from/to, pages and delivery status.
Auth: Bearer access_token from POST /v1/oauth/login (LogMeIn OAuth authorize + token), sent on later first-party calls.
- faxes
- faxId
- from
- to
- startTime
- pages
- status
GET /v1/fax HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "faxes": [ { "faxId": "fx-44", "from": "+14155550123", "to": "+12125550199", "startTime": "2026-10-01T19:04:00Z", "pages": 2, "status": "delivered" } ] }Start a cloud-phone call
POST
/v1/callsopendataStarts a Jive web-call from the assigned number and returns callId plus ringing status used by the in-call screen.
Auth: Bearer access_token from POST /v1/oauth/login (LogMeIn OAuth authorize + token), sent on later first-party calls.
- from
- to
- callId
- status
POST /v1/calls HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json { "from": "+14155550123", "to": "+12125550199" }{ "callId": "call-77ab", "from": "+14155550123", "to": "+12125550199", "status": "ringing" }Read emergency-location settings
GET
/v1/settings/emergency-locationopendataReturns the E911 emergencyLocation on file for the employee, shown before a PSTN call can be placed.
Auth: Bearer access_token from POST /v1/oauth/login (LogMeIn OAuth authorize + token), sent on later first-party calls.
- emergencyLocation
- address
- city
- region
- postalCode
- country
GET /v1/settings/emergency-location HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "emergencyLocation": { "address": "500 Howard St", "city": "San Francisco", "region": "CA", "postalCode": "94105", "country": "US" } }List dialing codes
GET
/v1/catalog/dialing-codesopendataReturns the dialing-code catalog (iso, name, dialPrefix) used by the number pad and emergency-address picker.
Auth: Bearer access_token from POST /v1/oauth/login (LogMeIn OAuth authorize + token), sent on later first-party calls.
- countries
- iso
- name
- dialPrefix
GET /v1/catalog/dialing-codes HTTP/1.1 Authorization: Bearer eyJhbGciOi...{ "countries": [ {"iso": "US", "name": "United States", "dialPrefix": "1"}, {"iso": "GB", "name": "United Kingdom", "dialPrefix": "44"} ] }
Data categories
- identity
- meetings
- phone
- presence
- voicemail
- fax
- webinars
- emergency-location
Where teams use this data
Hybrid-work roster and presence board
Office-ops consoles read GET /v1/user/settings (displayName, email, organizationId) and GET /v1/presence so a wallboard only lights staff whose Jive presence is available before a meeting starts.
Meeting and webinar join desk
Calendar bots pull GET /v1/meetings/sessions (meetingId, sessionId, startTime) plus GET /v1/join-info and GET /v1/webinars (webinarKey, joinUrl) so attendees get the live join payload instead of a stale in-app meeting link.
Cloud-phone number and voicemail desk
Telecom admins list GET /v1/phone/numbers and GET /v1/phone/org-numbers, then GET /v1/voicemail and GET /v1/voicemail/greetings so assigned extensions and mailbox greetings stay in sync with the PBX.
E911 location and fax archive
Compliance tooling reads GET /v1/settings/emergency-location before a PSTN call and archives GET /v1/fax (faxId) plus POST /v1/calls (callId) so emergency addresses and outbound faxes match the signed-in account.
Frequently asked questions
How does GoTo authenticate API calls?
POST /v1/oauth/login exchanges a LogMeIn OAuth authorize code for access_token and refresh_token (openid). Later first-party calls send Authorization: Bearer. There is no public developer key for these endpoints.
Which endpoints expose meetings and webinars?
GET /v1/meetings/sessions returns meetingId, sessionId and startTime. GET /v1/join-info returns audio/features join payload with sessionTrackingId. GET /v1/webinars returns webinarKey and joinUrl.
What phone, voicemail and fax data is available?
GET /v1/phone/numbers and GET /v1/phone/org-numbers list assigned phoneNumber and extension. GET /v1/presence returns jiveId presence. GET /v1/voicemail and GET /v1/voicemail/greetings cover mailboxId. GET /v1/fax returns faxId. POST /v1/calls starts a callId.
Does the API include emergency-location settings?
Yes. GET /v1/settings/emergency-location returns the E911 emergencyLocation used before PSTN calls. GET /v1/user/settings returns displayName, email and organizationId. GET /v1/catalog/dialing-codes lists dialing countries.
Apps similar to GoTo
- Zoom Workplace — Zoom Workplace is Zoom's meetings-plus-phone workspace app, the closest US competitor to GoTo Connect's combined meeting and cloud-phone client.
- Microsoft Teams — Microsoft Teams folds chat, meetings and a phone system into one work graph, occupying the same UCaaS slot GoTo Connect sells to hybrid-work companies.
- Cisco Webex — Cisco Webex is Cisco's meetings and calling suite for enterprise hybrid work, another meetings-plus-phone alternative to GoTo.
- RingCentral — RingCentral is a UCaaS phone-first suite with meetings bolted on, competing with GoTo Connect's Jive cloud-phone and meeting stack.
- Slack — Slack is the channel-based work messenger many of the same companies run next to GoTo meetings instead of living in one UCaaS client.
Topics
- goto api
- goto connect api
- goto meeting api
- goto phone api
- jive phone api
- goto voicemail api
- goto webinar api
- logmein goto 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.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use