# GoTo Webinar > GoTo Webinar is the webinar and virtual-event platform from GoTo (formerly LogMeIn, and Citrix Online before that). The GoTo Webinar v2 REST API is an organizer-scoped API over api.getgo.com/G2W/rest/v2 covering webinars, sessions, registrants, attendees, panelists, co-organizers, polls, surveys, Q&A, recording assets and webhooks. Authentication is OAuth 2.0 (authorization code + PKCE) against GoTo's identity service, with the product scope `collab:`. API access carries no additional charge — it is bundled with any paid GoTo Webinar plan. Generated by API Evangelist from GoTo's own published OpenAPI 3.0.0 (53 operations, 39 paths, 87 schemas) and Developer Center documentation. Nothing here is inferred beyond what GoTo publishes. ## Getting started - [GoTo Developer Center](https://developer.goto.com): Portal for every GoTo product API. - [GoTo Webinar v2 API reference](https://developer.goto.com/GoToWebinarV2): The full operation reference, with a downloadable OpenAPI and Postman collection. - [How do I get started?](https://developer.goto.com/guides/Get%20Started/00_Ref-Get-Started): The five-step onboarding path. - [Create a developer account](https://developer.goto.com/guides/Get%20Started/01_HOW_developerAccount) - [Create an OAuth client](https://developer.goto.com/guides/Get%20Started/02_HOW_createClient) - [Obtain an access token](https://developer.goto.com/guides/Authentication/03_HOW_accessToken): Authorization-code flow. - [Obtain a token with a Personal Access Token](https://developer.goto.com/guides/Authentication/03.1_HOW_accessTokenPAT) - [Obtain and use refresh tokens](https://developer.goto.com/guides/Authentication/05_HOW_refreshToken) ## APIs - [GoTo Webinar REST API v2](https://developer.goto.com/GoToWebinarV2): Base `https://api.getgo.com/G2W/rest/v2`. 53 operations across eight tags. - Webinars: schedule, read, update, cancel, copy; in-session listing; start URLs; audio settings; meeting times; recording assets; per-webinar attendees and performance. - Sessions: list an organizer's sessions, list a webinar's sessions, read one session, per-session performance, polls, questions, surveys. - Registrants: create, list, read, delete; read the registration form fields and custom questions. - Attendees: list and read session attendees; read an attendee's poll answers, questions and survey answers. - Panelists: list, invite, remove, resend invitation. - Co-organizers: list, add, remove, resend invitation (internal by organizerKey, external by email). - RecordingAssets: search per organizer, search per account (admin), list a webinar's assets. - Webhooks: create/read/update/delete webhooks and per-user subscriptions; create the delivery secret key. ## Specs and artifacts - [OpenAPI 3.0.0 (verbatim, as published by GoTo)](openapi/_original/goto-webinar-openapi.yml) - [Per-resource OpenAPIs](openapi/): one document per tag — webinars, sessions, registrants, attendees, panelists, co-organizers, recordingassets, webhooks. - [Authentication profile](authentication/goto-webinar-authentication.yml) - [OAuth scopes](scopes/goto-webinar-scopes.yml) - [Well-known discovery probe](well-known/goto-webinar-well-known.yml): RFC 8414 authorization-server metadata is the one document GoTo serves. - [API conventions](conventions/goto-webinar-conventions.yml): pagination, error envelope, versioning, tracing. - [Error catalog](errors/goto-webinar-problem-types.yml) - [Data model](data-model/goto-webinar-data-model.yml): 12 entities, key conventions, relationships. - [Webhook event catalog](asyncapi/goto-webinar-webhooks.yml): the five published events. - [Rate limits](rate-limits/goto-webinar-rate-limits.yml) - [Plans and pricing](plans/goto-webinar-plans-pricing.yml) - [Lifecycle and versioning](lifecycle/goto-webinar-lifecycle.yml) - [Changelog](changelog/goto-webinar-changelog.yml) - [Packages and SDKs](packages/goto-webinar-packages.yml) - [Conformance](conformance/goto-webinar-conformance.yml) - [Agent skills](skills/_index.yml) - [MCP candidate tool surface](mcp/goto-webinar-mcp.yml): derived — GoTo ships no MCP server. ## SDKs - [SDK introduction](https://developer.goto.com/guides/SDKs/01_Introduction): GoTo ships first-party SDKs for Java and .NET only. - [Java SDK](https://developer.goto.com/guides/SDKs/02_Java-SDK): Maven `com.logmein:gotowebinar-api` 2.9.0 (2022-05-27) plus `com.logmein:goto-core-lib` 3.0.0 (2023-07-20). - [.NET SDK](https://developer.goto.com/guides/SDKs/03_NET-SDK): NuGet `LogMeIn.GoToWebinar.NET` 2.9.0 (2022-06-01) plus `LogMeIn.GoToCoreLib.NET` 2.2.0, which GoTo marks deprecated. - There is no first-party JavaScript, Python, Ruby, PHP, Go or Rust client. Every package on npm/PyPI carrying the GoToWebinar name is third-party. ## Webhooks - [Webhooks overview](https://developer.goto.com/guides/GoToWebinar/07_HOW_WebHooksOverview/): the five events and their full field tables. - [How to use webhooks](https://developer.goto.com/guides/GoToWebinar/08_HOW_webhooks/): the setup sequence. - Events: `registrant.added`, `registrant.joined`, `webinar.created`, `webinar.changed`, `survey.submitted`. - Webhooks are created INACTIVE. Both `webhookState` and `userSubscriptionState` must be ACTIVE before anything is delivered. - Webhooks are available for GoTo Webinar only, not for other GoTo products. ## Tools and testing - [Use the Postman collections](https://developer.goto.com/guides/References/06_HOW_postman): GoTo publishes a Postman collection per API, downloadable from the top-right of each API reference page. Redirect URI `https://oauth.pstmn.io/v1/callback`. - [Rate limiting](https://developer.goto.com/guides/References/Ref-Rate-Limits/): 10 requests per second per API; 429 on exhaustion; custom limits by request to developer-support@goto.com. - [What the APIs cost](https://developer.goto.com/guides/References/Ref-API-Cost/): nothing beyond a product subscription. - [Get support](https://developer.goto.com/guides/References/Ref-Get-Support/) — developer-support@goto.com. ## Operations - [Changelog](https://developer.goto.com/changelog): one dated feed for all GoTo APIs, tagged by product. - [Status page](https://status.goto.com/) (also served at https://status.developer.goto.com/). - [Trust Center](https://trust.goto.com/) and [security measures](https://www.goto.com/company/trust/security-measures): SOC 2 Type II, SOC 3, C5. Security contact security@goto.com. - [Compliance documents](https://www.goto.com/company/trust/compliance): per-product TOMs, sub-processor disclosures, EU Data Act. ## Commercial - [Plans and pricing](https://www.goto.com/pricing/webinar): Reach $62/mo (500 participants), Elevate $103/mo (1,000), Complete (3,000, contact sales) — per organizer, billed annually. - [Developer API Terms of Use](https://www.goto.com/company/legal/api-terms) - [Terms and conditions](https://www.goto.com/company/legal/terms-and-conditions) - [Privacy](https://www.goto.com/company/legal/privacy) ## Known gaps an agent should plan around - No idempotency key on any write operation. `createRegistrant` returns 409 for a duplicate email, which is a uniqueness constraint, not a replay-safe retry. - No rate-limit response headers. The 429 status is the whole signal, and 429 is not even declared in the OpenAPI. - Authentication failures return 403, not 401 — key token-refresh logic on 403. - No error body schema anywhere. 4xx responses carry a description string only; there is no problem+json. - Two incompatible pagination envelopes: `_embedded`/`_links`/`page` on the reporting collections, `data`/`total`/`limit`/`pageSize` on registrants. - `fromTime` and `toTime` are REQUIRED on the date-ranged collection operations, must be ISO 8601 UTC, and reserved characters must be percent-encoded. - `userKey` and `organizerKey` are the same value under two names. - No AsyncAPI or JSON Schema for webhook payloads, and the secret-key signature scheme is undocumented. - No MCP server, no A2A agent card, no security.txt, no llms.txt published by GoTo.