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

# List gtoken webhooks

List the organization's active gtoken webhook registrations. Signing secrets
are not included.


## OpenAPI

````yaml swagger/swagger-combined.yaml GET /v2/gvaults/webhooks
openapi: 3.0.0
info:
  title: Ground API
  description: Core API for Portfolio Wallets, gtokens, MicroVaults, and webhooks.
  version: 2.0.0
servers:
  - url: https://sandbox.groundtech.co
  - url: https://production.groundtech.co
security:
  - bearerAuth: []
tags:
  - name: System
    description: System health and utility endpoints.
  - name: Sandbox Faucets
    description: Sandbox-only test token faucets.
  - name: Portfolio Wallets
    description: >-
      Portfolio wallets with strategy allocation, deposits, withdrawals, and
      yield positions.
  - name: gVaults
    description: >-
      Direct access to gtokens with deposit access controls and optional fee
      wrappers.
  - name: MicroVaults
    description: >-
      Customer-owned onchain vaults with externally held ERC-20 shares. Private
      preview in sandbox on Ethereum Sepolia.
  - name: Webhook Endpoints
    description: Webhook endpoint management for portfolio wallet notifications.
paths:
  /v2/gvaults/webhooks:
    get:
      tags:
        - gVault Webhooks
      summary: List gtoken webhooks
      operationId: listGVaultWebhooks
      parameters:
        - name: cursor
          in: query
          schema:
            type: string
        - name: limit
          in: query
          schema:
            type: integer
            default: 25
            minimum: 1
            maximum: 100
      responses:
        '200':
          description: Active gtoken webhook registrations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GVaultWebhookList'
              example:
                data:
                  - id: 6b6a0502-9d38-4f94-83fe-06706adbdc51
                    url: https://ops.acme.com/webhooks/ground-gvaults
                    events:
                      - fee_wrapper.status_changed
                    createdAt: '2026-09-03T17:32:08.000Z'
                nextCursor: null
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    GVaultWebhookList:
      type: object
      required:
        - data
        - nextCursor
      additionalProperties: false
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/GVaultWebhookEndpoint'
        nextCursor:
          type: string
          nullable: true
      example:
        data:
          - id: 6b6a0502-9d38-4f94-83fe-06706adbdc51
            url: https://ops.acme.com/webhooks/ground-gvaults
            events:
              - fee_wrapper.status_changed
              - fee_wrapper.fees.status_changed
            createdAt: '2026-09-03T17:32:08.000Z'
        nextCursor: null
    GVaultWebhookEndpoint:
      type: object
      required:
        - id
        - url
        - events
        - createdAt
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/UuidV4'
        url:
          $ref: '#/components/schemas/WebhookCallbackUrl'
        events:
          type: array
          items:
            $ref: '#/components/schemas/GVaultWebhookEventType'
        secret:
          type: string
          description: Returned only when the webhook is created.
        createdAt:
          type: string
          format: date-time
      example:
        id: 6b6a0502-9d38-4f94-83fe-06706adbdc51
        url: https://ops.acme.com/webhooks/ground-gvaults
        events:
          - fee_wrapper.status_changed
          - fee_wrapper.fees.status_changed
        createdAt: '2026-09-03T17:32:08.000Z'
    AuthErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Authentication or authorization error message.
        message:
          type: string
          nullable: true
          description: Additional auth middleware detail, when present.
        code:
          type: string
          nullable: true
          enum:
            - unauthenticated
            - forbidden
          description: >-
            Some auth and scope failures include a stable code; middleware
            errors may omit it.
    UuidV4:
      type: string
      format: uuid
      pattern: >-
        ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89aAbB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$
      example: 8f4c52d7-62ab-4db9-a964-92f481f6b851
    WebhookCallbackUrl:
      type: string
      format: uri
      pattern: ^https://
      description: >-
        Public HTTPS callback URL. Credentials, private or loopback hosts, and
        nonstandard ports are rejected.
      example: https://ops.acme.com/webhooks/ground-gvaults
    GVaultWebhookEventType:
      type: string
      enum:
        - gvault.allowlist.status_changed
        - fee_wrapper.status_changed
        - fee_wrapper.fees.status_changed
        - fee_wrapper.allowlist.status_changed
  responses:
    Unauthorized:
      description: >-
        The request is missing a valid bearer token, or the token is invalid or
        expired.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthErrorResponse'
          example:
            error: Unauthenticated request
            message: Missing or invalid bearer token
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````