naftiko: 1.0.0-alpha2 info: label: GoToWebinar Webhooks API — Subscriptions description: GoToWebinar Webhooks API — manage webhook definitions, secret keys, and per-user subscriptions for registrant.added, registrant.joined, webinar.created, and webinar.changed events. tags: - GoToWebinar - Webhooks - Subscriptions created: '2026-05-23' modified: '2026-05-23' binds: - namespace: env keys: GOTO_ACCESS_TOKEN: GOTO_ACCESS_TOKEN capability: consumes: - type: http namespace: gotowebinar-webhooks baseUri: https://api.getgo.com/G2W/rest/v2 auth: type: bearer token: $env.GOTO_ACCESS_TOKEN resources: - name: webhooks path: /webhooks operations: - name: createWebhook method: POST description: Create a webhook (initially INACTIVE). outputRawFormat: json outputParameters: - name: webhookKey type: string value: $.webhookKey inputParameters: - name: body in: body type: object required: true description: Webhook payload (product, eventName, eventVersion, callbackUrl, secretKey). - name: updateWebhooks method: PUT description: Activate or update one or more webhooks. outputRawFormat: json inputParameters: - name: body in: body type: array required: true description: Array of {webhookKey, webhookState} pairs. - name: webhook-secret-key path: /webhooks/secretkey operations: - name: createWebhookSecretKey method: POST description: Create a webhook signing secret for X-Webhook-Signature validation. outputRawFormat: json outputParameters: - name: secretKey type: string value: $.secretKey - name: webhook path: /webhooks/{webhookKey} operations: - name: getWebhook method: GET description: Get a webhook record by key. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: webhookKey in: path type: string required: true - name: user-subscriptions path: /userSubscriptions operations: - name: listUserSubscriptions method: GET description: List user subscriptions. outputRawFormat: json outputParameters: - name: result type: array value: $. - name: createUserSubscription method: POST description: Create a user subscription for a webhook. outputRawFormat: json outputParameters: - name: subscriptionKey type: string value: $.subscriptionKey inputParameters: - name: body in: body type: object required: true - name: user-subscription path: /userSubscriptions/{subscriptionKey} operations: - name: getUserSubscription method: GET description: Get a single user subscription. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: subscriptionKey in: path type: string required: true - name: updateUserSubscription method: PUT description: Update an existing user subscription (e.g. flip ACTIVE/INACTIVE). outputRawFormat: json inputParameters: - name: subscriptionKey in: path type: string required: true - name: body in: body type: object required: true - name: deleteUserSubscription method: DELETE description: Delete a user subscription. outputRawFormat: json inputParameters: - name: subscriptionKey in: path type: string required: true