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

# Update Advanced Webhook Endpoint

Use this API to update an existing webhook delivery endpoint. At least one field besides `endpointId` must be provided.

<Info>
  This endpoint uses **API-key-level auth**: pass `x-velt-api-key` and `x-velt-auth-token` as headers. You can obtain these from the [Get Auth Tokens](/api-reference/rest-apis/v2/workspace/authtokens-get) endpoint.
</Info>

<Note>
  Advanced webhooks must be enabled for the workspace first via [Update Advanced Webhook Config](/api-reference/rest-apis/v2/workspace/advancedwebhookconfig-update) with `{ "isEnabled": true }`. Otherwise this endpoint returns a `FAILED_PRECONDITION` error.
</Note>

<Note>
  **Partial update.** Only the fields you send are changed; omitted fields keep their current values. The response `data` echoes the endpoint's latest post-write state — the same shape returned by [Get Advanced Webhook Endpoints](/api-reference/rest-apis/v2/workspace/advancedwebhook-endpoints-get).
</Note>

# Endpoint

`POST https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update`

# Headers

<ParamField header="x-velt-api-key" type="string" required>
  Your API key.
</ParamField>

<ParamField header="x-velt-auth-token" type="string" required>
  Your [Auth Token](/security/auth-tokens).
</ParamField>

# Body

#### Params

<ParamField body="data" type="object" required>
  <Expandable title="properties">
    <ParamField body="endpointId" type="string" required>
      The ID of the endpoint to update (returned by the create and list endpoints).
    </ParamField>

    <ParamField body="url" type="string">
      The URL that will receive webhook events. Must be a valid `http(s)` URL.
    </ParamField>

    <ParamField body="description" type="string">
      Human-readable description of the endpoint.
    </ParamField>

    <ParamField body="filterTypes" type="string[]">
      Event types this endpoint subscribes to. Must be a non-empty array when provided. See [Webhooks](/webhooks/advanced) for the full list of event types.
    </ParamField>

    <ParamField body="channels" type="string[]">
      Channels this endpoint listens to. Must be a non-empty array when provided.
    </ParamField>

    <ParamField body="disabled" type="boolean">
      Whether the endpoint is disabled. Disabled endpoints do not receive deliveries.
    </ParamField>

    <ParamField body="rateLimit" type="number">
      Maximum deliveries per second for this endpoint. Positive integer.
    </ParamField>

    <ParamField body="metadata" type="object">
      Key-value pairs (string values) attached to the endpoint.
    </ParamField>
  </Expandable>
</ParamField>

# Example Request

```JSON theme={null}
{
  "data": {
    "endpointId": "ep_2vK9mPzGqLxYwBnRtCdHsJfAeUo",
    "description": "Updated endpoint description",
    "disabled": false
  }
}
```

# Example Response

#### Success Response

```JSON theme={null}
{
  "result": {
    "status": "success",
    "message": "Advanced webhook endpoint updated successfully.",
    "data": {
      "id": "ep_2vK9mPzGqLxYwBnRtCdHsJfAeUo",
      "url": "https://example.com/webhooks/velt",
      "description": "Updated endpoint description",
      "filterTypes": ["comment.add", "comment.update"],
      "channels": null,
      "disabled": false,
      "rateLimit": null,
      "uid": null,
      "createdAt": "2026-06-01T10:15:30.000Z",
      "updatedAt": "2026-06-08T14:03:27.000Z"
    }
  }
}
```

#### Failure Response

```JSON theme={null}
{
  "error": {
    "status": "INVALID_ARGUMENT",
    "message": "At least one endpoint field besides endpointId must be provided."
  }
}
```

#### Failure Response (advanced webhooks disabled)

```JSON theme={null}
{
  "error": {
    "status": "FAILED_PRECONDITION",
    "message": "Advanced webhooks are disabled for this workspace. Enable them via POST /v2/workspace/advancedwebhookconfig/update with { \"isEnabled\": true }."
  }
}
```

<ResponseExample>
  ```js theme={null}
  {
    "result": {
      "status": "success",
      "message": "Advanced webhook endpoint updated successfully.",
      "data": {
        "id": "ep_2vK9mPzGqLxYwBnRtCdHsJfAeUo",
        "url": "https://example.com/webhooks/velt",
        "description": "Updated endpoint description",
        "filterTypes": ["comment.add", "comment.update"],
        "channels": null,
        "disabled": false,
        "rateLimit": null,
        "uid": null,
        "createdAt": "2026-06-01T10:15:30.000Z",
        "updatedAt": "2026-06-08T14:03:27.000Z"
      }
    }
  }
  ```
</ResponseExample>
