---
title: "Delete a Goal"
method: DELETE
path: "/v1/web-visits/goals/{id}"
tags: ["Web Visits", "v1"]
---

# Delete a Goal

`DELETE /v1/web-visits/goals/{id}`

## Request

- Base URL: `https://api.leadfeeder.com`
- URL: `https://api.leadfeeder.com/v1/web-visits/goals/{id}`
- Auth: one of:
  - API key in header `X-Api-Key`
  - OAuth 2
    - Authorization code: `https://api.leadfeeder.com/v1/oauth/authorize`
    - Token URL: `https://api.leadfeeder.com/v1/oauth/token` scopes: `web_visits:write`

Delete a goal by its ID. Its custom feed is deleted too, and the goal is removed from the page views it marked. The deletion completes in the background, so the goal can still be returned by the other goal endpoints for a short time; the request does not need retrying.

:::info
Requires the `web_visits:write` OAuth2 scope.
:::

## Path parameters

- `id` string, required

## Query parameters

- `account_id` string, required

## Response `200`

Success

- object
  - `data` unknown, required
  - `meta` object, required
    - `request_id` string, required: A unique identifier assigned to each API request for end-to-end traceability.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized. The request was rejected because the credentials are missing, invalid, expired, or have been revoked. The client must re-authenticate before retrying. Clients can differentiate via the `code` value of the first item in `errors`.
- `403`: Forbidden. The credentials are valid but the caller is not authorized to perform the request — typically because the user lacks the required permission, the OAuth scope is insufficient, the subscription plan does not include the required entitlement, the `account_id` does not belong to the authenticated user, or the target list is read-only and its members cannot be modified. Clients can differentiate via the `code` value of the first item in `errors`.
- `404`: Not found
- `429`: Too many requests. Either the per-second rate limit or the monthly quota configured for the API key / OAuth application has been exceeded. Clients can differentiate via the `code` value of the first item in `errors`.
- `500`: Internal server error
- `504`: Server timeout

## Changes

> 46 revisions in range; 1 not diffed.

- **2026-10-14** `c0f1ebf5f542`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/leadfeeder/apis/leadfeeder-public-api/changes/v1/web-visits/goals/:id/delete.md)

---

[API](https://skmtc.dev/leadfeeder/apis/leadfeeder-public-api.md) - [All operations](https://skmtc.dev/leadfeeder/apis/leadfeeder-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/leadfeeder/apis/leadfeeder-public-api/revisions/686d4e39eb05?raw)
