> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superglue.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Handle webhook challenge verification

> **Enterprise feature.**

Handle webhook challenge/verification requests from external services.
GET requests are only supported for challenge verification (not tool execution).

Supported challenge patterns:
- **Meta/Facebook/WhatsApp:** `?hub.mode=subscribe&hub.challenge=...` → echoes challenge as plain text
- **Microsoft Graph:** `?validationToken=...` → echoes token as plain text
- **Nylas/generic:** `?challenge=...` → echoes challenge as plain text




## OpenAPI

````yaml /openapi.yaml get /hooks/{toolId}
openapi: 3.0.0
info:
  title: superglue AI API
  version: 1.0.0
  description: API for running superglue AI tools
  contact:
    name: superglue AI Support
    email: stefan@superglue.ai
servers:
  - url: https://api.superglue.ai/v1
    description: Production
security:
  - ApiKeyAuth: []
paths:
  /hooks/{toolId}:
    get:
      tags:
        - Webhooks
      summary: Handle webhook challenge verification
      description: >
        **Enterprise feature.**


        Handle webhook challenge/verification requests from external services.

        GET requests are only supported for challenge verification (not tool
        execution).


        Supported challenge patterns:

        - **Meta/Facebook/WhatsApp:** `?hub.mode=subscribe&hub.challenge=...` →
        echoes challenge as plain text

        - **Microsoft Graph:** `?validationToken=...` → echoes token as plain
        text

        - **Nylas/generic:** `?challenge=...` → echoes challenge as plain text
      operationId: verifyWebhook
      parameters:
        - name: toolId
          in: path
          required: true
          schema:
            type: string
          description: ID of the tool to verify webhook for
          example: handle-stripe-webhook
      responses:
        '200':
          description: Challenge response echoed back to the requesting service
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: object
                properties:
                  challenge:
                    type: string
        '405':
          description: GET requests are only supported for webhook challenge verification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - message
          properties:
            message:
              type: string
              example: Invalid input parameters
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: Static API Key
      description: >
        Static API key authentication using Bearer token scheme.

        Include your API key in the Authorization header: `Authorization: Bearer
        YOUR_API_KEY`


        Alternatively, you can use the `token` query parameter to authenticate.


        API keys can be generated in your superglue dashboard.

````