GoTo icon

GoTo data API: meetings, phone, voicemail and fax

GoTo Group, Inc. · Communication

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

  • GoTo screenshot 1
  • GoTo screenshot 2
  • GoTo screenshot 3
  • GoTo screenshot 4
  • GoTo screenshot 5
  • GoTo screenshot 6
  • GoTo screenshot 7
  • GoTo screenshot 8

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/login osint

    Exchanges 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/settings opendata

    Returns 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
    • email
    • 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/sessions opendata

    Lists 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-info opendata

    Returns 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/webinars opendata

    Lists 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/numbers opendata

    Returns 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-numbers opendata

    Lists 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/presence opendata

    Returns 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/voicemail opendata

    Lists 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/greetings opendata

    Returns 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/fax opendata

    Lists 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/calls opendata

    Starts 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-location opendata

    Returns 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-codes opendata

    Returns 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

Get a quote