> ## 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.

# updateWebhookEndpoint

> Update a webhook endpoint. Returns null if no endpoint with that id is owned by the caller.

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

## Arguments

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

<ResponseField name="input" type={<a href="/docs/api-reference/v3/reference/webhooks/update-webhook-endpoint-input">UpdateWebhookEndpointInput!</a>} required>
  The fields to change on the endpoint.

  <Expandable title="fields" lazyRender>
    <ResponseField name="description" type="String">
      A new merchant-supplied label for the endpoint.
    </ResponseField>

    <ResponseField name="disabled" type="Boolean">
      Set true to disable the endpoint, false to re-enable it.
    </ResponseField>

    <ResponseField name="topics" type={<a href="/docs/api-reference/v3/reference/webhooks/webhook-topic">[WebhookTopic!]</a>}>
      Replaces the endpoint's subscribed topics with this set.
    </ResponseField>

    <ResponseField name="url" type="String">
      A new destination URL for deliveries.
    </ResponseField>
  </Expandable>
</ResponseField>

## Returns

<ResponseField name="updateWebhookEndpoint" type={<a href="/docs/api-reference/v3/reference/webhooks/webhook-endpoint">WebhookEndpoint</a>}>
  A destination the merchant has registered to receive webhook deliveries.
  `disabledAt` is null while active.

  <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>

## Example

```graphql theme={null}
mutation {
  updateWebhookEndpoint(id: "...", input: { ... }) {
    apiVersion
    createdAt
    description
    disabledAt
    disabledReason
    id
    pendingSecretCreatedAt
    secretSetAt
    # ...
  }
}
```
