> ## Documentation Index
> Fetch the complete documentation index at: https://redo-44af351d-docs-v3-graphql-api-reference.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# webhookEndpoints

> List webhook endpoints.

**Required scopes:**
[`webhooks_read`](/docs/api-reference/v3/reference/scopes#scope-webhooks_read)

## Arguments

<ResponseField name="after" type="String">
  Forward pagination cursor — returns items after it. Pass an `edges[].cursor` or
  `pageInfo.endCursor` from a previous page.
</ResponseField>

<ResponseField name="before" type="String">
  Backward pagination cursor — returns items before it. Pass an `edges[].cursor`
  or `pageInfo.startCursor` from a previous page.
</ResponseField>

<ResponseField name="first" type="Int">
  Forward pagination: returns the first N items (max 100, default 25). Use with
  `after`; mutually exclusive with `last`/`before`.
</ResponseField>

<ResponseField name="last" type="Int">
  Backward pagination: returns the last N items (max 100, default 25). Use with
  `before`; mutually exclusive with `first`/`after`.
</ResponseField>

<ResponseField name="orderBy" type={<a href="/docs/api-reference/v3/reference/webhooks/webhook-endpoint-sort-key">WebhookEndpointSortKey</a>}>
  Which key to sort by (defaults to the first key, newest-first). Combine with
  `reverse` to flip direction.
</ResponseField>

<ResponseField name="reverse" type="Boolean">
  Reverses the sort direction selected by `orderBy` (or its default).
</ResponseField>

## Returns

<ResponseField name="webhookEndpoints" type={<a href="/docs/api-reference/v3/pagination">WebhookEndpointConnection!</a>} required>
  A paginated list of WebhookEndpoint items.

  <Expandable title="fields" lazyRender>
    <ResponseField name="edges" type={<a href="/docs/api-reference/v3/pagination">[WebhookEndpointEdge!]!</a>} required>
      The list of edges (each a node plus its pagination `cursor`).

      <Expandable title="fields" lazyRender>
        <ResponseField name="cursor" type="String!" required>
          Opaque cursor for this item; pass to `after`/`before` to page from here.
        </ResponseField>

        <ResponseField name="node" type={<a href="/docs/api-reference/v3/reference/webhooks/webhook-endpoint">WebhookEndpoint!</a>} required>
          The item at this edge.

          <Expandable title="fields" lazyRender>
            <ResponseField name="apiVersion" type={<a href="/docs/api-reference/v3/reference/webhooks/api-version">ApiVersion!</a>} required>
              The API version this endpoint's deliveries are shaped by.
            </ResponseField>

            <ResponseField name="createdAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
              When the record was created.
            </ResponseField>

            <ResponseField name="description" type="String">
              An optional merchant-supplied label for the endpoint.
            </ResponseField>

            <ResponseField name="disabledAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime</a>}>
              When the endpoint was disabled, or null if active.
            </ResponseField>

            <ResponseField name="disabledReason" type="String">
              Why the endpoint was disabled, or null if active.
            </ResponseField>

            <ResponseField name="id" type="ID!" required>
              The id of this webhook endpoint.
            </ResponseField>

            <ResponseField name="pendingSecretCreatedAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime</a>}>
              When a pending (staged, not-yet-activated) secret was created, if any.
            </ResponseField>

            <ResponseField name="secretSetAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
              When the current signing secret became active.
            </ResponseField>

            <ResponseField name="topics" type={<a href="/docs/api-reference/v3/reference/webhooks/webhook-topic">[WebhookTopic!]!</a>} required>
              Topics this endpoint is subscribed to.
            </ResponseField>

            <ResponseField name="updatedAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
              When the record was last updated.
            </ResponseField>

            <ResponseField name="url" type="String!" required>
              The URL deliveries are POSTed to.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="nodes" type={<a href="/docs/api-reference/v3/reference/webhooks/webhook-endpoint">[WebhookEndpoint!]!</a>} required>
      The nodes in this page, without the edge/cursor wrapper — a convenience over `edges`.

      <Expandable title="fields" lazyRender>
        <ResponseField name="apiVersion" type={<a href="/docs/api-reference/v3/reference/webhooks/api-version">ApiVersion!</a>} required>
          The API version this endpoint's deliveries are shaped by.
        </ResponseField>

        <ResponseField name="createdAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
          When the record was created.
        </ResponseField>

        <ResponseField name="description" type="String">
          An optional merchant-supplied label for the endpoint.
        </ResponseField>

        <ResponseField name="disabledAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime</a>}>
          When the endpoint was disabled, or null if active.
        </ResponseField>

        <ResponseField name="disabledReason" type="String">
          Why the endpoint was disabled, or null if active.
        </ResponseField>

        <ResponseField name="id" type="ID!" required>
          The id of this webhook endpoint.
        </ResponseField>

        <ResponseField name="pendingSecretCreatedAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime</a>}>
          When a pending (staged, not-yet-activated) secret was created, if any.
        </ResponseField>

        <ResponseField name="secretSetAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
          When the current signing secret became active.
        </ResponseField>

        <ResponseField name="topics" type={<a href="/docs/api-reference/v3/reference/webhooks/webhook-topic">[WebhookTopic!]!</a>} required>
          Topics this endpoint is subscribed to.
        </ResponseField>

        <ResponseField name="updatedAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
          When the record was last updated.
        </ResponseField>

        <ResponseField name="url" type="String!" required>
          The URL deliveries are POSTed to.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="pageInfo" type={<a href="/docs/api-reference/v3/pagination">PageInfo!</a>} required>
      Pagination metadata for the current page.

      <Expandable title="fields" lazyRender>
        <ResponseField name="endCursor" type="String">
          Cursor of the last edge in this page; pass to `after` to page forward.
        </ResponseField>

        <ResponseField name="hasNextPage" type="Boolean!" required>
          Whether more items exist after this page (drives forward pagination with `first`/`after`).
        </ResponseField>

        <ResponseField name="hasPreviousPage" type="Boolean!" required>
          Whether more items exist before this page (drives backward pagination with `last`/`before`).
        </ResponseField>

        <ResponseField name="startCursor" type="String">
          Cursor of the first edge in this page; pass to `before` to page backward.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

## Example

```graphql theme={null}
query {
  webhookEndpoints(
    after: "..."
    before: "..."
    first: 10
    last: 10
    orderBy: CREATED_AT
    reverse: true
  ) {
    nodes {
      apiVersion
      createdAt
      description
      disabledAt
      disabledReason
      id
      pendingSecretCreatedAt
      secretSetAt
      # ...
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}
```
